Installazione LEMP · 8 min read · Oct 12, 2025

Come installare Nginx con PHP e MySQL (LEMP Stack) su Ubuntu 20.04 LTS

Nginx (pronunciato “engine x”) è un server HTTP ad alte prestazioni, gratuito e open-source. Nginx è noto per la sua alta velocità, stabilità, ricco set di funzionalità, configurazione semplice e basso consumo di risorse. Questo tutorial mostra come installare Nginx su un server Ubuntu 20.04 LTS con supporto PHP 7.4 (tramite PHP-FPM) e supporto MySQL (LEMP = Linux + Nginx (pronunciato “engine x”) + MySQL + PHP).

Prerequisiti

  • Server Ubuntu 20.04 LTS
  • Privilegi di root

Cosa faremo?

  • Installare Nginx
  • Installare MySQL
  • Installare PHP-FPM
  • Configurare Nginx e PHP-FPM
  • Installare PhpMyAdmin
  • Configurare PhpMyAdmin
  • Testare

Passo 1 - Installare Nginx

Nginx o engine x è un server HTTP e proxy ad alte prestazioni con basso consumo di memoria. La maggior parte dei siti web su larga scala come Netflix, Pinterest, CloudFlare, GitHub utilizza Nginx.

In questo passo, installeremo il server web Nginx dal repository di Ubuntu.

Aggiorna tutti i repository sul sistema Ubuntu e installa i pacchetti Nginx utilizzando il comando apt qui sotto.

sudo apt update  
sudo apt install nginx

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

Ora l’installazione del server web Nginx è completata, controlla il servizio Nginx utilizzando il seguente comando.

systemctl status nginx

Di seguito è riportato il risultato che otterrai.

Installa Nginx

Controlla anche la porta HTTP sul sistema Ubuntu e assicurati che sia utilizzata dal servizio Nginx.

ss -plt4

Di seguito è riportato il risultato che otterrai.

Di conseguenza, il protocollo HTTP è utilizzato dal servizio Nginx.

Successivamente, proteggeremo la nostra installazione di Nginx utilizzando il firewall UFW.

Aggiungi il protocollo HTTP e HTTPS alla configurazione del firewall UFW utilizzando il seguente comando.

for fw in ssh http https  
do  
ufw allow $fw  
done

Ora abilita il firewall UFW e controlla il suo stato.

ufw enable  
ufw status numbered

E il protocollo HTTP e HTTPS è stato aggiunto alla configurazione del firewall UFW.

Apri porta HTTP e HTTPS UFW Firewall

Passo 2 - Installare MySQL

MySQL è il sistema di gestione di database relazionali (RDBMS) open-source più popolare creato da Oracle Corporation. È un componente centrale dello Stack LEMP, e installeremo l’ultima versione di MySQL dal repository di Ubuntu.

Installa MySQL utilizzando il comando apt qui sotto.

sudo apt install mysql-server mysql-client

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

systemctl start mysql  
systemctl enable mysql

Ora controlla il servizio MySQL utilizzando il comando qui sotto.

systemctl status mysql

Il servizio MySQL è attivo e funzionante.

Installa MySQL Server

Successivamente, imposteremo la password di root per il server MySQL.

Esegui il comando ‘mysql_secure_installation’ qui sotto.

mysql_secure_installation

Ora ti verrà chiesto di seguire la configurazione, e assicurati di digitare la tua password forte per l’utente root di MySQL.

Premi y|Y per Sì, qualsiasi altro tasto per No: Premi Invio  
  
Nuova password:   
Reinserisci nuova password:   
  
Rimuovere utenti anonimi? (Premi y|Y per Sì, qualsiasi altro tasto per No) : Y  
Disabilitare il login remoto per 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 ora le tabelle dei privilegi? (Premi y|Y per Sì, qualsiasi altro tasto per No) : Y

E la password di root di MySQL è stata configurata.

Di conseguenza, l’installazione e la configurazione del database MySQL su Ubuntu 20.04 sono state completate.

Passo 3 - Installare e configurare PHP-FPM

PHP-FPM o FastCGI Process Manager è un’alternativa per il vecchio PHP FastCGI che fornisce funzionalità aggiuntive e miglioramenti di velocità. Si adatta bene a siti piccoli e grandi basati sul linguaggio di programmazione PHP.

In questo passo, installeremo il PHP7.4-FPM predefinito con alcune estensioni aggiuntive richieste da PHPMyAdmin.

Installa PHP-FPM utilizzando il comando qui sotto.

sudo apt install php-fpm php-cli php-curl php-mysql php-curl php-gd php-mbstring php-pear -y

Dopo che l’installazione di PHP-FPM è completata, vai nella directory ‘/etc/php/7.4/fpm’ ed edita la configurazione php.ini utilizzando l’editor vim.

cd /etc/php/7.4/fpm/  
vim php.ini

Decommenta la seguente configurazione e cambia il valore in ‘0’.

cgi.fix_pathinfo = 0

Salva e chiudi.

Ora avvia il servizio PHP7.4-FPM e abilitalo per avviarsi ogni volta all’avvio del sistema

systemctl start php7.4-fpm  
systemctl enable php7.4-fpm

Il servizio PHP-FPM è attivo e funzionante, controllalo utilizzando il seguente comando.

systemctl status php7.4-fpm

Di seguito è riportato il risultato che otterrai.

Installa php-fpm

Per impostazione predefinita, PHP-FPM è in esecuzione sotto il file sock, controlla utilizzando il comando ss qui sotto.

ss -pl | grep php

Di seguito è riportata la risposta che otterrai.

u_str   LISTEN   0     511   /run/php/php7.4-fpm.sock 67702   * 0

E l’installazione di PHP-FPM 7.4 su Ubuntu 20.04 è stata completata.

Passo 4 - Configurare Nginx e PHP-FPM

In questo passo, configureremo il server web Nginx e PHP-FPM.

Vai nella directory di configurazione ‘/etc/nginx’ ed edita il file ‘nginx.conf’ utilizzando vim o nano.

cd /etc/nginx/  
vim nginx.conf

Decommenta la seguente riga per nascondere la versione di Nginx.

server_tokens off;

Salva e chiudi.

Successivamente, edita la configurazione del virtualhost ‘default’ nella directory ‘sites-available’.

vim sites-available/default

Decommenta la riga PHP mostrata qui sotto e cambia la riga del file sock.

        location ~ \.php$ {  
                include snippets/fastcgi-php.conf;  
        #  
        # # Con php-fpm (o altri socket unix):  
                fastcgi_pass unix:/run/php/php7.4-fpm.sock;  
        # # Con php-cgi (o altri socket tcp):  
        # fastcgi_pass 127.2.0.1:9000;  
        }

Salva e chiudi.

Testa la configurazione di Nginx e assicurati che non ci siano errori, quindi riavvia il servizio.

nginx -t  
systemctl restart nginx

Di conseguenza, la configurazione di Nginx e PHP-FPM è stata completata.

Configura Nginx e PHP-FPM

Passo 5 - Installare phpMyAdmin

PhpMyAdmin è un’applicazione basata su PHP per gestire database MySQL o MariaDB da un browser web. In questo passo, installeremo e configureremo PHPMyAdmin sotto lo stack LEMP (Linux, Nginx, MySQL e PHP-FPM).

Installa PHPMyAdmin utilizzando il comando apt qui sotto.

sudo apt install phpmyadmin

Durante l’installazione, ti verrà chiesto riguardo alla configurazione del server web per phpmyadmin.

Scegli l’opzione nessuna e sposta il cursore su ‘OK‘.

Configura server web per phpMyAdmin

Per la configurazione del database e dell’utente phpmyadmin, scegli ‘‘.

E digita una nuova password ‘FORTE’ per l’amministratore di PHPMyAdmin come ‘Hakaselabs001@#’.

Configura password per il database e l'utente di phpMyAdmin

Ripeti la password ‘Hakaselabs001@#’.

Configura server web per phpMyAdmin

E l’installazione di phpMyAdmin su Ubuntu 20.04 è completata.

Passo 6 - Configurare phpMyAdmin con Nginx e MySQL

Dopo l’installazione di phpmyadmin, dobbiamo configurare phpmyadmin per funzionare sotto il server web Nginx e configurare l’accesso dell’utente MySQL phpmyadmin. Per eseguire PHPMyAdmin sotto il server web Nginx, dobbiamo aggiungere la configurazione al file di configurazione del virtual host.

Configurare phpMyAdmin con il server web Nginx

Ora vai nella directory di configurazione ‘/etc/nginx’ ed edita il file del virtual host predefinito.

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

Incolla la seguente configurazione Nginx per PHPMyAdmin all’interno delle parentesi ‘server {…}’.

location /phpmyadmin {  
    root /usr/share/;  
    index index.php;  
    try_files $uri $uri/ =404;  
  
location ~ ^/phpmyadmin/(doc|sql|setup)/ {  
    deny all;  
    }  
  
location ~ /phpmyadmin/(.+\.php)$ {  
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;  
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
    include fastcgi_params;  
    include snippets/fastcgi-php.conf;  
    }  
}

Salva ed esci.

Testa la configurazione di nginx e assicurati che non ci siano errori, quindi riavvia il servizio nginx.

nginx -t  
systemctl reload nginx

E abbiamo aggiunto la configurazione di Nginx per la nostra installazione di phpMyAdmin, è accessibile tramite il percorso URL come ‘http://server-ip/phpmyadmin’.

Configura Nginx per phpMyAdmin

Consentire all’utente phpMyAdmin di accedere ai database

Per questo tutorial, utilizzeremo utenti MySQL non root per PHPMyAdmin. Creeremo un nuovo utente e concederemo tutti i privilegi di tutti i database all’interno del server all’utente.

Accedi alla shell di MySQL utilizzando il seguente comando.

mysql -u root -p

Ora crea un nuovo utente MySQL ‘hakase’ e concedi tutti i privilegi del database.

create user hakase@'localhost' identified by 'Hakaselabs001@#';  
grant all privileges on *.* to hakase@'localhost';  
flush privileges;

Ora digita ‘exit’ per disconnetterti dalla shell di MySQL.

exit

Di conseguenza, abbiamo creato un nuovo utente MySQL per phpMyAdmin.

Passo 7 - Testare

In questo passo, testeremo la nostra configurazione dello Stack LEMP e phpMyAdmin.

Testare il file PHP

Vai nella directory ‘/var/www/html’ e crea un nuovo file di script ‘info.php’ utilizzando l’editor vim.

cd /var/www/html  
vim info.php

Incolla il seguente script al suo interno.

Salva e chiudi.

Successivamente, apri il tuo browser web e digita l’indirizzo IP del tuo server seguito dal percorso del tuo script ‘info.php’.

http://server-ip/info.php

Di seguito è riportato il risultato che otterrai.

phpinfo con LEMP Stack

Di conseguenza, abbiamo dettagliato la configurazione del nostro PHP-FPM 7.4 sul server Ubuntu 20.04, e lo script PHP è in esecuzione sul nostro server LEMP Stack.

Testare phpMyAdmin

Per testare la nostra installazione di phpMyAdmin, digita l’indirizzo IP del tuo server seguito dal percorso ‘phpmyadmin’ nell’URL.

http://server-ip/phpmyadmin/

E otterrai la pagina di accesso di phpMyAdmin.

Pagina di accesso phpMyAdmin

Per accedere a phpMyAdmin, digita l’utente che abbiamo creato sopra. L’utente è ‘hakase’ con la password ‘Hakaselabs001@#’, quindi fai clic sul pulsante ‘Vai‘.

E otterrai il dashboard di phpMyAdmin come di seguito.

Dashboard di phpMyAdmin

Il phpMyAdmin funziona nell’ambiente LEMP Stack.

Di conseguenza, l’installazione e la configurazione dello Stack LEMP su Ubuntu 20.04 sono state completate con successo.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.