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
- Installare Nginx su Ubuntu 18.04
- Installare e configurare PHP-FPM 7.1
- Installare e configurare MySQL Server
- Installare e configurare Magento 2 1. Installare PHP Composer
- Scaricare Magento 2
- Installare i componenti di Magento
- Generare SSL Letsencrypt
- Configurare l’host virtuale Nginx per Magento
- Post-installazione di Magento
- 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 upgradeOra installa il server web Nginx utilizzando il comando apt qui sotto.
sudo apt install nginx -yDopo che l’installazione è completata, avvia il servizio Nginx e abilitalo per avviarsi ogni volta all’avvio del sistema.
systemctl start nginx
systemctl enable nginxIl 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
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
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 -yDopo che l’installazione è completata, controlla la versione di 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 utilizzando vim.
vim /etc/php/7.1/fpm/php.ini
vim /etc/php/7.1/cli/php.iniCambia il valore di quelle righe come qui sotto.
memory_limit = 512M
max_execution_time = 180
zlib.output_compression = OnSalva 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-fpmL’installazione e la configurazione di PHP-FPM 7.1 sono state completate, controlla il servizio utilizzando il comando netstat.
netstat -pl | grep phpE otterrai il file socket di PHP-fpm come qui sotto.

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 -yDopo che l’installazione è completata, avvia il servizio MySQL e abilitalo per avviarsi ogni volta all’avvio del sistema.
systemctl start mysql
systemctl enable mysqlOra configureremo la password di root di MySQL utilizzando il comando ‘mysql_secure_installation’.
mysql_secure_installationIn 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.

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) : YLa 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 -pOra 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.

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 -yDopo che l’installazione è completata, controlla la versione di composer installata sul sistema.
composer -VL’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.gzOra 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 -vDopo 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 -yDopo che l’installazione è completata, ferma il servizio nginx.
systemctl stop nginxOra genera i certificati SSL per il nome di dominio utilizzando il comando certbot come qui sotto.
certbot certonly --standalone -d magento.hakase-labs.pwDigita il tuo indirizzo email, accetta i TOS di Letsencrypt, quindi digita ‘N’ per la condivisione dell’email.

Quando è completo, otterrai il risultato come qui sotto.

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 magentoIncolla 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 -tOra riavvia il servizio PHP-FPM e Nginx.
systemctl restart php7.1-fpm
systemctl restart nginxE 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’.

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.

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

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.

Fai clic di nuovo sul pulsante ‘Avanti’.
Lascia ‘Personalizza il tuo negozio’ come predefinito e fai clic su ‘Avanti’.

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

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

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

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/etcMagento è 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/

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/

Digita il nome utente e la password, quindi fai clic sul pulsante ‘Accedi’.
E otterrai il pannello di amministrazione di Magento come qui sotto.

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 --forceOra controlla l’elenco degli script crontab per l’utente ‘www-data’.
crontab -u www-data -l
Riferimento
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.