Cara Memasang Platform Sylius eCommerce di FreeBSD 12

Sylius adalah platform e-commerce modern untuk PHP, berdasarkan pada Symfony Framework. Kode sumber Sylius di-host di GitHub .

Panduan ini akan memandu Anda melalui proses instalasi Sylius pada instance FreeBSD 12 Vultr yang baru menggunakan PHP, MariaDB sebagai database, dan Nginx sebagai server web.

Persyaratan

Untuk dapat menginstal Sylius, Anda perlu:

  • Contoh server Vultr dengan memori setidaknya 2048 MB.
  • Nginx atau Apache. Dalam panduan ini, kami menggunakan Nginx.
  • PHP versi 7.2 atau lebih besar dengan beberapa ekstensi tertentu PHP: gd, exif, fileinfo,intl
  • Pengaturan konfigurasi PHP: memory_limitsama dengan atau lebih besar dari 1024M,date.timezone
  • MySQL versi 5.7 atau 8.0 atau setara MariaDB
  • Komposer
  • Node.js
  • Benang

Sebelum kamu memulai

Periksa versi FreeBSD.

uname -ro
# FreeBSD 12.0-RELEASE

Pastikan sistem FreeBSD Anda mutakhir.

freebsd-update fetch install
pkg update && pkg upgrade -y

Instal paket yang diperlukan.

pkg install -y sudo vim unzip curl wget bash socat git

Buat akun pengguna baru dengan nama pengguna pilihan Anda. Kami akan gunakan johndoe.

adduser

# Username: johndoe
# Full name: John Doe
# Uid (Leave empty for default): <Enter>
# Login group [johndoe]: <Enter>
# Login group is johndoe. Invite johndoe into other groups? []: wheel
# Login class [default]: <Enter>
# Shell (sh csh tcsh nologin) [sh]: bash
# Home directory [/home/johndoe]: <Enter>
# Home directory permissions (Leave empty for default): <Enter>
# Use password-based authentication? [yes]: <Enter>
# Use an empty password? (yes/no) [no]: <Enter>
# Use a random password? (yes/no) [no]: <Enter>
# Enter password: your_secure_password
# Enter password again: your_secure_password
# Lock out the account after creation? [no]: <Enter>
# OK? (yes/no): yes
# Add another user? (yes/no): no
# Goodbye!

Jalankan visudoperintah dan batalkan komentar pada %wheel ALL=(ALL) ALLbaris, untuk memungkinkan anggota wheelgrup untuk mengeksekusi perintah apa pun.

visudo

# Uncomment by removing hash (#) sign
# %wheel ALL=(ALL) ALL

Sekarang, beralihlah ke pengguna yang baru dibuat dengan su.

su - johndoe

CATATAN: Ganti johndoedengan nama pengguna Anda.

Siapkan zona waktu.

sudo tzsetup

Instal PHP

Instal PHP dan ekstensi PHP yang diperlukan.

sudo pkg install -y php73 php73-mbstring php73-tokenizer php73-pdo php73-pdo_mysql php73-openssl php73-hash php73-json php73-phar php73-filter php73-zlib php73-dom php73-xml php73-xmlwriter php73-xmlreader php73-curl php73-session php73-ctype php73-iconv php73-gd php73-simplexml php73-zip php73-filter php73-tokenizer php73-calendar php73-fileinfo php73-intl php73-phar php73-soap php73-xmlrpc php73-opcache php73-mysqli php73-bcmath php73-gmp php73-exif

Periksa versinya.

php --version
# PHP 7.3.8 (cli) (built: Aug  8 2019 01:28:36) ( NTS )

Tautan lunak php.ini-productionke php.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Aktifkan dan mulai PHP-FPM.

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

Jalankan sudo vim /usr/local/etc/php.inidan atur memory_limitke 1024Matau lebih, dan atur date.timezone.

memory_limit = 1024M
date.timezone = Region/City

Mulai ulang PHP-FPM.

sudo service php-fpm restart

Instal MariaDB dan buat database

Instal MariaDB.

sudo pkg install -y mariadb102-client mariadb102-server

Periksa versinya.

