GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat Magento 2 na Ubuntu 18.04

Magento je přední platforma elektronického obchodování podnikové třídy postavená na technologii open source spojující výkonné funkce s flexibilitou a uživatelsky přívětivým rozhraním.

Díky funkcím, jako jsou poutavé nákupní zážitky, flexibilní modulární architektura a škálovatelnost a výkon na podnikové úrovni, je Magento platformou, kterou si vybere většina online obchodníků.

V tomto tutoriálu vám ukážeme, jak nainstalovat Magento 2.3 na stroj Ubuntu 18.04. Budeme používat Nginx jako webový server, nejnovější PHP 7.2 a MySQL/MariaDB jako databázový server.

Předpoklady #

Než budete pokračovat v tomto kurzu, ujistěte se, že jste splnili následující předpoklady:

  • Mějte název domény odkazující na IP vašeho veřejného serveru. Použijeme example.com .
  • Nginx se nainstaluje na váš server Ubuntu podle těchto pokynů.
  • Certifikát SSL nainstalovaný pro vaši doménu k šifrování informací o uživateli. Bezplatný certifikát Let’s Encrypt SSL si můžete nainstalovat podle těchto pokynů.

Abyste mohli přistupovat k úložišti kódu Magento 2, musíte si vygenerovat ověřovací klíče. Pokud nemáte účet Magento Marketplace, můžete si jej vytvořit zde. Po vytvoření účtu si prosím přečtěte tyto pokyny, jak vygenerovat novou sadu ověřovacích klíčů.

Aktualizujte systémové balíčky na nejnovější verze a nainstalujte nástroj pro rozbalení:

sudo apt update && sudo apt upgradesudo apt install unzip

Vytváření databáze MySQL #

Pokud máte na svém serveru nainstalovanou MySQL nebo MariaDB, můžete tento krok přeskočit, pokud ne, můžete nainstalovat serverový balíček MySQL 5.7 z výchozích repozitářů Ubuntu zadáním:

sudo apt install mysql-server mysql-client
Pro čerstvé instalace MySQL se doporučuje spustit mysql_secure_installation příkaz ke zlepšení zabezpečení vašeho serveru MySQL.

Přihlaste se do prostředí MySQL pomocí následujícího příkazu:

sudo mysql

Z prostředí MySQL spusťte následující příkaz SQL a vytvořte novou databázi s názvem magento :

CREATE DATABASE magento;

Dále vytvořte uživatelský účet MySQL s názvem magento a udělte uživateli potřebná oprávnění spuštěním následujícího příkazu:

GRANT ALL ON magento.* TO 'magento'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Ujistěte se, že jste změnili change-with-strong-password se silným heslem.

Po dokončení ukončete konzolu MySQL zadáním:

EXIT;

Vytváření systémového uživatele #

Vytvořte novou skupinu uživatelů a skupinu, která bude vlastníkem systému souborů Magento, pro jednoduchost pojmenujeme uživatele magento :

sudo useradd -m -U -r -d /opt/magento magento

Přidejte www-data uživatele na magento a změňte /opt/magento oprávnění k adresáři, aby Nginx mohl přistupovat k instalaci Magento:

sudo usermod -a -G magento www-datasudo chmod 750 /opt/magento

Instalace a konfigurace PHP #

PHP 7.2, což je výchozí verze PHP v Ubuntu 18.04, je plně podporována a doporučena pro Magento 2.3. Protože budeme používat Nginx jako webový server, nainstalujeme také balíček PHP-FPM.

Spusťte následující příkaz pro instalaci PHP a všech požadovaných modulů PHP:

sudo apt install php7.2-common php7.2-cli php7.2-fpm php7.2-opcache php7.2-gd php7.2-mysql php7.2-curl php7.2-intl php7.2-xsl php7.2-mbstring php7.2-zip php7.2-bcmath php7.2-soap

Služba PHP-FPM se automaticky spustí po dokončení procesu instalace, můžete si to ověřit vytištěním stavu služby:

sudo systemctl status php7.2-fpm

Výstup by měl indikovat, že služba fpm je aktivní a běží.

● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
   Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2018-12-12 15:47:16 UTC; 5s ago
     Docs: man:php-fpm7.2(8)
 Main PID: 16814 (php-fpm7.2)
   Status: "Ready to handle connections"
    Tasks: 3 (limit: 505)
   CGroup: /system.slice/php7.2-fpm.service

Nastavte požadované a doporučené možnosti PHP úpravou php.ini soubor s sed ::

sudo sed -i "s/memory_limit = .*/memory_limit = 1024M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 256M/" /etc/php/7.2/fpm/php.inisudo sed -i "s/zlib.output_compression = .*/zlib.output_compression = on/" /etc/php/7.2/fpm/php.inisudo sed -i "s/max_execution_time = .*/max_execution_time = 18000/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;date.timezone.*/date.timezone = UTC/" /etc/php/7.2/fpm/php.inisudo sed -i "s/;opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/7.2/fpm/php.ini

Dále musíme vytvořit fond FPM pro magento uživatel.

Otevřete textový editor a vytvořte následující soubor:

sudo nano /etc/php/7.2/fpm/pool.d/magento.conf
/etc/php/7.2/fpm/pool.d/magento.conf
[magento]
user = magento
group = www-data
listen.owner = magento
listen.group = www-data
listen = /var/run/php/php7.2-fpm-magento.sock
pm = ondemand
pm.max_children =  50
pm.process_idle_timeout = 10s
pm.max_requests = 500
chdir = /

Restartujte službu PHP-FPM, aby se změny projevily:

systemctl restart php7.2-fpm

Ověřte, zda byl socket PHP úspěšně vytvořen spuštěním následujícího příkazu ls:

ls -al /var/run/php/php7.2-fpm-magento.sock

Výstup by měl vypadat nějak takto:

srw-rw---- 1 magento www-data 0 Dec 12 16:07 /var/run/php/php7.2-fpm-magento.sock=

Instalace aplikace Composer #

Composer je správce závislostí pro PHP a budeme jej používat ke stažení jádra Magento a instalaci všech nezbytných komponent Magento.

Chcete-li nainstalovat skladatel globálně, stáhněte si instalační program Composer s curland přesuňte soubor do /usr/local/bin adresář:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Ověřte instalaci vytištěním verze skladatele:

composer --version

Výstup by měl vypadat nějak takto:

Composer version 1.8.0 2018-12-03 10:31:16

Instalace Magento #

Existuje několik způsobů, jak nainstalovat Magento 2. Neinstalujte Magento z úložiště Github, protože tato verze je určena pro vývoj a ne pro produkční instalace.

V době psaní tohoto článku je nejnovější stabilní verze Magenta verze 2.3.0 . V tomto tutoriálu nainstalujeme Magento z jejich repozitářů pomocí skladatele.

Přepněte na uživatelskémagento zadáním:

sudo su - magento

Spusťte instalaci stažením souborů magento do adresáře /opt/magento/public_html:

composer create-project --repository-url=https://repo.magento.com/ magento/project-community-edition /opt/magento/public_html

Budete vyzváni k zadání přístupových klíčů, zkopírování klíčů z účtu Magento Marketplace a jejich uložení do auth.json souboru, takže později při aktualizaci instalace nemusíte znovu přidávat stejné klíče.

    Authentication required (repo.magento.com):
      Username: e758ec1745d190320ca246e4e832e12c
      Password: 
Do you want to store credentials for repo.magento.com in /opt/magento/.config/composer/auth.json ? [Yn] Y

Výše uvedený příkaz načte všechny požadované balíčky PHP. Proces může trvat několik minut a pokud bude úspěšný, konec výstupu by měl vypadat následovně:

Writing lock file
Generating autoload files

Jakmile je projekt vytvořen, můžeme spustit instalaci Magento. Magento můžeme nainstalovat buď z příkazové řádky, nebo pomocí webového průvodce nastavením. V tomto tutoriálu nainstalujeme Magento pomocí příkazového řádku.

K instalaci obchodu Magento použijeme následující možnosti:

  • Základní a základní zabezpečené adresy URL jsou nastaveny na https://example.com , změňte jej pomocí vaší domény.
  • Administrátor Magento:
    • John Doe jako jméno a příjmení.
    • [email protected] jako e-mail.
    • john jako uživatelské jméno a j0hnP4ssvv0rD jako heslo.
  • Název databáze magento , uživatelské jméno magento , heslo change-with-strong-password a databázový server je na stejném hostiteli jako webový server.
  • en_US , americká angličtina jako výchozí jazyk.
  • USD dolary jako výchozí měna.
  • America/Chicago jako časové pásmo.
Všechny možnosti instalace naleznete zde.

Změňte na Magento ~/public_html adresář:

cd ~/public_html

Spusťte následující příkaz pro spuštění instalace:

php bin/magento setup:install --base-url=https://example.com/ \
        --base-url-secure=https://example.com/ \
        --admin-firstname="John" \
        --admin-lastname="Doe" \
        --admin-email="[email protected]" \
        --admin-user="john" \
        --admin-password="j0hnP4ssvv0rD" \
        --db-name="magento" \
        --db-host="localhost" \
        --db-user="magento" \
        --currency=USD \
        --timezone=America/Chicago \
        --use-rewrites=1 \
        --db-password="change-with-strong-password"
Nezapomeňte si změnit heslo (j0hnP4ssvv0rD ) na něco bezpečnějšího.

Tento proces může trvat několik minut a po dokončení vám bude předložena zpráva obsahující URI do řídicího panelu správce Magento.

[Progress: 773 / 773]
[SUCCESS]: Magento installation complete.
[SUCCESS]: Magento Admin URI: /admin_13nv5k
Nothing to import.

Vytváření Magento crontab #

Magento používá úlohy cron k plánování úloh, jako je opětovné indexování, upozornění, mapy webu, e-maily a další.

Chcete-li vytvořit Magento crontab, spusťte následující příkaz jako magento uživatel:

php ~/public_html/bin/magento cron:install
Crontab has been generated and saved

Ověřte, že je crontab nainstalován, zadáním:

crontab -l
#~ MAGENTO START adc062915d7b30804a2b340095af072d
* * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento cron:run 2>&1 | grep -v "Ran jobs by schedule" >> /opt/magento/public_html/var/log/magento.cron.log
* * * * * /usr/bin/php7.2 /opt/magento/public_html/update/cron.php >> /opt/magento/public_html/var/log/update.cron.log
* * * * * /usr/bin/php7.2 /opt/magento/public_html/bin/magento setup:cron:run >> /opt/magento/public_html/var/log/setup.cron.log
#~ MAGENTO END adc062915d7b30804a2b340095af072d

Konfigurace Nginx #

Nyní byste již měli mít na svém serveru Ubuntu nainstalovaný Nginx s certifikátem SSL, pokud ne, zkontrolujte předpoklady pro tento tutoriál.

Zahrneme výchozí konfiguraci Nginx dodávanou s Magento.

Přepněte na svého uživatele sudo, otevřete textový editor a vytvořte následující soubor:

sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-available/example.com
upstream fastcgi_backend {
  server   unix:/var/run/php/php7.2-fpm-magento.sock;
}

server {
    listen 80;
    server_name example.com www.example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    set $MAGE_ROOT /opt/magento/public_html;
    set $MAGE_MODE developer; # or production

    access_log /var/log/nginx/example.com-access.log;
    error_log /var/log/nginx/example.com-error.log;

    include /opt/magento/public_html/nginx.conf.sample;
}
Nezapomeňte nahradit example.com svou doménou Magento a nastavit správnou cestu k souborům certifikátu SSL. Fragmenty použité v této konfiguraci jsou vytvořeny v této příručce.

Před restartováním služby Nginx proveďte test, abyste se ujistili, že neexistují žádné syntaktické chyby:

sudo nginx -t

Pokud nejsou žádné chyby, výstup by měl vypadat takto:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Nakonec restartujte službu Nginx zadáním:

sudo systemctl restart nginx

Ověření instalace #

Otevřete prohlížeč, zadejte svou doménu a za předpokladu úspěšné instalace se zobrazí obrazovka podobná následující:

Nyní můžete přejít na Magento Admin URI, přihlásit se jako uživatel admin a začít přizpůsobovat svou novou instalaci Magento.


Ubuntu
  1. Jak nainstalovat PHP 7 na Ubuntu 14.04

  2. Jak nainstalovat PHP 7 na Ubuntu 15.04

  3. Jak nainstalovat Magento na Ubuntu 18.04

  1. Jak nainstalovat R na Ubuntu 20.04

  2. Jak nainstalovat PHP 7.4 / 7.3 / 7.2 na Ubuntu 18.04 / Ubuntu 16.04

  3. Jak nainstalovat Magento2 na Ubuntu 16.04

  1. Jak nainstalovat Go na Ubuntu 18.04

  2. Jak nainstalovat Magento s Nginx na Ubuntu 16.04

  3. Jak nainstalovat Joomla 3.9 na Ubuntu 20.04