Sylius je moderna platforma za e-trgovinu za PHP, bazirana na Symfony Frameworku. Syliusov izvor je na GitHubu .
Ovaj vodič će vas provesti kroz proces instalacije Syliusa na novoj instanci Ubuntu 18.04 LTS Vultr koristeći PHP, MySQL kao bazu podataka i Nginx kao web poslužitelj.
Zahtjevi
Da biste mogli instalirati Sylius, trebat će vam:
- Instanca poslužitelja Vultr s najmanje 2048 MB memorije.
- Nginx ili Apache. U ovom vodiču koristimo Nginx.
- PHP verzija 7.2 ili novija s nekim specifičnim PHP proširenjima:
gd
, exif
, fileinfo
,intl
- PHP konfiguracijske postavke:
memory_limit
jednako ili veće od 1024M
,date.timezone
- MySQL verzija 5.7 ili 8.0
- Skladatelj
- Node.js
- Pređa
Prije nego što počneš
Provjerite verziju Ubuntua.
lsb_release -ds # Ubuntu 18.04.2 LTS
Napravite novi non-root
korisnički račun s sudo
pristupom i prebacite se na njega.
adduser johndoe --gecos "John Doe" usermod -aG sudo johndoe su - johndoe
NAPOMENA : Zamijenite johndoe
svojim korisničkim imenom .
Postavite vremensku zonu.
sudo dpkg-reconfigure tzdata
Provjerite je li vaš sustav ažuriran.
sudo apt update && sudo apt upgrade -y
Instalirajte potrebne pakete.
sudo apt install -y git curl wget unzip socat
Instalirajte PHP
Instalirajte PHP i potrebna PHP proširenja.
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
Provjerite verziju.
php --version # PHP 7.2.19-0ubuntu0.18.04.1 (cli) (built: Jun 4 2019 14:48:12) ( NTS )
Pokrenite sudo vim /etc/php/7.2/fpm/php.ini
i sudo vim /etc/php/7.2/cli/php.ini
i postavite memory_limit
na 1024M
ili više i postavite date.timezone
.
memory_limit = 1024M date.timezone = Region/City
Ponovno pokrenite PHP-FPM.
sudo systemctl restart php7.2-fpm.service
Instalirajte MySQL i kreirajte bazu podataka
Instalirajte MySQL.
sudo apt install -y mysql-server
Provjerite verziju.
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))
Pokrenite mysql_secure installation
skriptu za poboljšanje sigurnosti MySQL-a i postavite lozinku za MySQL root
korisnika.
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!
Povežite se na MySQL ljusku kao root korisnik.
sudo mysql -u root -p # Enter password
Napravite praznu MySQL bazu podataka i korisnika za Sylius i zapamtite vjerodajnice.
CREATE DATABASE dbname; GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; exit
NAPOMENA: Zamijenite dbname
i username
s odgovarajućim nazivima za vaše postavke. Zamijenite password
jakom lozinkom.
Instalirajte Nginx
Instalirajte Nginx.
sudo apt install -y nginx
Provjerite verziju.
sudo nginx -v # nginx version: nginx/1.14.0 (Ubuntu)
Konfigurirajte Nginx za Sylius. Pokrenite sudo vim /etc/nginx/sites-available/sylius.conf
i popunite datoteku sljedećom konfiguracijom.
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; }
Spremite datoteku i izađite s :+ W+ Q.
Aktivirajte novu sylius.conf
konfiguraciju povezivanjem datoteke s sites-enabled
direktorijem.
sudo ln -s /etc/nginx/sites-available/sylius.conf /etc/nginx/sites-enabled/
Testirajte konfiguraciju.
sudo nginx -t
Ponovno učitajte Nginx.
sudo systemctl reload nginx.service
Instalirajte Composer
Instalirajte Composer globalno.
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
Provjerite verziju.
composer --version # Composer version 1.9.0 2019-08-02 20:55:32
Instalirajte Node.js
Instalirajte Node.js.
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - sudo apt install -y nodejs
Provjerite verziju.
node --version # v10.16.2
Instalirajte Yarn
Instalirajte upravitelj paketa 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
Provjerite verziju.
yarn --version # 1.17.3
Instalirajte Sylius
Napravite korijenski direktorij dokumenta.
sudo mkdir -p /var/www/sylius
Promijenite vlasništvo nad /var/www/sylius
imenikom u johndoe
.
sudo chown -R johndoe:johndoe /var/www/sylius
Idite do korijenske mape dokumenta.
cd /var/www/sylius
Pokrenite novi Sylius projekt pokretanjem ove naredbe:
composer create-project sylius/sylius-standard .
Pokrenite vim .env.local
za unos pojedinosti baze podataka i za pokretanje Syliusa u okruženju po izboru.
APP_ENV=prod DATABASE_URL=mysql://username:[email protected]/dbname
NAPOMENA: Zamijenite username
, password
i dbname
s detaljima vaše baze podataka.
Nakon što sve bude na svom mjestu, pokrenite sljedeću naredbu da instalirate Sylius:
php bin/console sylius:install -e prod
Da biste vidjeli potpuno funkcionalan frontend, morat ćete instalirati njegovu imovinu. Sylius koristi Gulp za izgradnju frontend sredstava koristeći Yarn kao upravitelj paketa JavaScript. Nakon što je Yarn instaliran, idite u direktorij projekta da biste instalirali ovisnosti.
yarn install
Zatim izgradite elemente frontenda tako što ćete pokrenuti:
yarn build
Promijenite vlasništvo nad /var/www/sylius
imenikom u www-data
.
sudo chown -R www-data:www-data /var/www/sylius
Instalirana je Sylius platforma za e-trgovinu. Prema zadanim postavkama, administrativna ploča usmjerava na /admin
.