GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare Magento 2 con Nginx e Letsencrypt su Ubuntu 18.04

Magento è un software di e-commerce open source ampiamente utilizzato e un sistema di gestione dei contenuti per siti Web di e-commerce basato su PHP Zend Framework. Utilizza MySQL o MariaDB come backend del database. Lo sviluppo di Magento è stato avviato nel 2008 da Varien.

In questo tutorial, ti mostrerò come installare Magento 2 con Nginx, PHP 7.1 FPM e MySQL come database. Userò Ubuntu 18.04 (Bionic Beaver) come sistema operativo del server. Se non hai ancora una configurazione minima del server, consulta questo tutorial per ottenere una configurazione di base adeguata.

Prerequisiti

  • Ubuntu 18.04
  • 2 GB o più di memoria RAM
  • Privilegi di root

Cosa faremo

  1. Installa Nginx su Ubuntu 18.04
  2. Installa e configura PHP-FPM 7.1
  3. Installa e configura MySQL Server
  4. Installa e configura Magento 2
    1. Installa PHP Composer
    2. Scarica Magento 2
    3. Installa componenti Magento
    4. Genera SSL Letsencrypt
    5. Configura Nginx Virtual Host per Magento
    6. Post-installazione Magento
  5. Test

Passaggio 1:installa Nginx su Ubuntu 18.04 LTS

In questo tutorial, utilizzeremo il server web Nginx per la nostra installazione di Magento.

Accedi al server, aggiorna il repository e aggiorna tutti i pacchetti.

sudo apt update
sudo apt upgrade

Ora installa il server web Nginx usando il comando apt di seguito.

sudo apt install nginx -y

Al termine dell'installazione, avvia il servizio Nginx e abilitalo per l'avvio ogni volta all'avvio del sistema.

systemctl start nginx
systemctl enable nginx

Il server web Nginx è stato installato, controllalo usando il comando netstat e assicurati che la porta HTTP 80 sia nello stato "LISTEN". Un altro modo è usare il comando curl come di seguito.

netstat -plntu
curl -I localhost

Passaggio 2:installazione e configurazione di PHP-FPM 7.1

Dopo l'installazione del server web Nginx, installeremo PHP 7.1 sul server poiché Magento non supporta ancora PHP 7.2. Installeremo PHP-FPM con tutte le estensioni necessarie a Magento 2.

Elenco delle estensioni PHP necessarie per l'installazione di Magento 2:

  • 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

Per questa guida, installeremo i pacchetti PHP-FPM dal repository PPA. Useremo il repository 'ondrej/php'.

Installa il pacchetto 'software-properties-common' e aggiungi il repository 'ondrej/php' usando i comandi seguenti.

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

Ora installa PHP-FPM 7.1 con tutte le estensioni necessarie.

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

Al termine dell'installazione, controlla la versione PHP e le estensioni installate utilizzando i comandi PHP.

php -v
php -me

Successivamente, configureremo il file php.ini per PHP-FPM e PHP-CLI.

Modifica i file php.ini usando vim.

vim /etc/php/7.1/fpm/php.ini
vim /etc/php/7.1/cli/php.ini

Modifica il valore di quelle righe come di seguito.

memory_limit = 512M
max_execution_time = 180
zlib.output_compression = On

Salva ed esci.

Ora riavvia il servizio PHP-fpm e abilitalo all'avvio ogni volta all'avvio del sistema.

systemctl restart php7.1-fpm
systemctl enable php7.1-fpm

L'installazione e la configurazione di PHP-FPM 7.1 sono state completate, controlla il servizio usando il comando netstat.

netstat -pl | grep php

E otterrai il file dei calzini PHP-fpm come di seguito.

Passaggio 3:installazione e configurazione del server MySQL

Il software Magento richiede MySQL 5.6.x e Magento 2.1.2 o successivo richiede MySQL 5.7.x. In questo tutorial, installeremo l'ultimo server MySQL 5.8 sul sistema Ubuntu 18.04.

Installa MySQL 5.8 usando il comando apt di seguito.

sudo apt install mysql-server mysql-client -y

Al termine dell'installazione, avvia il servizio MySQL e abilitalo per l'avvio ogni volta all'avvio del sistema.

systemctl start mysql
systemctl enable mysql

Ora configureremo la password di root di MySQL usando il comando 'mysql_secure_installation'.

mysql_secure_installation

In questa versione MySQL 5.8, c'è un miglioramento della sicurezza per la politica delle password MySQL. Devi scegliere la politica della password:0 per la politica BASSA, 1 per la politica MEDIA e 2 per una politica della password FORTE.

Per questa guida, utilizzeremo la politica della password "MEDIA" e si consiglia di utilizzare la politica della password "STRONG" sul server di produzione.

Scegli il numero "1" e premi Invio, quindi digita la tua nuova password "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

La password di root MySQL è stata impostata.

Successivamente, creeremo un nuovo database per la nostra installazione di Magento. Creeremo un nuovo database denominato 'magentodb' con l'utente 'magentouser' e la password è '[email protected]#'.

Accedi alla shell MySQL utilizzando l'utente root.

mysql -u root -p

Ora esegui le query MySQL di seguito per creare il database e l'utente.

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;

L'installazione e la configurazione del server MySQL per l'installazione di Magento sono state completate.

Passaggio 4 - Installa e configura Magento 2

In questo passaggio, installeremo l'ultima versione di Magento 2.2.4 dal repository Github. Installeremo il compositore PHP per l'installazione dei componenti Magento, scaricheremo Magento dal repository Github, configureremo l'host virtuale Nginx per Magento e installeremo Magento utilizzando l'installazione post basata sul Web.

- Installa PHP Composer

