GNU/Linux >> Znalost Linux >  >> Ubuntu

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

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 Magenta byl zahájen v roce 2008 společností Varien.

V tomto tutoriálu vám krok za krokem ukážeme, jak nainstalovat Magento 2 na nejnovější verzi Ubuntu 20.04. Nainstalujeme Magento pod LEMP stack, webový server Nginx, PHP-FPM 7.3 a server MariaDB.

Požadavky

Pro tento tutoriál nainstalujeme Magento 2 na systém Ubuntu 20.04 s 2 GB RAM, 50 GB volného místa na disku a 2 CPU.

Co budeme dělat?

  • Nainstalujte webový server Nginx
  • Nainstalujte a nakonfigurujte PHP-FPM 7.3
  • Instalace a konfigurace serveru MySQL
  • Nainstalujte PHP Composer
  • Stáhněte si a nainstalujte Magento
  • Vygenerujte SSL Letsencrypt
  • Nastavení virtuálního hostitele Nginx pro Magento
  • Po instalaci Magento

Krok 1 – Instalace webového serveru Nginx

Nejprve nainstalujeme webový server Nginx do systému Ubuntu 20.04.

Nainstalujte Nginx pomocí příkazu apt níže.

sudo apt install nginx

Po dokončení instalace spusťte službu Nginx a přidejte ji do spouštění systému.

systemctl start nginx
systemctl enable nginx

Poté zkontrolujte stav služby Nginx pomocí následujícího příkazu.

systemctl status nginx

Webový server Nginx je spuštěn a běží na serveru Ubuntu 20.04.

Dále otevřeme porty HTTP a HTTPS na našem systému Ubuntu.

Spusťte níže uvedený příkaz ufw.

for svc in ssh http https
do
ufw allow $svc
done

V důsledku toho byly do pravidla brány firewall ufw přidány služby SSH, HTTP a HTTPS.

Nyní spusťte povolit ufw firewall pomocí následujícího příkazu.

ufw enable

Zadejte 'y' a stiskněte Enter a povolili jste ufw firewall.

Krok 2 – Instalace a konfigurace PHP-FPm 7.3

Po instalaci webového serveru Nginx nainstalujeme PHP-FPM na náš server Ubuntu 20.04.

Ve výchozím nastavení přichází Ubuntu 20.04 s nejnovější verzí PHP/PHP-FPM 7.4. Ale zatím Magento funguje pouze s PHP/PHP-FPM 7.3. A v tomto kroku nainstalujeme PHP-FPM 7.3 z PPA úložiště.

Než budete pokračovat, nainstalujte si balíček 'software-properties-common' a přidejte úložiště PPA pro PHP 7.3 pomocí následujícího příkazu.

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

'add-apt-repository' automaticky aktualizuje všechna úložiště v systému.

Nyní nainstalujte balíčky PHP-FPM 7.3 z úložiště PPA pomocí příkazu apt níže.

sudo apt install php7.3-fpm php7.3-common php7.3-curl php7.3-cli php7.3-mysql php7.3-gd php7.3-xml php7.3-json php7.3-intl php-pear php7.3-dev php7.3-common php7.3-mbstring php7.3-zip php7.3-soap php7.3-bcmath php7.3-opcache -y

A instalace PHP-FPM 7.3 byla dokončena.

Poté přejděte do adresáře '/etc/php/7.3' a upravte konfiguraci 'php.ini' pro PHP-FPM.

cd /etc/php/7.3/
vim fpm/php.ini

Odkomentujte a změňte konfiguraci, jak je uvedeno níže.

date.timezone = Asia/Singapore
memory_limit = 1G
max_execution_time = 1800
zlib.output_compression = On
cgi.fix_pathinfo = 0

opcache.enable=1
opcache.save_comments = 1

Uložit a zavřít.

Dále spusťte službu PHP-FPM a přidejte ji do spouštění systému.

systemctl start php7.3-fpm
systemctl enable php7.3-fpm

Služba PHP-FPM je v provozu, zkontrolujte ji pomocí příkazu níže.

ss -xa | grep php
systemctl status php7.3-fpm

Výsledkem je, že PHP-FPM je spuštěno a běží na serveru Ubuntu 20.04, běží pod sock souborem '/run/php/php7.3-fpm.sock'.

Krok 3 – Instalace a konfigurace serveru MariaDB

V tomto kroku nainstalujeme databázový server MariaDB, nastavíme výchozí heslo uživatele root pro MariaDB a vytvoříme novou databázi a uživatele pro Magento.

Nainstalujte balíčky MariaDB Server do Ubuntu 20.04 pomocí příkazu apt níže.

sudo apt install mariadb-server

Po dokončení instalace spusťte službu MariaDB a přidejte ji do spouštění systému.

systemctl start mariadb
systemctl enable mariadb

Služba MariaDB je v provozu.

Dále nastavíme root heslo MariaDB pomocí nástroje 'mysql_secure_installaltion'.

Spusťte níže uvedený příkaz 'mysql_secure_installaltion'.

mysql_secure_installation

Zadejte své silné heslo pro uživatele root MariaDB a zadejte „Y“ pro všechny konfigurace.

Set a root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

V důsledku toho bylo nakonfigurováno root heslo MariaDB.

Dále vytvoříme novou databázi a uživatele pro instalaci Magento.

Přihlaste se do prostředí MariaDB/MySQL pomocí příkazu mysql níže.

mysql -u root -p

Nyní vytvořte novou databázi pro naši instalaci Magento. Vytvořte databázi 'magentodb' a uživatele 'magentouser' s heslem 'magentodbpass'.

Spusťte níže uvedené dotazy MySQL.

create database magentodb;
create user [email protected]'localhost' identified by 'magentopassdb';
grant all privileges on magentodb.* to [email protected]'localhost';
flush privileges;

Nyní zadejte 'exit' pro odhlášení z prostředí MySQL.

V důsledku toho byla dokončena nová databáze a uživatel pro instalaci Magenta.

Krok 4 – Instalace aplikace Composer

Composer je správce závislostí pro PHP. je to správce balíčků na úrovni aplikace pro PHP, který vám umožňuje stahovat další PHP závislosti a knihovny do vašeho projektu PHP.

V tomto kroku nainstalujeme PHP Composer z úložiště Ubuntu.

Nainstalujte Composer pomocí příkazu apt níže.

sudo apt install composer -y

Po dokončení instalace zkontrolujte verzi skladatele níže.

composer --version

Níže je odpověď, kterou dostanete.

Composer 1.10.1 2020-03-13 20:34:27

Jak je vidět, Composer 1.10 byl nainstalován na server ubuntu 20.04.

Krok 5 – Stáhnout a nainstalovat Magento 2

V tomto kroku si stáhneme a nainstalujeme Magento 2 a všechny potřebné PHP balíčky pomocí Composeru.

Nejprve přejděte do adresáře '/var/www/' a stáhněte si zdrojový kód Magento 2.3.5 CE (Community Edition) pomocí příkazu wget, jak je uvedeno níže.

cd /var/www/
wget -q https://github.com/magento/magento2/archive/2.3.5.tar.gz

Jakmile je vše hotovo, extrahujte zdrojový kód Magento a přejmenujte extrahovaný adresář na adresář 'magento2'.

tar -xf 2.3.5.tar.gz
mv magento2-*/ magento2/

Dále přejděte do instalačního adresáře Magento '/var/www/magento2' a nainstalujte všechny závislosti PHP balíčků pro Magento pomocí příkazu Composer, jak je uvedeno níže.

cd /var/www/magento2/
composer install

Po dokončení instalace opravte vlastnictví instalačního adresáře Magento 2 na uživatele 'www-data'.

chown -R www-data:www-data /var/www/magento2

V důsledku toho byla instalace Magenta 2 a všech závislostí balíčků dokončena.

Krok 6 – Vygenerování SSL Letsencrypt

Pro tento tutoriál zajistíme instalaci Magento 2 pomocí SSL Letsencrypt. A v tomto kroku vygenerujeme SSL Letsencrypt pomocí příkazu certbot. Také se ujistěte, že název vaší domény je přeložen na IP adresu serveru.

Nainstalujte nástroj certbot pomocí příkazu apt níže.

sudo apt install certbot

Po dokončení instalace zastavte službu Nginx.

systemctl stop nginx
certbot certonly --standalone --agree-tos --no-eff-email --email [email protected] -d magento.hakase-labs.io

Jakmile je vše hotovo, získáte své certifikáty SSL v adresáři '/etc/letsencrypt/live/magento.your-domain.com'.

V důsledku toho byla vygenerována instalace SSL Letsencrypt for Magento 2.

Krok 7 – Nastavení virtuálního hostitele Nginx pro Magento 2

V tomto kroku přidáme novou konfiguraci virtuálního hostitele Nginx pro Magento 2.

Přejděte do adresáře '/etc/nginx/sites-available/' a vytvořte novou konfiguraci 'magento' pomocí editoru vim.

cd /etc/nginx/sites-available/
vim magento

Vložte do něj následující konfiguraci.

upstream fastcgi_backend {
        server  unix:/run/php/php7.3-fpm.sock;
}

server {
    listen 80;
    listen [::]:80;
    server_name magento.hakase-labs.io;
    return 301 https://$server_name$request_uri;
}

