Sylius è una moderna piattaforma di e-commerce per PHP, basata su Symfony Framework. La fonte Sylius è su GitHub .
Questa guida ti guiderà attraverso il processo di installazione di Sylius su una nuova istanza di Ubuntu 18.04 LTS Vultr usando PHP, MySQL come database e Nginx come web server.
Requisiti
Per poter installare Sylius avrai bisogno di:
- Istanza del server Vultr con almeno 2048 MB di memoria.
- Nginx o Apache. In questa guida, utilizziamo Nginx.
- PHP versione 7.2 o superiore con alcune estensioni specifiche PHP:
gd
, exif
, fileinfo
,intl
- Impostazioni di configurazione PHP:
memory_limit
uguale o maggiore di 1024M
,date.timezone
- MySQL versione 5.7 o 8.0
- Compositore
- Node.js
- Filato
Prima di iniziare
Controlla la versione di Ubuntu.
lsb_release -ds
# Ubuntu 18.04.2 LTS
Crea un nuovo non-root
account utente con sudo
accesso e passa ad esso.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
NOTA : sostituisci johndoe
con il tuo nome utente .
Imposta il fuso orario.
sudo dpkg-reconfigure tzdata
Assicurati che il tuo sistema sia aggiornato.
sudo apt update && sudo apt upgrade -y
Installa i pacchetti richiesti.
sudo apt install -y git curl wget unzip socat
Installa PHP
Installa PHP e le estensioni PHP richieste.
sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mysql php7.2-gd php7.2-intl php7.2-zip php7.2-curl php7.2-xml php7.2-mbstring
Controlla la versione
php --version
# PHP 7.2.19-0ubuntu0.18.04.1 (cli) (built: Jun 4 2019 14:48:12) ( NTS )
Esegui sudo vim /etc/php/7.2/fpm/php.ini
e, sudo vim /etc/php/7.2/cli/php.ini
imposta memory_limit
su 1024M
o più e imposta date.timezone
.
memory_limit = 1024M
date.timezone = Region/City
Riavvia PHP-FPM.
sudo systemctl restart php7.2-fpm.service
Installa MySQL e crea un database
Installa MySQL.
sudo apt install -y mysql-server
Controlla la versione
mysql --version && sudo mysqld --version
# mysql Ver 14.14 Distrib 5.7.27, for Linux (x86_64) using EditLine wrapper
# mysqld Ver 5.7.27-0ubuntu0.18.04.1 for Linux on x86_64 ((Ubuntu))
Esegui mysql_secure installation
script per migliorare la sicurezza di MySQL e impostare la password per l' root
utente MySQL .
sudo mysql_secure_installation
Would you like to setup VALIDATE PASSWORD plugin? N
Please set the password for root here.
New password: **********************
Re-enter new password: **********************
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y
Success.
All done!
Connettiti alla shell MySQL come utente root.
sudo mysql -u root -p
# Enter password
Crea un database MySQL e un utente vuoti per Sylius e ricorda le credenziali.
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
exit
NOTA: sostituire dbname
e username
con nomi appropriati per la configurazione. Sostituisci password
con una password complessa.
Installa Nginx
Installa Nginx.
sudo apt install -y nginx
Controlla la versione
sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)
Configura Nginx per Sylius. Esegui sudo vim /etc/nginx/sites-available/sylius.conf
e popola il file con la seguente configurazione.
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 unix:/run/php/php7.2-fpm.sock;
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;
}
Salvare il file e uscire con :+ W+ Q.
Attiva la nuova sylius.conf
configurazione collegando il file alla sites-enabled
directory.
sudo ln -s /etc/nginx/sites-available/sylius.conf /etc/nginx/sites-enabled/
Prova la configurazione.
sudo nginx -t
Ricarica Nginx.
sudo systemctl reload nginx.service
Installa Composer
Installa Composer a livello globale.
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
Controlla la versione
composer --version
# Composer version 1.9.0 2019-08-02 20:55:32
Installa Node.js
Installa Node.js.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs
Controlla la versione
node --version
# v10.16.2
Installa filato
Installa il gestore pacchetti Yarn.
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn
Controlla la versione
yarn --version
# 1.17.3
Installa Sylius
Creare una directory radice del documento.
sudo mkdir -p /var/www/sylius
Cambia la proprietà della /var/www/sylius
directory in johndoe
.
sudo chown -R johndoe:johndoe /var/www/sylius
Passare alla cartella principale del documento.
cd /var/www/sylius
Avvia un nuovo progetto Sylius eseguendo questo comando:
composer create-project sylius/sylius-standard .
Esegui vim .env.local
per inserire i dettagli del database ed eseguire Sylius in un ambiente di scelta.
APP_ENV=prod
DATABASE_URL=mysql://username:[email protected]/dbname
NOTA: Sostituire username
, password
e dbname
con i dati del database.
Dopo che tutto è a posto, esegui il comando seguente per installare Sylius:
php bin/console sylius:install -e prod
Per vedere un frontend completamente funzionale, dovrai installare i suoi asset. Sylius utilizza Gulp per creare risorse di frontend utilizzando Yarn come gestore di pacchetti JavaScript. Dopo aver installato Yarn, vai alla directory del tuo progetto per installare le dipendenze.
yarn install
Quindi creare gli asset front-end eseguendo:
yarn build
Cambia la proprietà della /var/www/sylius
directory in www-data
.
sudo chown -R www-data:www-data /var/www/sylius
La piattaforma di e-commerce Sylius è installata. Per impostazione predefinita, il pannello di amministrazione indirizza a /admin
.