Installa PHP Composer su Ubuntu 18.04 usando il comando apt di seguito.

sudo apt install composer -y

Al termine dell'installazione, controlla la versione del compositore installata sul sistema.

composer -V

È stata installata l'ultima versione di PHP Composer.

- Scarica Magento 2

Vai alla directory '/var/www' e scarica il codice sorgente dell'archivio Magento da Github usando il comando wget.

cd /var/www/
wget https://github.com/magento/magento2/archive/2.2.4.tar.gz

Ora estrai il file di archivio Magento e rinomina la directory in 'magento2'.

tar -xf 2.2.4.tar.gz
mv magento2-2.2.4/ magento2/

Il codice sorgente di Magento è stato scaricato e la directory '/var/www/magento2' sarà la web root del sito Magento.

- Installa i componenti Magento

Installa i componenti Magento usando il compositore PHP. Vai alla directory 'magento2' e installa tutti i componenti PHP necessari a Magento usando il comando 'compositore'.

cd /var/www/magento2
composer install -v

Al termine dell'installazione, otterrai il risultato come mostrato di seguito.

- Genera SSL Letsencrypt

Metteremo al sicuro la nostra installazione di Magento utilizzando SSL da Letsencrypt. Installa Letsencrypt usando il comando apt di seguito.

sudo apt install letsencrypt -y

Al termine dell'installazione, interrompere il servizio nginx.

systemctl stop nginx

Ora genera i certificati SSL per il nome di dominio usando il comando certbot come di seguito.

certbot certonly --standalone -d magento.hakase-labs.pw

Digita il tuo indirizzo e-mail, accetta i TOS di Letsencrypt, quindi digita 'N' per la condivisione e-mail.

Al termine, otterrai il risultato come di seguito.

I file del certificato SSL Letsencrypt sono stati generati nella directory '/etc/letsencrypt/live'.

- Configura host virtuale Nginx

Vai alla directory '/etc/nginx/sites-available' e crea un nuovo file host virtuale 'magento' usando vim.

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

Incolla lì la seguente configurazione.

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

Salva la configurazione ed esci.

Ora attiva l'host virtuale creando il collegamento simbolico per il file dell'host virtuale Magento alla directory 'siti abilitati'.

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

Testa il file di configurazione di nginx e assicurati che non ci siano errori.

nginx -t

Ora riavvia il servizio PHP-FPM e Nginx.

systemctl restart php7.1-fpm
systemctl restart nginx

E cambia il proprietario della directory web-root di Magento nell'utente e nel gruppo "www-data".

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

L'host virtuale nginx per Magento è stato aggiunto.

- Post-installazione Magento

Apri il browser web e digita l'URL Magento. Il mio è:

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

Per i "Termini e accordo", fai clic sul pulsante "Accetta e imposta Magento".

Ora controlla tutta la configurazione del sistema e del server per Magento "Readlines Check" e assicurati che "superi" tutti i controlli di sistema e configurazione come di seguito.

Ora fai clic sul pulsante "Avanti".

Configurazione del database per Magento:digita tutte le informazioni sul nostro database e fai clic su "Avanti".

Per la configurazione web, cambia l'"indirizzo del negozio" in HTTPS, "Indirizzo amministratore Magento" con l'URL del tuo percorso di amministratore e deseleziona "Apache Rewrites", perché stiamo usando il server web Nginx.

Fai di nuovo clic sul pulsante "Avanti".

Lascia "Personalizza il tuo negozio" come predefinito e fai clic su "Avanti".

Digita l'utente e la password di amministratore, quindi fai clic su "Avanti".

E fai clic sul pulsante "Installa ora" per installare Magento.

E una volta completata l'installazione, otterrai il risultato "successo" come di seguito.

Ora dobbiamo disabilitare l'accesso in scrittura per la directory '/var/www/magento2/app/etc'. Esegui il comando seguente.

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

Magento è stato installato sul server Ubuntu 18.04 Bionic Beaver.

Fase 5 - Test

Digita l'indirizzo di casa dell'URL di Magento e assicurati di ottenere la home page predefinita di Magento. Il mio è:https://magento.hakase-labs.pw/

Ora accedi alla dashboard di amministrazione di Magento visitando l'URL definito durante l'installazione 'admin_hakase'. Il mio è:

https://magento.hakase-labs.pw/admin_hakase/

Digita il nome utente e la password, quindi fai clic sul pulsante "Accedi".

E otterrai la dashboard dell'amministratore di Magento come di seguito.

Magento 2 è stato installato su Ubuntu 18.04 con server web Nginx, database MySQL e PHP-FPM 7.1.

Aggiuntivo:

Se ricevi un errore su un cronjob dell'indicizzatore Magento mancante, puoi risolverlo generando lo script crontab usando il comando seguente.:

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

Ora controlla lo script list crontab per l'utente 'www-data'.

crontab -u www-data -l


Ubuntu
  1. Come installare e configurare ownCloud con Apache su Ubuntu 18.04

  2. Come installare Magento 2 su Ubuntu 18.04

  3. Come installare Nextcloud con Nginx su Ubuntu 18.04 LTS

  4. Come installare Magento 2 con Nginx e Lets Encrypt SSL su Ubuntu 20.04 LTS

  5. Come installare Nginx con PHP5 e MySQL su Ubuntu 11.10

Come installare Django con PostgreSQL e Nginx su Ubuntu 16.04

Come installare Bolt CMS con Nginx su Ubuntu 20.04

Come installare più WordPress con Nginx su Ubuntu 18.04

Come installare e configurare Magento 2 su Ubuntu 18.04

Come installare e configurare Magento 2.3.0 su Ubuntu 18.04

Come installare LetsEncrypt con Nginx su Ubuntu 15.04