server {

        listen 443 ssl http2;
        server_name magento.hakase-labs.io;

        ssl_certificate /etc/letsencrypt/live/magento.hakase-labs.io/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/magento.hakase-labs.io/privkey.pem;

        set $MAGE_ROOT /var/www/magento2;
        set $MAGE_MODE developer;
        include /var/www/magento2/nginx.conf.sample;
}

Uložit a zavřít.

Dále aktivujte virtuální hostitele Magento Nginx a otestujte konfiguraci nginx a ujistěte se, že nedošlo k chybě.

ln -s /etc/nginx/sites-available/magento /etc/nginx/sites-enabled/
nginx -t

Nyní restartujte službu Nginx pomocí následujícího příkazu.

systemctl restart nginx

V důsledku toho byla vytvořena a povolena konfigurace virtuálního hostitele Nginx pro Magento 2.

Krok 8 – Magento Post-Installation

Otevřete webový prohlížeč a do adresního řádku zadejte název instalační domény Magento.

https://magento.hakase-labs.io/

Nyní budete přesměrováni na zabezpečené připojení HTTPS a získáte uvítací stránku Magento a podmínky služby.

Klikněte na 'Agree and Setup Magento ' pro pokračování.

Na stránce „Kontrola připravenosti“ se ujistěte, že všechny požadavky jsou zelené, a klikněte na „Další '.

Zadejte podrobnosti o databázi MariaDB a uživatele, kterého jsme vytvořili výše, a klikněte na 'Další '.

Pro 'Web configuration' změňte všechny HTTP protokoly na HTTPS a nezapomeňte změnit 'Magento Admin Address'.

Nyní klikněte na 'Pokročilé možnosti' a označte všechny možnosti HTTPS, poté zrušte označení možnosti 'Apache Rewrites' a klikněte na 'Další znovu.

Dále v konfiguraci Magento 'Customize Your Store' ponechte jako výchozí a klikněte na 'Další '.

Nyní zadejte podrobnosti o uživateli správce, e-mail a heslo. Poté klikněte na Další tlačítko.

Klikněte na 'Install Now' tlačítko pro instalaci obchodu Magento 2.

Nyní zajistěte, aby veškerá instalace neměla chybu.

Po dokončení celé instalace se zobrazí 'Úspěch ', jak je uvedeno níže.

Klikněte na 'Spustit správce Magento “ a přihlaste se k vašemu Magento Admin Dashboard.

Nyní zadejte svého uživatele a heslo správce Magento a klikněte na tlačítko 'Přihlásit se a získáte Magento Admin Dashboard, jak je uvedeno níže.

Na výchozí stránce indexu Magento otevřete novou kartu a do adresního řádku zadejte název své domény.

Níže je výchozí stránka indexu Magento.

V důsledku toho byla instalace Magento 2 dokončena.

Dále se vraťte do shellu vašeho serveru a nastavíme Magento Cron a odebereme oprávnění k zápisu do některého instalačního adresáře Magento.

Pro nastavení cronu Magento spusťte níže uvedený příkaz.

cd /var/www/magento2
sudo -u www-data php bin/magento cron:install --force

Cron Magento poběží pod uživatelem 'www-data', zkontrolujte jej pomocí následujícího příkazu.

crontab -u www-data -l

V důsledku toho byl do systému přidán Magento Cron.

Dále musíme odebrat oprávnění k zápisu adresáři '/var/www/magento2/app/etc'.

Spusťte níže uvedený příkaz chmod.

chmod u-w /var/www/magento2/app/etc

A nakonec byla úspěšně dokončena instalace Magento 2 s webovým serverem Nginx, server MariaDB, PHP-FPM 7.3 na nejnovější Ubuntu 20.04.


Ubuntu
  1. Jak nainstalovat Nextcloud s Nginx a nechat šifrovat SSL na Ubuntu 20.04 LTS

  2. Jak nainstalovat Magento 2 s Nginx a Letsencrypt na Ubuntu 18.04

  3. Jak nainstalovat Magento s Nginx na Ubuntu 16.04

  1. Jak nainstalovat Shopware s NGINX a nechat šifrovat na Ubuntu 18.04 LTS

  2. Nainstalujte Automad CMS s Nginx a Lets Encrypt SSL na Ubuntu 18.04

  3. Jak nainstalovat Grav CMS s Nginx a nechat šifrovat na Ubuntu 18.04 LTS

  1. Jak nainstalovat X-Cart s Nginx a nechat šifrovat SSL na Ubuntu 18.04 LTS

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

  3. Jak nainstalovat Webmin a zabezpečit jej pomocí Lets Encrypt SSL na Ubuntu 20.04 LTS