GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare e configurare Magento 2 su Ubuntu 18.04

Magento 2 è il successore della potente piattaforma di eCommerce open source Magento disponibile sulle tue distribuzioni Linux. Questo tutorial fornirà i passaggi per installare Magento 2 con Nginx su Ubuntu 18.04. Questo software è scritto in PHP e utilizza Mysql o MariaDB per il database, il che significa che la configurazione può essere eseguita con LEMP.

Magento 2 è l'ultimo aggiornamento di Magento che offre alcuni miglioramenti come

  • sia frontend che backend, uno per l'amministrazione e uno per i clienti del negozio
  • flessibilità e pieno supporto
  • la velocità del sito ei plugin integrati...

Il diagramma del database di Magento 2 è diverso da Magento 1. Alcune tabelle sono state rinominate o modificate da Magento 1 a Magento 2

  • core_website - store_website (la struttura è cambiata)
  • core_store - negozio (la struttura non viene modificata)
  • core_translate - traduzione
  • core_url_rewrite - url_rewrite
  • core_store_group - store_group (la struttura non viene modificata)
  • modello_email_core - modello_email
  • admin_role - autorizzazione_role (la struttura è cambiata)
  • regola_amministratore - regola_autorizzazione (la struttura è cambiata)
  • ordine_vendita_piatto - ordine_vendita
  • indirizzo_ordine_piatto_vendita - indirizzo_ordine_vendita
  • griglia_ordine_piatto_vendita - griglia_ordine_vendita
  • oggetto_ordine_piatto_vendita - oggetto_ordine_vendita
  • pagamento_ordine_piatto_vendita - pagamento_ordine_vendita
  • sales_flat_order_status_history - sales_order_status_history
  • ordine_coupon_aggregato - salesrule_coupon_ordine_aggregato

Magento sembra non essere effettivamente completamente compatibile con php 7.2 che è l'installazione predefinita su Ubuntu 18.04. È disponibile una community Magento su GitHub in cui tentano di implementare il supporto di php-7.2 in Magento.

Di seguito puoi trovare le diverse versioni php effettivamente compatibili con magento 2. Puoi vedere gli altri requisiti sul sito ufficiale di magento

1) Installa i prerequisiti

Nel nostro tutorial installeremo Magento 2 con Nginx su Ubuntu 18.04 e utilizzeremo il database MySQL. Ciò significa che dovrai avere un server LEMP in esecuzione sul tuo server. Magento richiede alcune estensioni PHP che dovrai installare

  • bc-matematica
  • ctype
  • ricciolo
  • dom
  • gd, ImageMagick 6.3.7 (o successivo) o entrambi
  • internazionale
  • mbstring
  • mcrypt
  • hash
  • apressl
  • DOP/MySQL
  • XML semplice
  • sapone
  • spl
  • libxml
  • xsl
  • comprimi
  • json
  • icona

Devi avere le proprietà-software-comuni pacchetto che è già presente in Ubuntu 18.04 e in ondrej/php repository che aggiungeremo

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

Ora installa php 7.1 con le dipendenze

# 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
...
...

Tieni presente che se non installi tutte queste dipendenze da php, verrai bloccato in un passaggio futuro del nostro tutorial.

Quindi modifica le righe del file /etc/php/7.1/fpm/php.ini per avere qualcosa come sotto e assicurati di adattare i valori ai tuoi

# 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

Riavvia php 7.1-fpm

# systemctl restart php7.1-fpm

2) Crea il database di Magento 2

Ora dovremmo connetterci al database MySQL per creare il database per Magento

# mysql -u root -p
Enter password:

Quindi crea il database magento, l'utente e concedi i privilegi

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) Scarica e configura Magento 2

Questo tutorial mostrerà l'installazione di Magento 2.2.5 che è in realtà l'ultima versione disponibile. Lo scaricheremo direttamente dal repository GitHub ufficiale di 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
...
...

Ora decomprimilo

# tar xvf 2.2.5.tar.gz

Quindi spostalo nella cartella principale del tuo server nginx

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

Assicurati di aggiornare l'autorizzazione usando il comando chmod e la proprietà usando il comando chown come mostrato di seguito:

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

Puoi anche aver bisogno del compositore se prevedi di sviluppare estensioni Magento. Ne avrai bisogno anche se vuoi contribuire alla codebase di 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 
....
....

Quindi controlla

# 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

Ora possiamo installare i componenti di Magento con il compositore. Questo può essere fatto solo se hai installato tutti i requisiti 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) Configura nginx per magento

Ora configureremo Nginx per Magento. Controlla la posizione del socket PHP a cui si collegherà Nginx. Quindi elenca i contenuti per la directory /var/run/php/

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

Ora modifica il file di configurazione

# 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; 
}

Puoi salvare la configurazione, uscire e attivare l'host virtuale creando il collegamento simbolico come di seguito

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

Per evitare alcuni errori sull'host virtuale predefinito da utilizzare, assicurati di modificare il blocco del server della configurazione predefinita di nginx /etc/nginx/sites-available/default per rimuovere il server_predefinito menzionare come di seguito

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

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

Se non lo fai, avrai un errore simile al seguente

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

mostrando che i due host virtuali sono considerati come host virtuale predefinito da utilizzare. Verifica la configurazione

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

Ora riavvia il server nginx

# systemctl restart nginx

4) Completa l'installazione web della procedura guidata di Magento

Ora puoi avviare il tuo browser web per continuare l'installazione di Magento http://www.yourwebstore.com quindi accettare

Controlla l'ambiente php

Se il tuo ambiente è corretto, avrai tutto in verde

Ora configura il database già creato con le informazioni utilizzate in precedenza con la riga di comando di mysql

Configura l'accesso al web. Assicurati di mantenere l'indirizzo amministratore di Magento. Puoi dare un'occhiata alle opzioni avanzate

Ora scegli la valuta, la lingua e il fuso orario che verrà utilizzato dal tuo negozio

Puoi vedere l'opzione avanzata che mostra i moduli che verranno installati

Configura l'account amministratore

Ora l'installazione può iniziare

Ora puoi vedere un riepilogo della configurazione. Non dimenticare le menzioni importanti in questa pagina per motivi di sicurezza

Ora vedrai la pagina di accesso. Inserisci i parametri di amministrazione creati prima

Puoi vedere la home page della dashboard del tuo negozio web Magento. Sentiti libero di sfogliare ogni funzionalità fornita da magento2

Puoi aprire la home page del tuo negozio online. È la pagina del cliente

Puoi affrontare alcuni errori durante il processo, tratteremo i possibili errori che possono verificarsi.

5) Correggi alcuni possibili errori

Durante il processo, puoi affrontare alcuni problemi che possono interrompere l'installazione del tuo Magento 2. Quindi abbiamo elencato alcuni errori con le correzioni che potrebbero essere applicate

php FastCGI negato

Puoi avere un'autorizzazione negata a causa del file di configurazione nginx predefinito di Magento 2 che non può funzionare. Controllando il tuo log di nginx, puoi vedere l'errore qui sotto

Per risolverlo, modifica il /var/www/html/magento/nginx.conf.sample /setup blocco posizione aggiungendo una riga specifica come di seguito

 # 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

Quindi riavvia nginx. Puoi seguire un thread su Magento Github su questo problema se non riesci a eseguire Web Setup su nginx

Uno o più indicizzatori non sono validi. Assicurati che il tuo lavoro cron Magento sia in esecuzione

Durante l'accesso al pannello di amministrazione per la prima volta, è possibile visualizzare un messaggio relativo agli indici non validi e al lavoro magento cron che non funzionano correttamente come di seguito

Qui devi reindicizzare tutta l'indicizzazione disponibile in Magento 2. Per questo, vai alla directory principale del progetto

# cd /var/www/html/magento

ed eseguire la CLI di Magento

# 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

Ora per configurare ed eseguire cron per Magento 2, usa il comando

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

I tipi di cache non sono validi

Puoi affrontare i tipi di cache che sono invalidati. Il messaggio apparirà in alto

Uno o più tipi di cache sono stati invalidati:Page Cache. Vai a Gestione cache e aggiorna i tipi di cache.
I motivi per l'invalidazione della cache dei blocchi possono derivare da aggiornamenti di prodotti, modifiche alle regole del prezzo del catalogo e anche estensioni di terze parti. Alcuni cronjob in esecuzione possono anche invalidare le cache dei blocchi. La risoluzione è indicata nel messaggio, vai su sistema> gestione della cache

Vedrai tutti i tipi di cache. Ora fai clic su Lava M cache agente

Leggi anche:

  • Come installare lo stack LAMP su Ubuntu 18.04
  • Come installare PhpMyAdmin con LAMP su Ubuntu 18.04

Hai i diversi passaggi per avere un Magento 2 funzionale su Ubuntu 18.04. Il supporto del php-7.2 sembra non essere pronto ma una community magento sta lavorando a questo scopo. Puoi forzare il tentativo di adattare Magento 2 con php-7.2 ma, quando il supporto ufficiale sarà pronto, la tua patch potrebbe non funzionare più.


Ubuntu
  1. Come installare e configurare Redis su Ubuntu 18.04

  2. Come installare e configurare Redmine su Ubuntu 18.04

  3. Come installare Magento 2 su Ubuntu 18.04

  4. Come installare e configurare Samba su Ubuntu 18.04

  5. Come installare e configurare Redis su Ubuntu 20.04

Come installare e configurare Magento 2.3.0 su Ubuntu 18.04

Come installare e configurare OpenVAS 9 su Ubuntu

Come installare e configurare Redis in Ubuntu 20.04

Come installare e configurare Neo4j su Ubuntu 20.04

Come installare e configurare Ubuntu SDK in Ubuntu 16.04 e 14.04

Come installare e configurare PostgreSQL su Ubuntu