Как да инсталирате платформата за електронна търговия Sylius на FreeBSD 12

Sylius е модерна платформа за електронна търговия за PHP, базирана на Symfony Framework. Изходният код на Sylius се хоства на GitHub .

Това ръководство ще ви преведе през процеса на инсталиране на Sylius на нов екземпляр на FreeBSD 12 Vultr, използващ PHP, MariaDB като база данни и Nginx като уеб сървър.

Изисквания

За да можете да инсталирате Sylius, ще ви трябва:

  • Vultr сървърен екземпляр с поне 2048 MB памет.
  • Nginx или Apache. В това ръководство използваме Nginx.
  • PHP версия 7.2 или по-нова с някои специфични PHP разширения: gd, exif, fileinfo,intl
  • Настройки за конфигурация на PHP: memory_limitравни или по-големи от 1024M,date.timezone
  • MySQL версия 5.7 или 8.0 или еквивалент на MariaDB
  • Композитор
  • Node.js
  • Прежда

Преди да започнеш

Проверете версията на FreeBSD.

uname -ro # FreeBSD 12.0-RELEASE

Уверете се, че вашата FreeBSD система е актуална.

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

Инсталирайте необходимите пакети.

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

Създайте нов потребителски акаунт с предпочитаното от вас потребителско име. Ще използваме 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!

Изпълнете visudoкомандата и разкоментирайте %wheel ALL=(ALL) ALLреда, за да позволите на членовете на wheelгрупата да изпълнят всяка команда.

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

Сега превключете към новосъздадения си потребител с su.

su - johndoe

ЗАБЕЛЕЖКА: Заменете johndoeс вашето потребителско име.

Настройте часовата зона.

sudo tzsetup

Инсталирайте PHP

Инсталирайте PHP и необходимите PHP разширения.

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

Проверете версията.

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

Мека връзка php.ini-productionкъм php.ini.

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

Активирайте и стартирайте PHP-FPM.

sudo sysrc php_fpm_enable=yes sudo service php-fpm start

Стартирайте sudo vim /usr/local/etc/php.iniи настройте memory_limitна 1024Mили повече и настройте date.timezone.

memory_limit = 1024M date.timezone = Region/City

Рестартирайте PHP-FPM.

sudo service php-fpm restart

Инсталирайте MariaDB и създайте база данни

Инсталирайте MariaDB.

sudo pkg install -y mariadb102-client mariadb102-server

Проверете версията.

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

Стартирайте и активирайте MariaDB.

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

Изпълнете mysql_secure installationскрипта, за да подобрите сигурността и да зададете паролата за rootпотребителя.

sudo mysql_secure_installation

Свържете се към обвивката като root потребител.

sudo mysql -u root -p # Enter password

Създайте празна база данни и потребител за Sylius и запомнете идентификационните данни.

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

ЗАБЕЛЕЖКА: Заменете dbnameи usernameс подходящи имена за вашата настройка. Заменете passwordсъс силна парола.

Инсталирайте Nginx

Инсталирайте Nginx.

sudo pkg install -y nginx

Проверете версията.

nginx -v # nginx version: nginx/1.16.1

Активирайте и стартирайте Nginx.

sudo sysrc nginx_enable=yes sudo service nginx start

Конфигурирайте Nginx за Sylius. Стартирайте sudo vim /usr/local/etc/nginx/sylius.confи попълнете файла със следната конфигурация.

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; }

Запазете файла и излезте с :+ W+ Q.

Сега трябва да включим sylius.confв основния nginx.confфайл.

Изпълнете sudo vim /usr/local/etc/nginx/nginx.confи добавете следния ред към http {}блока.

include sylius.conf;

Тествайте конфигурацията.

sudo nginx -t

Презаредете Nginx.

sudo service nginx restart

Инсталирайте Composer

Инсталирайте Composer глобално.

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

Проверете версията.

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

Инсталирайте Node.js

Инсталирайте Node.js.

sudo pkg install -y node

Проверете версията.

node --version # v12.4.0

Инсталирайте прежда

Инсталирайте мениджъра на пакети Yarn.

sudo pkg install -y yarn

Проверете версията.

yarn --version # 1.16.0

Инсталирайте Sylius

Създайте основна директория на документа.

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

Променете собствеността върху /usr/local/www/syliusдиректорията на johndoe.

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

Придвижете се до главната папка на документа.

cd /usr/local/www/sylius

Инициирайте нов проект на Sylius, като изпълните тази команда:

composer create-project sylius/sylius-standard .

Изпълнете, за vim .env.localда въведете подробности за базата данни и да стартирате Sylius в среда по избор.

APP_ENV=prod DATABASE_URL=mysql://username:password@127.0.0.1/dbname

ЗАБЕЛЕЖКА: Заменете username, passwordи dbnameс данните на вашата база данни.

След като всичко е на мястото си, изпълнете следната команда, за да инсталирате Sylius:

php bin/console sylius:install -e prod

За да видите напълно функционален преден край, ще трябва да инсталирате неговите активи. Sylius използва Gulp за изграждане на активи от предния край, използвайки Yarn като мениджър на пакети на JavaScript. След като инсталирате Yarn, отидете в директорията на вашия проект, за да инсталирате зависимостите.

yarn install

След това изградете активите на предния край, като изпълните:

yarn build

Променете собствеността върху /usr/local/www/syliusдиректорията на www.

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

Създайте /var/lib/php/session/директория и променете собствеността на www.

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

Рестартирайте услугата PHP-FPM.

sudo service php-fpm restart

Инсталирана е платформата за електронна търговия Sylius. По подразбиране административният панел насочва към /admin.

Оставете коментар

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече