Installazione Server · 6 min read · Oct 12, 2025

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

Nginx (pronunciato “engine x”) è un server HTTP ad alte prestazioni, gratuito e open-source. Nginx è noto per la sua stabilità, ricco set di funzionalità, configurazione semplice e basso consumo di risorse. Questo tutorial mostra come puoi installare Nginx su un server Ubuntu 18.04 LTS con supporto PHP 7.2 (tramite PHP-FPM) e supporto MySQL (LEMP = L inux + nginx (pronunciato “ e ngine x”) + M ySQL + P HP).

Prerequisiti

  • Server Ubuntu 18.04 LTS
  • Privilegi di root

Cosa faremo?

  1. Installare Nginx
  2. Installare MySQL
  3. Installare PHP-FPM
  4. Configurare Nginx e PHP-FPM
  5. Installare PhpMyAdmin
  6. Configurare PhpMyAdmin
  7. 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 utilizzano Nginx.

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

Esegui il comando 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

L’installazione di Nginx è completa.

Configurare il Firewall

È consigliato attivare il firewall sul server.

Aggiungi la porta del servizio SSH e HTTP alla configurazione del firewall.

Esegui il comando UFW qui sotto.

ufw allow ssh  
ufw allow http

Ora avvia il firewall UFW e abilitalo per avviarsi ogni volta all’avvio del sistema.

ufw enable

Il server web Nginx è attivo e funzionante sotto il firewall UFW.

Configurazione del firewall UFW

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 -y

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

E abbiamo installato MySQL 5.7 sul server Ubuntu 18.04.

Passo 3 - Installare 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 PHP7.2-FPM con alcune estensioni aggiuntive richieste da phpmyadmin.

Installa PHP-FPM utilizzando il comando qui sotto.

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

Ora avvia il servizio PHP-FPM e abilitalo per avviarsi ogni volta all’avvio del sistema dopo che tutte le installazioni sono complete.

systemctl start php7.2-fpm  
systemctl enable php7.2-fpm

PHP7.2-FPM è attivo e funzionante su Ubuntu 18.04 sotto il file sock, controllalo utilizzando il comando netstat.

netstat -pl | grep php

Passo 4 - Configurare Nginx e PHP-FPM

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

Configurare Nginx

Vai alla directory di configurazione ‘/etc/nginx’ e modifica il file ‘nginx.conf’ utilizzando vim o nano.

cd /etc/nginx/  
vim nginx.conf

Decommenta le seguenti righe.

keepalive_timeout 2;
server_tokens off;

Salva il file di configurazione ed esci dall’editor.

Ora modifica il file del virtual host predefinito di Nginx.

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:/var/run/php/php7.2-fpm.sock;
        # # Con php-cgi (o altri socket tcp):
        # fastcgi_pass 127.2.0.1:9000;
        }

Salva ed esci.

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

nginx -t  
systemctl reload nginx

Riavvia Nginx e testa la configurazione

Configurare PHP-FPM

Vai alla directory ‘/etc/php/7.2’ e modifica il file ‘php.ini’.

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

Decommenta la riga ‘cgi.fix_pathinfo’ e cambia il valore in ‘0’.

cgi.fix_pathinfo=0

Salva ed esci.

Ricarica il servizio PHP-FPM.

systemctl reload php7.2-fpm

E abbiamo completato la configurazione del server web Nginx e di 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 -y

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

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

Per la configurazione del database di phpmyadmin, scegli ‘Sì’.

Non selezionare per configurare un server web

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

Ripeti la password ‘Hakaselabs001@#’.

ripeti la password

E l’installazione di phpmyadmin è completa.

Passo 6 - Configurare PhpMyAdmin

Dopo l’installazione di phpmyadmin, dobbiamo configurare phpmyadmin per funzionare sotto il server web Nginx e configurare l’accesso dell’utente MySQL a phpmyadmin.

Configurare PhpMyAdmin con Nginx

Per eseguire phpmyadmin sotto il server web Nginx, dobbiamo aggiungere la configurazione al file di configurazione del virtual host.

Vai alla directory di configurazione ‘/etc/nginx’ e modifica il file del virtual host predefinito.

cd /etc/nginx/  
vim sites-available/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:/var/run/php/php7.2-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 riavvia il servizio nginx.

nginx -t  
systemctl reload nginx

E abbiamo aggiunto la configurazione Nginx per phpmyadmin.

Configurare l’utente MySQL per PhpMyAdmin

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

Accedi alla shell di MySQL.

mysql -u root -p

Ora crea un nuovo utente utilizzando le query MySQL qui sotto.

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

E abbiamo creato un nuovo utente per l’accesso a phpmyadmin.

Configura un utente MySQL

Passo 7 - Testare

Testare i file PHP

Vai alla directory web-root ‘/var/www/html’ e crea un nuovo file phpinfo.

cd /var/www/html/  
vim info.php

Incolla lo script phpinfo qui sotto.

Salva ed esci.

Ora apri il browser web e digita l’indirizzo IP del server come mostrato qui sotto. Sostituisci l’IP con l’IP del tuo server.

http://192.168.33.10/info.php

E qui ci sono tutte le informazioni sulla configurazione del server PHP.

Risultato PHP Info

Testare il login di PhpMyAdmin

Nel browser web, digita il seguente URL di phpmyadmin (sostituisci l’IP con l’IP del tuo server).

http://192.168.33.10/phpmyadmin/

Nella pagina di login di phpmyadmin, digita l’utente ‘hakase’ con la password ‘Hakaselabs001@#’ e fai clic sul pulsante ‘Vai’.

Login di PHPMyAdmin

Ora vedremo il dashboard di phpmyadmin qui sotto.

Dashboard di PHPMyAdmin

Lo Stack LEMP e PhpMyAdmin sono stati installati con successo su Ubuntu 18.04 LTS.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.