Magento je široce používaný software pro elektronické obchodování s otevřeným zdrojovým kódem a systém pro správu obsahu pro webové stránky elektronického obchodování založený na PHP Zend Framework. Jako backend databáze používá MySQL nebo MariaDB. Vývoj Magento byl zahájen v roce 2008 společností Varien.
V tomto tutoriálu vám ukážu, jak nainstalovat Magento 2 s databází Nginx, PHP 7.1 FPM a MySQL. Jako operační systém pro server budu používat ubuntu 18.04 (Bionic Beaver). Pokud ještě nemáte minimální nastavení serveru, podívejte se prosím na tento návod, abyste získali správné základní nastavení.
Předpoklady
- Ubuntu 18.04
- 2 GB nebo více paměti RAM
- Oprávnění uživatele root
Co uděláme
- Nainstalujte Nginx na Ubuntu 18.04
- Nainstalujte a nakonfigurujte PHP-FPM 7.1
- Instalace a konfigurace serveru MySQL
- Nainstalujte a nakonfigurujte Magento 2
- Nainstalujte PHP Composer
- Stáhněte si Magento 2
- Nainstalujte součásti Magento
- Vygenerujte SSL Letsencrypt
- Nakonfigurujte virtuálního hostitele Nginx pro Magento
- Po instalaci Magento
- Testování
Krok 1 – Instalace Nginx na Ubuntu 18.04 LTS
V tomto tutoriálu budeme používat webový server Nginx pro naši instalaci Magento.
Přihlaste se k serveru, aktualizujte úložiště a upgradujte všechny balíčky.
sudo apt update
sudo apt upgrade
Nyní nainstalujte webový server Nginx pomocí příkazu apt níže.
sudo apt install nginx -y
Po dokončení instalace spusťte službu Nginx a povolte její spuštění při každém spuštění systému.
systemctl start nginx
systemctl enable nginx
Webový server Nginx byl nainstalován, zkontrolujte jej pomocí příkazu netstat a ujistěte se, že port HTTP 80 je ve stavu 'LISTEN'. Dalším způsobem je použití příkazu curl, jak je uvedeno níže.
netstat -plntu
curl -I localhost
Krok 2 – Instalace a konfigurace PHP-FPM 7.1
Po instalaci webového serveru Nginx nainstalujeme na server PHP 7.1, protože Magento zatím nepodporuje PHP 7.2. Nainstalujeme PHP-FPM se všemi rozšířeními potřebnými pro Magento 2.
Seznam PHP rozšíření potřebných pro instalaci Magento 2:
- bc-math
- ctype
- kroucení
- dom
- gd, ImageMagick 6.3.7 (nebo novější) nebo obojí
- mezinárodní
- mbstring
- mcrypt
- hash
- openssl
- PDO/MySQL
- SimpleXML
- mýdlo
- spl
- libxml
- xsl
- zip
- json
- ikona
Pro tuto příručku nainstalujeme balíčky PHP-FPM z úložiště PPA. Budeme používat úložiště 'ondrej/php'.
Nainstalujte balíček 'software-properties-common' a přidejte úložiště 'ondrej/php' pomocí příkazů níže.
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
Nyní nainstalujte PHP-FPM 7.1 se všemi potřebnými rozšířeními.
sudo apt install php7.1-fpm php7.1-mcrypt php7.1-curl php7.1-cli php7.1-mysql php7.1-gd php7.1-xsl php7.1-json php7.1-intl php-pear php7.1-dev php7.1-common php7.1-mbstring php7.1-zip php7.1-soap php7.1-bcmath -y
Po dokončení instalace zkontrolujte verzi PHP a nainstalovaná rozšíření pomocí příkazů PHP.
php -v
php -me
Dále nakonfigurujeme soubor php.ini pro PHP-FPM a PHP-CLI.
Upravte soubory php.ini pomocí vim.
vim /etc/php/7.1/fpm/php.ini
vim /etc/php/7.1/cli/php.ini
Změňte hodnotu těchto řádků, jak je uvedeno níže.
memory_limit = 512M max_execution_time = 180 zlib.output_compression = On
Uložte a ukončete.
Nyní restartujte službu PHP-fpm a povolte její spuštění při každém startu systému.
systemctl restart php7.1-fpm
systemctl enable php7.1-fpm
Instalace a konfigurace PHP-FPM 7.1 byla dokončena, zkontrolujte službu pomocí příkazu netstat.
netstat -pl | grep php
A získáte soubor PHP-fpm socks, jak je uvedeno níže.
Krok 3 – Instalace a konfigurace serveru MySQL
Software Magento vyžaduje MySQL 5.6.xa Magento 2.1.2 nebo novější vyžaduje MySQL 5.7.x. V tomto tutoriálu nainstalujeme nejnovější server MySQL 5.8 na systém Ubuntu 18.04.
Nainstalujte MySQL 5.8 pomocí příkazu apt níže.
sudo apt install mysql-server mysql-client -y
Po dokončení instalace spusťte službu MySQL a povolte její spuštění při každém spuštění systému.
systemctl start mysql
systemctl enable mysql
Nyní nakonfigurujeme kořenové heslo MySQL pomocí příkazu 'mysql_secure_installation'.
mysql_secure_installation
V této verzi MySQL 5.8 došlo k vylepšení zabezpečení zásady hesla MySQL. Musíte zvolit zásadu hesla – 0 pro zásadu NÍZKÁ, 1 pro zásadu STŘEDNÍ a 2 pro zásadu SILNÁ.
V této příručce budeme používat zásadu hesla 'MEDIUM' a na produkčním serveru se doporučuje používat zásadu hesla 'STRONG'.
Vyberte číslo '1' a stiskněte Enter, poté zadejte své nové heslo 'root' MySQL.
Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
Kořenové heslo MySQL bylo nastaveno.
Dále vytvoříme novou databázi pro naši instalaci Magento. Vytvoříme novou databázi s názvem 'magentodb' s uživatelem 'magentouser' a heslem '[email protected]#'.
Přihlaste se do prostředí MySQL pomocí uživatele root.
mysql -u root -p
Nyní spusťte níže uvedené dotazy MySQL a vytvořte databázi a uživatele.
create database magentodb;
create user [email protected] identified by '[email protected]#';
grant all privileges on magentodb.* to [email protected] identified by '[email protected]#';
flush privileges;
Instalace a konfigurace serveru MySQL pro instalaci Magento byla dokončena.
Krok 4 – Instalace a konfigurace Magento 2
V tomto kroku nainstalujeme nejnovější verzi Magento 2.2.4 z úložiště Github. Nainstalujeme PHP skladatel pro instalaci komponent Magento, stáhneme Magento z úložiště Github, nakonfigurujeme virtuální hostitele Nginx pro Magento a nainstalujeme Magento pomocí webové post instalace.
- Instalace PHP Composer
Nainstalujte PHP Composer na ubuntu 18.04 pomocí příkazu apt níže.
sudo apt install composer -y
Po dokončení instalace zkontrolujte verzi skladatele nainstalovanou v systému.
composer -V
Byla nainstalována nejnovější verze PHP Composer.
- Stáhnout Magento 2
Přejděte do adresáře '/var/www' a stáhněte si zdrojový kód archivu Magento z Github pomocí příkazu wget.
cd /var/www/
wget https://github.com/magento/magento2/archive/2.2.4.tar.gz
Nyní rozbalte archivní soubor Magento a přejmenujte adresář na 'magento2'.
tar -xf 2.2.4.tar.gz
mv magento2-2.2.4/ magento2/
Zdrojový kód Magento byl stažen a adresář '/var/www/magento2' bude webovým kořenem webu Magento.
- Instalace komponent Magento
Nainstalujte komponenty Magento pomocí PHP skladatele. Přejděte do adresáře 'magento2' a pomocí příkazu 'composer' nainstalujte všechny PHP komponenty potřebné pro Magento.
cd /var/www/magento2
composer install -v
Po dokončení instalace získáte výsledek, jak je znázorněno níže.
- Generovat SSL Letsencrypt
Naši instalaci Magento zabezpečíme pomocí SSL od Letsencrypt. Nainstalujte Letsencrypt pomocí příkazu apt níže.
sudo apt install letsencrypt -y
Po dokončení instalace zastavte službu nginx.
systemctl stop nginx
Nyní vygenerujte certifikáty SSL pro název domény pomocí příkazu certbot, jak je uvedeno níže.
certbot certonly --standalone -d magento.hakase-labs.pw
Zadejte svou e-mailovou adresu, přijměte TOS Letsencrypt a poté zadejte 'N' pro sdílení e-mailu.
Po dokončení získáte výsledek, jak je uvedeno níže.
Soubory certifikátu Letsencrypt SSL byly vygenerovány do adresáře '/etc/letsencrypt/live'.
- Konfigurace virtuálního hostitele Nginx
Přejděte do adresáře '/etc/nginx/sites-available' a vytvořte nový soubor virtuálního hostitele 'magento' pomocí vim.
cd /etc/nginx/sites-available/
vim magento
Zde vložte následující konfiguraci.
upstream fastcgi_backend { server unix:/run/php/php7.1-fpm.sock; } server { listen 80; listen [::]:80; server_name magento.hakase-labs.pw; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name magento.hakase-labs.pw; ssl on; ssl_certificate /etc/letsencrypt/live/magento.hakase-labs.pw/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/magento.hakase-labs.pw/privkey.pem; set $MAGE_ROOT /var/www/magento2; set $MAGE_MODE developer; include /var/www/magento2/nginx.conf.sample; }
Uložte konfiguraci a ukončete.
Nyní aktivujte virtuálního hostitele vytvořením symbolického odkazu pro soubor virtuálního hostitele Magento do adresáře 'sites-enabled'.
ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
Otestujte konfigurační soubor nginx a ujistěte se, že nedošlo k chybě.
nginx -t
Nyní restartujte službu PHP-FPM a Nginx.
systemctl restart php7.1-fpm
systemctl restart nginx
A změňte vlastníka webového kořenového adresáře Magento na uživatele a skupinu „www-data“.
chown -R www-data:www-data /var/www/magento2/
Byl přidán virtuální hostitel nginx pro Magento.
- Magento Post-Installation
Otevřete webový prohlížeč a zadejte adresu URL Magento. Můj je:
https://magento.hakase-labs.pw/
Pro 'Podmínky a dohoda' klikněte na tlačítko 'Souhlasím a nastavte Magento'.
Nyní zkontrolujte veškerou konfiguraci systému a serveru pro Magento 'Readlines Check' a ujistěte se, že 'prošlo' všemi kontrolami systému a konfigurace, jak je uvedeno níže.
Nyní klikněte na tlačítko 'Další'.
Konfigurace databáze pro Magento - zadejte všechny informace o naší databázi a klikněte na 'Další'.
Pro webovou konfiguraci změňte 'adresu obchodu' na HTTPS, 'Magento Admin Address' pomocí adresy URL cesty správce a zrušte zaškrtnutí 'Apache Rewrites', protože používáme webový server Nginx.
Znovu klikněte na tlačítko 'Další'.
Ponechte 'Přizpůsobit svůj obchod' jako výchozí a klikněte na 'Další'.
Zadejte své administrátorské uživatelské jméno a heslo a klikněte na 'Další'.
A kliknutím na tlačítko 'Install Now' nainstalujte Magento.
A když je instalace dokončena, dostanete „úspěšný“ výsledek, jak je uvedeno níže.
Nyní musíme zakázat přístup pro zápis pro adresář '/var/www/magento2/app/etc'. Spusťte níže uvedený příkaz.
sudo chmod -w /var/www/magento2/app/etc
Magento bylo nainstalováno na server Ubuntu 18.04 Bionic Beaver.
Krok 5 – Testování
Zadejte domovskou adresu URL Magento a ujistěte se, že máte výchozí domovskou stránku Magento. Můj je:https://magento.hakase-labs.pw/
Nyní se přihlaste k administračnímu panelu Magento návštěvou adresy URL definované během instalace 'admin_hakase'. Můj je:
https://magento.hakase-labs.pw/admin_hakase/
Zadejte uživatelské jméno a heslo a klikněte na tlačítko 'Přihlásit se'.
A získáte Magento admin dashboard, jak je uvedeno níže.
Magento 2 bylo nainstalováno na Ubuntu 18.04 s webovým serverem Nginx, databází MySQL a PHP-FPM 7.1.
Další:
Pokud se zobrazí chyba o chybějícím cronjobu Magento indexeru, můžete to vyřešit vygenerováním skriptu crontab pomocí příkazu níže.:
cd /var/www/magento2
sudo -u www-data php bin/magento cron:install --force
Nyní zkontrolujte skript seznamu crontab pro uživatele 'www-data'.
crontab -u www-data -l