mysql --version
# mysql  Ver 15.1 Distrib 10.2.25-MariaDB, for FreeBSD12.0 (amd64) using readline 5.1

Mulai dan aktifkan MariaDB.

sudo sysrc mysql_enable="yes" 
sudo service mysql-server start

Jalankan mysql_secure installationskrip untuk meningkatkan keamanan dan mengatur kata sandi untuk rootpengguna.

sudo mysql_secure_installation

Hubungkan ke shell sebagai pengguna root.

sudo mysql -u root -p
# Enter password

Buat database dan pengguna kosong untuk Sylius, dan ingat kredensial.

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit

CATATAN: Ganti dbnamedan usernamedengan nama yang sesuai untuk pengaturan Anda. Ganti passworddengan kata sandi yang kuat.

Instal Nginx

Instal Nginx.

sudo pkg install -y nginx

Periksa versinya.

nginx -v
# nginx version: nginx/1.16.1

Aktifkan dan mulai Nginx.

sudo sysrc nginx_enable=yes
sudo service nginx start

Konfigurasikan Nginx untuk Sylius. Jalankan sudo vim /usr/local/etc/nginx/sylius.confdan isi file dengan konfigurasi berikut.

server {
  listen 80;
  server_name example.com;
  root /usr/local/www/sylius/public;
  location / {
    try_files $uri /index.php$is_args$args;
  }
  location ~ ^/index\.php(/|$) {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    fastcgi_param DOCUMENT_ROOT $realpath_root;
    internal;
  }
  location ~ \.php$ {
    return 404;
  }
  client_max_body_size 6m;
}

Simpan file dan keluar dengan :+ W+ Q.

Sekarang kita perlu memasukkan sylius.confdalam nginx.conffile utama .

Jalankan sudo vim /usr/local/etc/nginx/nginx.confdan tambahkan baris berikut ke http {}blok.

include sylius.conf;

Uji konfigurasinya.

sudo nginx -t

Muat ulang Nginx.

sudo service nginx restart

Pasang Komposer

Instal Komposer secara global.

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

Periksa versinya.

composer --version
# Composer version 1.9.0 2019-08-02 20:55:32

Instal Node.js

Instal Node.js.

sudo pkg install -y node

Periksa versinya.

node --version
# v12.4.0

Instal Benang

Instal manajer paket Benang.

sudo pkg install -y yarn

Periksa versinya.

yarn --version
# 1.16.0

Pasang Sylius

Buat direktori root dokumen.

sudo mkdir -p /usr/local/www/sylius

Ubah kepemilikan /usr/local/www/syliusdirektori menjadi johndoe.

sudo chown -R johndoe:johndoe /usr/local/www/sylius

Arahkan ke folder root dokumen.

cd /usr/local/www/sylius

Memulai proyek Sylius baru dengan menjalankan perintah ini:

composer create-project sylius/sylius-standard .

Jalankan vim .env.localuntuk memasukkan detail basis data dan menjalankan Sylius di lingkungan pilihan.

APP_ENV=prod
DATABASE_URL=mysql://username:[email protected]/dbname

CATATAN: Ganti username, passworddan dbnamedengan detail basis data Anda.

Setelah semuanya ada, jalankan perintah berikut untuk menginstal Sylius:

php bin/console sylius:install -e prod 

Untuk melihat front-end yang berfungsi penuh, Anda harus memasang asetnya. Sylius menggunakan Gulp untuk membangun aset front-end menggunakan Benang sebagai pengelola paket JavaScript. Setelah Benang terpasang, buka direktori proyek Anda untuk menginstal dependensi.

yarn install

Kemudian bangun aset front-end dengan menjalankan:

yarn build

Ubah kepemilikan /usr/local/www/syliusdirektori menjadi www.

sudo chown -R www:www /usr/local/www/sylius

Buat /var/lib/php/session/direktori dan ubah kepemilikan menjadi www.

sudo mkdir -p /var/lib/php/session && sudo chown -R www:www /var/lib/php/session

Mulai ulang layanan PHP-FPM.

sudo service php-fpm restart

Platform e-commerce Sylius diinstal. Secara default, panel administrasi merutekan ke /admin.



Leave a Comment

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut