GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat a nakonfigurovat Magento 2 na Ubuntu 18.04

Magento 2 je nástupcem výkonné open source platformy eCommerce Magento dostupné na vašich linuxových distribucích. Tento tutoriál poskytne kroky k instalaci Magento 2 s Nginx na Ubuntu 18.04. Tento software je napsán v PHP a pro databázi používá Mysql nebo MariaDB, což znamená, že konfiguraci lze provést pomocí LEMP.

Magento 2 je nejnovější upgrade Magenta, který nabízí některá vylepšení jako

  • frontend i backend, jeden pro administraci a jeden pro zákazníky obchodu
  • flexibilita a plná podpora
  • rychlost webu a integrované pluginy...

Databázový diagram Magento 2 se liší od Magenta 1. Některé tabulky byly přejmenovány nebo změněny z Magento 1 na Magento 2

  • core_website – store_website (struktura se změnila)
  • core_store – úložiště (struktura se nemění)
  • core_translate – překlad
  • core_url_rewrite – url_rewrite
  • core_store_group – store_group (struktura se nemění)
  • core_email_template – email_template
  • admin_role – autorizační_role (struktura se změnila)
  • pravidlo_admin – autorizační_pravidlo (struktura se změnila)
  • sales_flat_order – sales_order
  • sales_flat_order_address – sales_order_address
  • sales_flat_order_grid – sales_order_grid
  • sales_flat_order_item – sales_order_item
  • sales_flat_order_payment – ​​sales_order_payment
  • sales_flat_order_status_history – sales_order_status_history
  • coupon_agregated_order – salesrule_coupon_agregated_order

Zdá se, že Magento není ve skutečnosti plně kompatibilní s php 7.2 což je výchozí instalace na Ubuntu 18.04. Na GitHubu je k dispozici komunita Magento, kde se snaží implementovat podporu php-7.2 v Magento.

Níže můžete vidět různé verze php, které jsou skutečně kompatibilní s magento 2. Další požadavky si můžete prohlédnout na oficiálních stránkách magento

1) Nainstalujte předpoklady

V našem tutoriálu nainstalujeme Magento 2 s Nginx na Ubuntu 18.04 a budeme používat databázi MySQL. To znamená, že budete muset mít na svém serveru spuštěný LEMP server. Magento vyžaduje některá rozšíření PHP, která budete muset nainstalovat

  • 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

Musíte mít software-properties-common balíček, který je již přítomen v Ubuntu 18.04 a ondrej/php úložiště, které přidáme

# add-apt-repository ppa:ondrej/php -y

Nyní nainstalujte php 7.1 se závislostmi

# 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
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  autoconf automake autopoint autotools-dev binutils binutils-common binutils-x86-64-linux-gnu build-essential cpp cpp-7 debhelper dh-autoreconf
  dh-php dh-strip-nondeterminism dpkg-dev fakeroot g++ g++-7 gcc gcc-7
...
...

Vezměte prosím na vědomí, že pokud nenainstalujete všechny tyto závislosti na php, budete zablokováni v dalším kroku našeho tutoriálu.

Poté upravte řádky souboru /etc/php/7.1/fpm/php.ini mít něco jako níže a ujistěte se, že přizpůsobíte hodnoty svým

# vim /etc/php/7.1/fpm/php.ini
file_uploads = On
upload_max_filesize = 150M
memory_limit = 256M
cgi.fix_pathinfo=0
date.timezone = Cameroon/Douala

Restartujte php 7.1-fpm

# systemctl restart php7.1-fpm

2) Vytvořte databázi Magento 2

Nyní bychom se měli připojit k databázi MySQL, abychom vytvořili databázi pro Magento

# mysql -u root -p
Enter password:

Poté vytvořte magento databázi, uživatele a udělte mu oprávnění

mysql> CREATE DATABASE magentodb;
Query OK, 1 row affected (0.00 sec)

mysql> CREATE USER 'magento'@'localhost' IDENTIFIED BY 'magentodb-password';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON magentodb.* TO 'magento'@'localhost' IDENTIFIED BY 'magentodb-password';
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

3) Stáhněte a nakonfigurujte Magento 2

Tento návod ukáže instalaci Magento 2.2.5 což je ve skutečnosti poslední dostupná verze. Stáhneme si ho přímo z oficiálního úložiště GitHub Magento

# wget https://github.com/magento/magento2/archive/2.2.5.tar.gz
--2018-07-13 08:24:37-- https://github.com/magento/magento2/archive/2.2.5.tar.gz
Resolving github.com (github.com)... 192.30.253.112, 192.30.253.113
Connecting to github.com (github.com)|192.30.253.112|:443... connected.
HTTP request sent, awaiting response... 302 Found
...
...

Nyní jej dekomprimujte

# tar xvf 2.2.5.tar.gz

Poté jej přesuňte do kořenové složky vašeho serveru nginx

# mv magento2-2.2.5/ /var/www/html/magento

Ujistěte se, že aktualizujete oprávnění pomocí příkazu chmod a vlastnictví pomocí příkazu chown, jak je uvedeno níže:

# chown -R www-data:www-data /var/www/html/ && chmod -R 755 /var/www/html/

Pokud plánujete vyvíjet rozšíření Magento, můžete také potřebovat skladatel. Budete jej také potřebovat, pokud chcete přispívat do kódové základny Magento 2.

# apt install composer -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
jsonlint php-cli-prompt php-composer-ca-bundle 
....
....

Poté zkontrolujte

# composer -V
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Composer 1.6.3 2018-01-31 16:28:17

Nyní můžeme nainstalovat Magento komponenty pomocí skladatele. To lze provést pouze v případě, že jste nainstalovali všechny požadavky php

# cd /var/www/html/magento/ && composer install -v
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Dependency resolution completed in 0.001 seconds
Analyzed 177 packages to resolve dependencies
Analyzed 482 rules to resolve dependencies
Package operations: 117 installs, 0 updates, 0 removals
Installs: magento/magento-composer-installer:0.1.13, braintree/braintree_php:3.28.0, colinmollenhour/cache-backend-file:1.4, colinmollenhour/cache-bac
kend-redis:1.10.4, colinmollenhour/credis:1.8.2
...
...

4) Nakonfigurujte nginx pro magento

Nyní nakonfigurujeme Nginx pro Magento. Zkontrolujte umístění PHP socketu, ke kterému se Nginx připojí. Vypište tedy obsah adresáře /var/run/php/

# ls /var/run/php/
php7.1-fpm.pid php7.1-fpm.sock

Nyní upravte konfigurační soubor

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

upstream fastcgi_backend {
        server unix:/var/run/php/php7.1-fpm.sock;
}       
        
server {
        listen 80 default_server;
        listen [::]:80 default_server;

        server_name www.mywebstore.com;

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

Můžete uložit konfiguraci, ukončit a aktivovat virtuálního hostitele vytvořením symbolického odkazu, jak je uvedeno níže

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

Chcete-li se vyhnout některým chybám ohledně výchozího virtuálního hostitele, který se má použít, nezapomeňte upravit blok serveru výchozí konfigurace nginx /etc/nginx/sites-available/default za účelem odstranění výchozího_serveru uveďte níže

#vim /etc/nginx/sites-available/default

server {
        listen 80;
        listen [::]:80;
        # your others line below
}

Pokud to neuděláte, objeví se chyba podobná níže

[emerg] 2369#2369: a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/magento:22

ukazující, že dva virtuální hostitelé jsou považováni za výchozího virtuálního hostitele k použití. Zkontrolujte konfiguraci

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

Nyní restartujte server nginx

# systemctl restart nginx

4) Dokončete webovou instalaci průvodce Magento

Nyní můžete spustit svůj webový prohlížeč a pokračovat v instalaci Magento http://www.yourwebstore.com a poté souhlasit

Zkontrolujte prostředí php

Pokud je vaše prostředí správné, budete mít vše v zelené

Nyní nakonfigurujte již vytvořenou databázi s informacemi použitými dříve pomocí příkazového řádku mysql

Nakonfigurujte webový přístup. Ujistěte se, že jste si ponechali purpurovou admin adresu. Můžete se podívat na pokročilé možnosti

Nyní vyberte měnu, jazyk a časové pásmo, které bude váš obchod používat

Můžete vidět rozšířenou možnost zobrazující moduly, které se nainstalují

Nakonfigurujte účet správce

Nyní může začít instalace

Nyní můžete vidět shrnutí konfigurace. Z bezpečnostních důvodů nezapomeňte na důležité zmínky na této stránce

Nyní uvidíte přihlašovací stránku. Zadejte své administrátorské parametry vytvořené dříve

Můžete vidět domovskou stránku řídicího panelu vašeho webového obchodu Magento. Neváhejte a procházejte každou funkci poskytovanou magento2

Můžete otevřít domovskou stránku svého internetového obchodu. Je to stránka pro klienta

Během procesu můžete čelit některým chybám, my pokryjeme možné chyby, které se mohou vyskytnout.

5) Opravte některé možné chyby

Během procesu můžete čelit některým problémům, které mohou zastavit instalaci vašeho Magento 2. Proto jsme uvedli některé chyby s opravami, které lze použít

php FastCGI zamítnuto

Můžete mít oprávnění odepřeno kvůli výchozímu konfiguračnímu souboru nginx Magento 2, který nemůže fungovat. Při kontrole vašeho protokolu nginx můžete vidět chybu níže

Chcete-li to vyřešit, upravte soubor /var/www/html/magento/nginx.conf.sample /nastavení bloku umístění přidáním konkrétního řádku, jak je uvedeno níže

 # vim /var/www/html/magento/nginx.conf.sample

location ~* ^/setup($|/) {
    root $MAGE_ROOT;
    location ~ ^/setup/index.php {

        ### The only line to add is the one below:
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        ###################
        ## Don't change anything else in the file

Poté restartujte nginx. Můžete sledovat vlákno na Magento Github o tomto problému, pokud nemůžete spustit Web Setup na nginx

Jeden nebo více indexátorů je neplatných. Ujistěte se, že vaše úloha Magento cron běží

Při prvním přístupu k panelu administrátora se vám může zobrazit zpráva týkající se neplatných indexů a úlohy magento cron, které nefungují správně, jak je uvedeno níže

Zde musíte reindexovat všechny dostupné indexy v Magento 2. Za tímto účelem přejděte do kořenového adresáře projektu

# cd /var/www/html/magento

a spusťte magento CLI

# php bin/magento indexer:reindex
Design Config Grid index has been rebuilt successfully in 00:00:00
Customer Grid index has been rebuilt successfully in 00:00:00
Category Products index has been rebuilt successfully in 00:00:00
Product Categories index has been rebuilt successfully in 00:00:00
Catalog Rule Product index has been rebuilt successfully in 00:00:00
Product EAV index has been rebuilt successfully in 00:00:00
Stock index has been rebuilt successfully in 00:00:00
Product Price index has been rebuilt successfully in 00:00:00
Catalog Product Rule index has been rebuilt successfully in 00:00:00
Catalog Search index has been rebuilt successfully in 00:00:00

Nyní k nastavení a spuštění cronu pro Magento 2 použijte příkaz

# php bin/magento cron:run
Ran jobs by schedule.

Typy mezipaměti jsou neplatné

Můžete čelit typům mezipaměti, které jsou neplatné. Zpráva se objeví nahoře

Jeden nebo více typů mezipaměti je zrušeno:Mezipaměť stránky. Přejděte do správy mezipaměti a obnovte typy mezipaměti.
Důvody pro zneplatnění blokové mezipaměti mohou být z aktualizací produktů, změn pravidel cen v katalogu a také rozšíření třetích stran. Některé spuštěné cronjoby mohou také způsobit zneplatnění mezipaměti bloků. Rozlišení je uvedeno ve zprávě, přejděte na systém> správa mezipaměti

Uvidíte všechny typy keší. Nyní klikněte na Spláchnout M Cache agenta

Přečtěte si také:

  • Jak nainstalovat LAMP Stack na Ubuntu 18.04
  • Jak nainstalovat PhpMyAdmin s LAMP na Ubuntu 18.04

Máte různé kroky, abyste měli funkční Magento 2 na Ubuntu 18.04. Zdá se, že podpora php-7.2 není připravena, ale komunita Magento na tomto účelu pracuje. Můžete si vynutit pokus o přizpůsobení Magenta 2 pomocí php-7.2, ale jakmile bude připravena oficiální podpora, váš patch již nemusí fungovat.


Ubuntu
  1. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Redmine na Ubuntu 18.04

  3. Jak nainstalovat Magento 2 na Ubuntu 18.04

  1. Jak nainstalovat a nakonfigurovat Sambu na Ubuntu 18.04

  2. Jak nainstalovat a nakonfigurovat Redis na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat Jenkins na Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat Askbot na Ubuntu 16.04

  2. Jak nainstalovat a nakonfigurovat MongoDB na Ubuntu 14.04

  3. Jak nainstalovat a nakonfigurovat Solr 6 na Ubuntu 16.04