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

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

Това ръководство ще ви преведе през процеса на инсталиране на Sylius на нов екземпляр на CentOS 7 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
  • Прежда

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

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

cat /etc/centos-release # CentOS Linux release 7.6.1810 (Core)

Създайте нов non-rootпотребителски акаунт с sudoдостъп и превключете към него.

useradd -c "John Doe" johndoe && passwd johndoe usermod -aG wheel johndoe su - johndoe

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

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

timedatectl list-timezones sudo timedatectl set-timezone 'Region/City'

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

sudo yum update

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

sudo yum install -y socat git wget unzip vim

Деактивирайте SELinux и защитната стена.

sudo setenforce 0 ; sudo systemctl stop firewalld ; sudo systemctl disable firewalld

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

Настройте Webtatic YUM репо.

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

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

sudo yum install -y php72w-cli php72w-fpm php72w-common php72w-mysqlnd php72w-gd php72w-intl php72w-zip php72w-curl php72w-xml php72w-mbstring php72w-json

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

php --version # PHP 7.2.21 (cli) (built: Aug 4 2019 08:42:27) ( NTS )

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

sudo systemctl start php-fpm.service sudo systemctl enable php-fpm.service

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

memory_limit = 1024M date.timezone = Region/City

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

sudo systemctl restart php-fpm.service

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

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

sudo vi /etc/yum.repos.d/MariaDB.repo # Copy/paste this to the /etc/yum.repos.d/MariaDB.repo file [mariadb] name = MariaDB baseurl = https://yum.mariadb.org/10.2/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 sudo yum install -y MariaDB-server MariaDB-client

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

mysql --version # mysql Ver 15.1 Distrib 10.2.16-MariaDB, for Linux (x86_64) using readline 5.1

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

sudo systemctl start mariadb.service sudo systemctl enable mariadb.service

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

sudo mysql_secure_installation

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

sudo mysql -u root -p # Enter password

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

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

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

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

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

sudo yum install -y nginx

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

nginx -v # nginx version: nginx/1.12.2

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

sudo systemctl start nginx.service sudo systemctl enable nginx.service

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

server { listen 80; server_name example.com; root /var/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.

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

sudo nginx -t

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

sudo systemctl reload nginx.service

Инсталирайте 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 yum install -y gcc-c++ make sudo -s curl -sL https://rpm.nodesource.com/setup_10.x | bash - exit sudo yum install -y nodejs

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

node --version # v10.16.3

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

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

curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo sudo yum install -y yarn

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

yarn --version # 1.17.3

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

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

sudo mkdir -p /var/www/sylius

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

sudo chown -R johndoe:johndoe /var/www/sylius

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

cd /var/www/sylius

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

composer create-project sylius/sylius-standard .

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

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

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

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

php bin/console sylius:install -e prod

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

yarn install

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

yarn build

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

sudo chown -R nginx:nginx /var/www/sylius

Изпълнете sudo vim /etc/php-fpm.d/www.confи задайте потребителя и групата на nginx. Първоначално те ще бъдат настроени на apache.

sudo vi /etc/php-fpm.d/www.conf # user = nginx # group = nginx

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

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

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

sudo systemctl restart php-fpm.service

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


Leave a Comment

Възходът на машините: Реални приложения на 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 машини. Прочетете тази статия, за да научите повече