Bagaimana untuk Memasang Platform eCommerce Sylius pada FreeBSD 12

Sylius adalah platform e-dagang moden untuk PHP, berdasarkan Symfony Framework. Kod sumber Sylius dihoskan di GitHub .

Panduan ini akan memandu anda melalui proses pemasangan Sylius pada instance FreeBSD 12 Vultr yang baru menggunakan PHP, MariaDB sebagai pangkalan data, dan Nginx sebagai pelayan web.

Keperluan

Untuk memasang Sylius, anda memerlukan:

  • Contoh pelayan Vultr dengan memori sekurang-kurangnya 2048 MB.
  • Nginx atau Apache. Dalam panduan ini, kami menggunakan Nginx.
  • PHP versi 7.2 atau lebih dengan beberapa sambungan tertentu PHP: gd, exif, fileinfo,intl
  • Tetapan konfigurasi PHP: memory_limitsama dengan atau lebih besar daripada 1024M,date.timezone
  • MySQL versi 5.7 atau 8.0 atau setaraf MariaDB
  • Komposer
  • Node.js
  • Benang

Sebelum awak bermula

Semak versi FreeBSD.

uname -ro
# FreeBSD 12.0-RELEASE

Pastikan sistem FreeBSD anda terkini.

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

Pasang pakej yang diperlukan.

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

Buat akaun pengguna baru dengan nama pengguna pilihan anda. Kami akan menggunakannya 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 visudoarahan dan unmentasikan %wheel ALL=(ALL) ALLbaris, untuk membolehkan ahli wheelkumpulan melaksanakan sebarang arahan.

visudo

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

Kini, beralih kepada pengguna yang baru anda buat dengan su.

su - johndoe

CATATAN: Ganti johndoedengan nama pengguna anda.

Sediakan zon waktu.

sudo tzsetup

Pasang PHP

Pasang PHP dan sambungan 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

Semak versi.

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

Pautan lembut php.ini-productionke php.ini.

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

Dayakan dan mulakan PHP-FPM.

sudo sysrc php_fpm_enable=yes
sudo service php-fpm start

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

memory_limit = 1024M
date.timezone = Region/City

Mulakan semula PHP-FPM.

sudo service php-fpm restart

Pasang MariaDB dan buat pangkalan data

Pasang MariaDB.

sudo pkg install -y mariadb102-client mariadb102-server

Semak versi.

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

Mulakan dan dayakan MariaDB.

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

Jalankan mysql_secure installationskrip untuk meningkatkan keselamatan dan tetapkan kata laluan untuk rootpengguna.

sudo mysql_secure_installation

Sambungkan ke shell sebagai pengguna root.

sudo mysql -u root -p
# Enter password

Buat pangkalan data kosong dan pengguna untuk Sylius, dan ingat kelayakan.

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

CATATAN: Ganti dbnamedan usernamedengan nama yang sesuai untuk persediaan anda. Gantikan passworddengan kata laluan yang kuat.

Pasang Nginx

Pasang Nginx.

sudo pkg install -y nginx

Semak versi.

nginx -v
# nginx version: nginx/1.16.1

Dayakan dan mulailah Nginx.

sudo sysrc nginx_enable=yes
sudo service nginx start

Konfigurasikan Nginx untuk Sylius. Jalankan sudo vim /usr/local/etc/nginx/sylius.confdan isi fail 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 fail dan keluar dengan :+ W+ Q.

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

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

include sylius.conf;

Uji konfigurasi.

sudo nginx -t

Muat semula Nginx.

sudo service nginx restart

Pasang Komposer

Pasang 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

Semak versi.

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

Pasang Node.js

Pasang Node.js.

sudo pkg install -y node

Semak versi.

node --version
# v12.4.0

Pasang Benang

Pasang pengurus pakej Yarn.

sudo pkg install -y yarn

Semak versi.

yarn --version
# 1.16.0

Pasang Sylius

Buat direktori root dokumen.

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

Tukar pemilikan /usr/local/www/syliusdirektori ke johndoe.

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

Navigasi ke folder root dokumen.

cd /usr/local/www/sylius

Mulakan projek Sylius baru dengan menjalankan arahan ini:

composer create-project sylius/sylius-standard .

Jalankan vim .env.localuntuk memasukkan butiran pangkalan data dan menjalankan Sylius dalam persekitaran pilihan.

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

NOTA: Gantikan username, passworddan dbnamedengan butiran pangkalan data anda.

Setelah semuanya selesai, jalankan perintah berikut untuk memasang Sylius:

php bin/console sylius:install -e prod 

Untuk melihat bahagian depan yang berfungsi sepenuhnya, anda perlu memasang asetnya. Sylius menggunakan Gulp untuk membina aset hadapan menggunakan Yarn sebagai pengurus pakej JavaScript. Setelah Benang dipasang, pergi ke direktori projek anda untuk memasang pergantungan.

yarn install

Kemudian bina aset hadapan dengan menjalankan:

yarn build

Tukar pemilikan /usr/local/www/syliusdirektori ke www.

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

Buat /var/lib/php/session/direktori dan tukar pemilikan kepada www.

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

Mulakan semula perkhidmatan PHP-FPM.

sudo service php-fpm restart

Platform e-dagang Sylius dipasang. Secara lalai, laluan panel pentadbiran ke /admin.



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut