Cum se instalează Sylius eCommerce Platform pe CentOS 7

Sylius este o platformă modernă de e-commerce pentru PHP, bazată pe Symfony Framework. Codul sursă Sylius este găzduit pe GitHub .

Acest ghid vă va parcurge procesul de instalare Sylius pe o nouă instanță CentOS 7 Vultr folosind PHP, MariaDB ca bază de date și Nginx ca server web.

cerinţe

Pentru a putea instala Sylius veți avea nevoie de:

  • Instanță server Vultr cu cel puțin 2048 MB memorie.
  • Nginx sau Apache. În acest ghid, folosim Nginx.
  • PHP versiunea 7.2 sau mai mare , cu unele extensii specifice PHP: gd, exif, fileinfo,intl
  • Setări de configurare PHP: memory_limitegale sau mai mari decât 1024M,date.timezone
  • Versiunea MySQL 5.7 sau 8.0 sau MariaDB echivalent
  • Compozitor
  • Node.js
  • fire

Înainte de a începe

Verificați versiunea CentOS.

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

Creați un non-rootcont de utilizator nou cu sudoacces și treceți la acesta.

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

NOTĂ: Înlocuiți johndoecu numele de utilizator.

Setați fusul orar.

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

Asigurați-vă că sistemul dvs. este actualizat.

sudo yum update

Instalați pachetele necesare.

sudo yum install -y socat git wget unzip vim

Dezactivează SELinux și Firewall.

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

Instalați PHP

Configurați repoziția Webtatic YUM.

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

Instalați PHP și extensiile PHP necesare.

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

Verificați versiunea.

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

Porniți și activați PHP-FPM.

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

Rulați sudo vim /etc/php.iniși setați memory_limitla 1024Msau mai multe și configurați date.timezone.

memory_limit = 1024M
date.timezone = Region/City

Reporniți PHP-FPM.

sudo systemctl restart php-fpm.service

Instalați MariaDB și creați o bază de date

Instalați serverul de baze de date 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

Verificați versiunea.

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

Porniți și activați MariaDB.

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

Rulați mysql_secure installationscriptul pentru a îmbunătăți securitatea MariaDB și setați parola pentru rootutilizator MariaDB .

sudo mysql_secure_installation

Conectați-vă la shell-ul MariaDB ca utilizator root.

sudo mysql -u root -p
# Enter password

Creați o bază de date MariaDB și un utilizator gol pentru Sylius și nu uitați de datele de acreditare.

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

NOTĂ: Înlocuiți dbnameși usernamecu nume adecvate pentru configurarea dvs. Înlocuiți passwordcu o parolă puternică.

Instalați Nginx

Instalați Nginx.

sudo yum install -y nginx

Verificați versiunea.

nginx -v
# nginx version: nginx/1.12.2

Porniți și activați Nginx.

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

Configurați Nginx pentru Sylius. Rulați sudo vim /etc/nginx/conf.d/sylius.confși populați fișierul cu următoarea configurație.

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

Salvați fișierul și ieșiți cu :+ W+ Q.

Testați configurația.

sudo nginx -t

Reîncărcați Nginx.

sudo systemctl reload nginx.service

Instalați Composer

Instalați Composer la nivel 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

Verificați versiunea.

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

Instalați Node.js

Instalează 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

Verificați versiunea.

node --version
# v10.16.3

Instalați fire

Instalați managerul de pachete Yarn.

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

Verificați versiunea.

yarn --version
# 1.17.3

Instalați Sylius

Creați un director rădăcină document.

sudo mkdir -p /var/www/sylius

Schimbați proprietatea /var/www/syliusdirectorului în johndoe.

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

Navigați la folderul rădăcină al documentului.

cd /var/www/sylius

Inițiați un nou proiect Sylius rulând această comandă:

composer create-project sylius/sylius-standard .

Rulați vim .env.localpentru a introduce detaliile bazei de date și pentru a rula Sylius într - un mediu de alegere.

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

NOTĂ: Înlocuiți username, passwordși dbnamecu detaliile bazei de date.

După ce totul este în loc, rulați următoarea comandă pentru a instala Sylius:

php bin/console sylius:install -e prod 

Pentru a vedea un front-end complet funcțional, va trebui să instalați activele sale. Sylius folosește Gulp pentru a construi active front-end folosind Fire ca administrator de pachete JavaScript. După instalarea firelor, accesați directorul de proiect pentru a instala dependențele.

yarn install

Apoi, construiți activele front-end rulând:

yarn build

Schimbați proprietatea /var/www/syliusdirectorului în nginx.

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

Rulați sudo vim /etc/php-fpm.d/www.confși setați utilizatorul și grupul la nginx. Initial, acestea vor fi setate pe apache.

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

Creați /var/lib/php/session/director și schimbați proprietatea la nginx.

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

Reporniți serviciul PHP-FPM.

sudo systemctl restart php-fpm.service

Platforma Sylius e-commerce este instalată. În mod implicit, panoul de administrare rutează spre /admin.



Leave a Comment

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe