GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Magento 2 s Nginx a Letsencrypt na Ubuntu 18.04

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

  1. Nainstalujte Nginx na Ubuntu 18.04
  2. Nainstalujte a nakonfigurujte PHP-FPM 7.1
  3. Instalace a konfigurace serveru MySQL
  4. Nainstalujte a nakonfigurujte Magento 2
    1. Nainstalujte PHP Composer
    2. Stáhněte si Magento 2
    3. Nainstalujte součásti Magento
    4. Vygenerujte SSL Letsencrypt
    5. Nakonfigurujte virtuálního hostitele Nginx pro Magento
    6. Po instalaci Magento
  5. 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


Ubuntu
  1. Jak nainstalovat a nakonfigurovat ownCloud s Apache na Ubuntu 18.04

  2. Jak nainstalovat Magento 2 na Ubuntu 18.04

  3. Jak nainstalovat Nginx s PHP5 a MySQL na Ubuntu 11.10

  1. Jak nainstalovat Nextcloud s Nginx na Ubuntu 18.04 LTS

  2. Jak nainstalovat Magento 2 s Nginx a nechat šifrovat SSL na Ubuntu 20.04 LTS

  3. Jak nainstalovat Mattermost s PostgreSQL a Nginx na Ubuntu 16.04

  1. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  2. Jak nainstalovat SuiteCRM s Nginx na Ubuntu 16.04

  3. Jak nainstalovat Gitlab s PostgreSQL a Nginx na Ubuntu 15.04