LEMP Stack · 6 min read · Jan 05, 2026
Installa LEMP Stack (Nginx, PHP e MariaDB) su Debian 11

Il LEMP Stack è un insieme di software open-source e framework o librerie utilizzati per ospitare applicazioni web su Internet. Uno stack è composto dal sistema operativo Linux, dal server web Nginx, dal server di database MariaDB/MySQL e dal linguaggio PHP. Un LEMP ha un buon supporto della comunità ed è utilizzato in molte applicazioni web altamente scalate in tutto il mondo.
In questo post, ti mostreremo come installare il LEMP stack su Debian 11.
Prerequisiti
- Un server che esegue Debian 11.
- Un nome di dominio valido puntato all’IP del tuo server.
- Una password di root configurata sul server.
Iniziare
Prima di iniziare, è una buona idea aggiornare i pacchetti del tuo sistema all’ultima versione. Puoi aggiornare tutti i pacchetti utilizzando il seguente comando:
apt-get update -yUna volta che il tuo sistema è aggiornato, puoi procedere al passaggio successivo.
Installa il server web Nginx
Nginx è un server web gratuito e open-source che segue un’architettura basata su eventi ed è in grado di gestire più richieste all’interno di un thread. È compatibile con applicazioni comunemente utilizzate ed è usato per servire file statici.
Per impostazione predefinita, il pacchetto Nginx è incluso nel repository predefinito di Debian 11. Puoi installarlo utilizzando il seguente comando:
apt-get install nginx -yUna volta installato Nginx, avvia il servizio Nginx e abilitalo per avviarsi al riavvio del sistema:
systemctl start nginx
systemctl enable nginxPuoi anche verificare la versione installata di Nginx con il seguente comando:
nginx -vDovresti vedere il seguente output:
nginx version: nginx/1.18.0
Per impostazione predefinita, Nginx funziona sulla porta 80. Puoi controllarlo utilizzando il seguente comando:
ss -antpl | grep nginxDovresti vedere il seguente output:
LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=44342,fd=8),("nginx",pid=44341,fd=8))
LISTEN 0 511 [::]:80 [::]:* users:(("nginx",pid=44342,fd=9),("nginx",pid=44341,fd=9))
Puoi anche controllare l’installazione di Nginx utilizzando l’URL http://your-server-ip. Dovresti vedere la pagina di test di Nginx nella seguente pagina:

A questo punto, il server web Nginx è installato. Puoi ora procedere al passaggio successivo.
Installa il server di database MariaDB
MariaDB è un database SQL open-source utilizzato per memorizzare e gestire dati per siti web. Per impostazione predefinita, il pacchetto MariaDB è incluso nel repository predefinito di Debian 11. Puoi installarlo utilizzando il seguente comando:
apt-get install mariadb-server -yUna volta installato il server di database MariaDB, avvia il servizio MariaDB e abilitalo per avviarsi al riavvio del sistema:
systemctl start mariadb
systemctl enable mariadbPuoi anche controllare lo stato del servizio MariaDB con il seguente comando:
systemctl status mariadbDovresti vedere il seguente output:
? mariadb.service - Server di database MariaDB 10.3.31
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-08-21 04:13:25 UTC; 1min 36s ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 1838 (mysqld)
Status: "Taking your SQL requests now..."
Tasks: 31 (limit: 2353)
Memory: 66.1M
CGroup: /system.slice/mariadb.service
??1838 /usr/sbin/mysqld
È anche consigliato proteggere la tua installazione di MariaDB e impostare una password di root per MariaDB. Puoi eseguire lo script mysql_secure_installation per proteggere l’installazione di MariaDB:
mysql_secure_installationTi verrà chiesto di impostare una password di root per MariaDB, rimuovere utenti anonimi, vietare il login remoto di root e rimuovere il database di test come mostrato di seguito:
Enter current password for root (enter for none):
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Per impostazione predefinita, MariaDB funziona sulla porta 3306. Puoi controllarlo utilizzando il seguente comando:
ss -antpl | grep mariadbDovresti vedere il seguente comando:
LISTEN 0 80 127.0.0.1:3306 0.0.0.0:* users:(("mariadbd",pid=12181,fd=15))
Per connetterti alla shell di MariaDB, esegui il seguente comando:
mysql -u root -pFornisci la tua password di root per MariaDB e premi Invio per connetterti alla shell di MariaDB. Una volta connesso, dovresti vedere il seguente output:
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 64
Server version: 10.5.11-MariaDB-1 Debian 11
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Ora, esegui il seguente comando per controllare la versione di MariaDB:
MariaDB [(none)]> SELECT VERSION();Dovresti vedere il seguente output:
+-------------------+
| VERSION() |
+-------------------+
| 10.5.11-MariaDB-1 |
+-------------------+
1 row in set (0.001 sec)
A questo punto, il server di database MariaDB è installato e protetto. Puoi ora procedere al passaggio successivo.
Installa il linguaggio PHP
PHP sta per Hypertext Preprocessor ed è un linguaggio di scripting utilizzato lato server. È open-source, ha un ampio supporto della comunità ed è utilizzato per ospitare applicazioni PHP su Internet.
Per impostazione predefinita, la versione di PHP disponibile in Debian 11 è PHP 7.4. Puoi installare PHP con altre estensioni comunemente utilizzate con il seguente comando:
apt-get install php php-fpm php-cli php-mysql php-zip php-curl php-xml -yUna volta installato PHP, verifica la versione di PHP utilizzando il seguente comando:
php -vDovresti vedere il seguente output:
PHP 7.4.21 (cli) (built: Jul 2 2021 03:59:48) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies
Crea un host virtuale per Nginx
Qui, creeremo una directory example.com per ospitare una pagina PHP. Puoi crearla con il seguente comando:
mkdir /var/www/html/example.comSuccessivamente, imposta la proprietà della directory example.com su www-data:
chown -R www-data:www-data /var/www/html/example.comSuccessivamente, crea un file di configurazione dell’host virtuale Nginx con il seguente comando:
nano /etc/nginx/conf.d/example.confAggiungi le seguenti righe:
server {
listen 80;
server_name example.com;
root /var/www/html/example.com;
index index.php;
access_log /var/log/nginx/example_access.log;
error_log /var/log/nginx/example_error.log;
client_max_body_size 100M;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Salva e chiudi il file, quindi verifica la configurazione di Nginx per eventuali errori di configurazione con il seguente comando:
nginx -tDovresti vedere il seguente output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Successivamente, riavvia il servizio Nginx per applicare le modifiche alla configurazione:
systemctl restart nginxPuoi anche controllare lo stato del servizio Nginx utilizzando il seguente comando:
systemctl status nginxDovresti vedere il seguente output:
? nginx.service - Un server web ad alte prestazioni e un server proxy inverso
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-08-21 04:37:27 UTC; 5s ago
Docs: man:nginx(8)
Main PID: 4378 (nginx)
Tasks: 2 (limit: 2353)
Memory: 6.2M
CGroup: /system.slice/nginx.service
??4378 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
??4379 nginx: worker process
Aug 21 04:37:27 debian11 systemd[1]: Starting Un server web ad alte prestazioni e un server proxy inverso...
Aug 21 04:37:27 debian11 systemd[1]: Started Un server web ad alte prestazioni e un server proxy inverso.
Verifica l’installazione di PHP su Nginx
Successivamente, dovrai creare un file PHP di esempio da servire tramite il server web Nginx. Puoi creare un file phpinfo.php all’interno della tua directory example.com:
nano /var/www/html/example.com/phpinfo.phpAggiungi la seguente riga:
Salva e chiudi il file, quindi apri il tuo browser web e accedi alla tua pagina PHP utilizzando l’URL http://example.com/phpinfo.php. Dovresti vedere la tua pagina PHP nella seguente schermata:
Conclusione
Nella guida sopra, abbiamo spiegato come installare il LEMP stack su Debian 11. Puoi ora iniziare a ospitare il tuo primo sito web utilizzando il LEMP stack. Sentiti libero di chiedermi se hai domande.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.