Installazione Magento · 9 min read · Oct 14, 2025

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 sul PHP Zend Framework. Utilizza MySQL o MariaDB come backend del database. Lo sviluppo di Magento è iniziato 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, ti prego di vedere questo tutorial per ottenere una corretta configurazione di base.

Requisiti

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

Cosa faremo

  1. Installare Nginx su Ubuntu 18.04
  2. Installare e configurare PHP-FPM 7.1
  3. Installare e configurare MySQL Server
  4. Installare e configurare Magento 2 1. Installare PHP Composer
  5. Scaricare Magento 2
  6. Installare i componenti di Magento
  7. Generare SSL Letsencrypt
  8. Configurare l’host virtuale Nginx per Magento
  9. Post-installazione di Magento
  10. Testare

Passo 1 - Installare 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 utilizzando il comando apt qui sotto.

sudo apt install nginx -y

Dopo che l’installazione è completata, avvia il servizio Nginx e abilitalo per avviarsi ogni volta all’avvio del sistema.

systemctl start nginx  
systemctl enable nginx

Il server web Nginx è stato installato, controllalo utilizzando il comando netstat e assicurati che la porta HTTP 80 sia nello stato ‘LISTEN’. Un altro modo è utilizzare il comando curl come qui sotto.

netstat -plntu  
curl -I localhost

Installa il server web Nginx

Passo 2 - Installare e configurare 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 per Magento 2.

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

  • bc-math
  • ctype
  • curl
  • dom
  • gd, ImageMagick 6.3.7 (o successivo) o entrambi
  • intl
  • mbstring
  • mcrypt
  • hash
  • openssl
  • PDO/MySQL
  • SimpleXML
  • soap
  • spl
  • libxml
  • xsl
  • zip
  • json
  • iconv

Per questa guida, installeremo i pacchetti PHP-FPM dal repository PPA. Utilizzeremo il repository ‘ondrej/php’.

Installa il pacchetto ‘software-properties-common’ e aggiungi il repository ‘ondrej/php’ utilizzando i comandi qui sotto.

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

Installa PHP 7.1

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

Dopo che l’installazione è completata, controlla la versione di PHP e le estensioni installate utilizzando i comandi PHP.

php -v  
php -me

Controlla l'installazione di PHP

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

Modifica i file php.ini utilizzando vim.

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

Cambia il valore di quelle righe come qui sotto.

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

Salva ed esci.

Ora riavvia il servizio PHP-fpm e abilitalo per avviarsi 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 utilizzando il comando netstat.

netstat -pl | grep php

E otterrai il file socket di PHP-fpm come qui sotto.

Controlla il socket PHP-FPM

Passo 3 - Installare e configurare MySQL Server

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’ultima versione del server MySQL 5.8 sul sistema Ubuntu 18.04.

Installa MySQL 5.8 utilizzando il comando apt qui sotto.

sudo apt install mysql-server mysql-client -y

Dopo che l’installazione è completata, avvia il servizio MySQL e abilitalo per avviarsi ogni volta all’avvio del sistema.

systemctl start mysql  
systemctl enable mysql

Ora configureremo la password di root di MySQL utilizzando il comando ‘mysql_secure_installation’.

mysql_secure_installation

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

Per questa guida, utilizzeremo la politica delle password ‘MEDIA’, ed è consigliato utilizzare la politica delle password ‘FORTE’ sul server di produzione.

Scegli il numero ‘1’ e premi Invio, quindi digita la tua nuova password ‘root’ di MySQL.

Sicurezza dell'installazione di MySQL

 Rimuovere gli utenti anonimi? (Premi y|Y per Sì, qualsiasi altro tasto per No) : Y  
 Vietare l'accesso remoto a root? (Premi y|Y per Sì, qualsiasi altro tasto per No) : Y  
 Rimuovere il database di test e l'accesso ad esso? (Premi y|Y per Sì, qualsiasi altro tasto per No) : Y  
 Ricaricare le tabelle dei privilegi ora? (Premi y|Y per Sì, qualsiasi altro tasto per No) : Y

La password di root di MySQL è stata impostata.

Successivamente, creeremo un nuovo database per la nostra installazione di Magento. Creeremo un nuovo database chiamato ‘magentodb’ con utente ‘magentouser’ e la password è ‘Magento0463@#’.

Accedi alla shell di MySQL utilizzando l’utente root.

mysql -u root -p

Ora esegui le query MySQL qui sotto per creare il database e l’utente.

create database magentodb;  
create user magentouser@localhost identified by 'Magento0463@#';  
grant all privileges on magentodb.* to magentouser@localhost identified by 'Magento0463@#';  
flush privileges;

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

Crea database MySQL e utente per Magento

Passo 4 - Installare e configurare Magento 2

In questo passo, installeremo l’ultima versione di Magento 2.2.4 dal repository Github. Installeremo il PHP composer per installare i componenti di Magento, scaricare Magento dal repository Github, configurare l’host virtuale Nginx per Magento e installare Magento utilizzando la post-installazione basata sul web.

- Installare PHP Composer

Installa PHP Composer su Ubuntu 18.04 utilizzando il comando apt qui sotto.

sudo apt install composer -y

Dopo che l’installazione è completata, controlla la versione di composer installata sul sistema.

composer -V

L’ultima versione di PHP Composer è stata installata.

- Scaricare Magento 2

Vai alla directory ‘/var/www’ e scarica l’archivio sorgente di Magento da Github utilizzando il comando wget.

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

Ora estrai il file dell’archivio di 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 radice web per il sito Magento.

- Installare i componenti di Magento

Installa i componenti di Magento utilizzando il PHP composer. Vai alla directory ‘magento2’ e installa tutti i componenti PHP necessari per Magento utilizzando il comando ‘composer’.

cd /var/www/magento2  
composer install -v

Dopo che l’installazione è completata, otterrai il risultato come mostrato qui sotto.

- Generare SSL Letsencrypt

Proteggeremo la nostra installazione di Magento utilizzando SSL da Letsencrypt. Installa Letsencrypt utilizzando il comando apt qui sotto.

sudo apt install letsencrypt -y

Dopo che l’installazione è completata, ferma il servizio nginx.

systemctl stop nginx

Ora genera i certificati SSL per il nome di dominio utilizzando il comando certbot come qui sotto.

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

Digita il tuo indirizzo email, accetta i TOS di Letsencrypt, quindi digita ‘N’ per la condivisione dell’email.

Abilita il certificato SSL di Let's encrypt

Quando è completo, otterrai il risultato come qui sotto.

Certificato SSL emesso con successo

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

- Configurare l’host virtuale Nginx

Vai alla directory ‘/etc/nginx/sites-available’ e crea un nuovo file di host virtuale ‘magento’ utilizzando vim.

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

Incolla la seguente configurazione lì.

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 link simbolico per il file dell’host virtuale di Magento nella directory ‘sites-enabled’.

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 radice web di Magento in utente e gruppo ‘www-data’.

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

L’host virtuale nginx per Magento è stato aggiunto.

- Post-installazione di Magento

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

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

Per i ‘Termini e condizioni’, fai clic sul pulsante ‘Accetta e configura Magento’.

Installer web di Magento

Ora controlla tutte le configurazioni di sistema e server per il ‘Controllo delle letture’ di Magento, e assicurati che ‘superi’ tutti i controlli di sistema e configurazione come qui sotto.

Controlla i requisiti

Ora fai clic sul pulsante ‘Avanti’.

Configurazione del database per Magento - digita tutte le informazioni del nostro database e fai clic su ‘Avanti’.

Configurazione del database

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

Configurazione web

Fai clic di nuovo sul pulsante ‘Avanti’.

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

Personalizza il negozio Magento

Digita il tuo utente admin e la password, quindi fai clic su ‘Avanti’.

Configura l'account admin

E fai clic sul pulsante ‘Installa ora’ per installare Magento.

Inizia l'installazione di Magento

E quando l’installazione è completata, otterrai il risultato ‘successo’ come qui sotto.

Installazione di Magento riuscita

Ora dobbiamo disabilitare l’accesso in scrittura per la directory ‘/var/www/magento2/app/etc’. Esegui il comando qui sotto.

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

Magento è stato installato sul server Ubuntu 18.04 Bionic Beaver.

Passo 5 - Test

Digita l’indirizzo URL di Magento e assicurati di ottenere la pagina principale predefinita di Magento. Il mio è: https://magento.hakase-labs.pw/

Homepage di Magento

Ora accedi al pannello di amministrazione di Magento visitando l’URL definito durante l’installazione ‘admin_hakase’. Il mio è:

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

Login backend di Magento

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

E otterrai il pannello di amministrazione di Magento come qui sotto.

Dashboard di Magento

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

Aggiuntivo:

Se ricevi un errore riguardo a un cronjob dell’indicizzatore di Magento mancante, puoi risolverlo generando lo script crontab utilizzando il comando qui sotto.:

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

Ora controlla l’elenco degli script crontab per l’utente ‘www-data’.

crontab -u www-data -l

Configura il cronjob dell'indicizzatore di Magento

Riferimento

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.