Installazione Server · 10 min read · Sep 22, 2025
Come installare Lighttpd con MariaDB e PHP-FPM su Ubuntu 22.04

Il LLMP Stack (Linux, Lighttpd, MariaDB e PHP-FPM) è un software stack per la fornitura di applicazioni web. Ogni componente del LLMP Stack è gratuito, open-source e può essere installato su più sistemi operativi. Il LLMP Stack può fornire siti HTML statici e applicazioni PHP come WordPress, Drupal e Joomla.
Questo tutorial ti mostrerà come installare e configurare il LLMP Stack (Linux, Lighttpd, MariaDB e PHP-FPM) sul sistema Ubuntu 22.04 più recente. Questo tutorial include istruzioni su come impostare l’Host Virtuale sul server web Lighttpd e abilitare SSL/HTTPS.
Prerequisiti
Per questo tutorial, avremo bisogno dei seguenti prerequisiti:
- Un server Ubuntu 22.04.
- Un utente non root con privilegi di root/amministratore
Installazione del server web Lighttpd
Lighttpd o Lighty è un server web ad alte prestazioni creato come prova del concetto del problema c10k “come gestire 10.000 connessioni in parallelo su un singolo server”.
Il Lighttpd è progettato per velocità, sicurezza, leggerezza e flessibilità. Ha un utilizzo minimo di CPU e memoria e fornisce funzionalità avanzate come FastCGI, CGI, Auth, Compressione, Riscrittura URL e altro.
Prima di installare qualsiasi pacchetto, esegui il comando apt qui sotto per aggiornare e rinfrescare l’indice dei pacchetti dei tuoi repository Ubuntu.
sudo apt updateOra installa il server web Lighttpd utilizzando il seguente comando.
sudo apt install lighttpdInserisci Y per confermare l’installazione e premi ENTER per continuare. Ora l’installazione di Lighttpd inizierà.

Dopo che l’installazione di Lighttpd è terminata, esegui il comando qui sotto per avviare e abilitare il servizio Lighttpd.
sudo systemctl start lighttpd
sudo systemctl enable lighttpdControlla e verifica il servizio Lighttpd utilizzando il comando qui sotto. Dovresti vedere che il servizio Lighttpd è in esecuzione e abilitato, il che significa che verrà eseguito automaticamente all’avvio del sistema.
sudo systemctl status lighttpd
Se hai un firewall UFW in esecuzione sulla tua macchina Ubuntu, allora devi aggiungere le regole del firewall per il traffico in entrata al server web Lighttpd.
Esegui il comando ufw qui sotto per aggiungere le regole Lighttpd al firewall UFW, quindi puoi controllare e verificare l’elenco delle regole UFW come qui sotto.
sudo ufw allow "Lighttpd Full"
sudo ufw statusDovresti vedere il profilo dell’applicazione “Lighttpd Full” aggiunto al firewall UFW, il che significa che tutte le porte HTTP e HTTPS in entrata sono consentite.

Ora controlla la directory “ /var/www/html“ utilizzando il comando qui sotto. Se non vedi un file index.html, puoi crearne uno utilizzando il comando qui sotto.
ls -lah /var/www/html
echo "Benvenuto nel server web Lighttpd
" > /var/www/html/index.htmlInfine, apri il tuo browser web e visita l’indirizzo IP del server (cioè http://192.168.5.28/) e dovresti vedere la pagina index.html.
Installazione del server MariaDB
Dopo aver installato il server web Lighthttpd, è tempo di installare il server MariaDB sul sistema Ubuntu. Questo include anche come distribuire il server MariaDB in modo sicuro utilizzando lo strumento “ mysql_secure_installation “ fornito dal pacchetto MariaDB.
Esegui il seguente comando apt per installare il server MariaDB. Attualmente, il repository predefinito di Ubuntu fornisce la versione MariaDB v10.6.
sudo apt install mariadb-serverOra inserisci Y per confermare l’installazione e premi ENTER. E l’installazione di MariaDB inizierà.

Dopo che l’installazione di MariaDB è terminata, esegui il comando systemctl qui sotto per avviare e abilitare il servizio MariaDB.
sudo systemctl start mariadb
sudo systemctl enable mariadbControlla e verifica il servizio MariaDB utilizzando il seguente comando. E dovresti vedere il servizio MariaDB in esecuzione.
sudo systemctl status mariadbSuccessivamente, imposterai la distribuzione di MariaDB utilizzando lo strumento “mysql_secure_installation”, che può aiutarti a impostare la password di root per il server MariaDB, disabilitare il login remoto di root, pulire il database predefinito e l’accesso dell’utente anonimo, ecc.
Ora esegui il comando “mysql_secure_installation” come qui sotto.
sudo mysql_secure_installationL’installazione predefinita di MariaDB viene fornita senza una password di root. Premi ENTER per continuare.

Ora inserisci “ n “ per mantenere il metodo di autenticazione come predefinito (per l’utente root di MariaDB).

Inserisci Y per impostare la password di root per il tuo server MariaDB. Assicurati di utilizzare una password forte per la tua distribuzione.

Ora inserisci Y per disabilitare il login remoto per l’utente root di MariaDB. Se non sei in un ambiente cluster, è sempre consigliato disabilitare il login remoto per l’utente root di MariaDB.
Ora inserisci Y di nuovo per rimuovere l’utente anonimo predefinito dalla tua installazione di MariaDB.

Inserisci Y di nuovo per rimuovere il database di test predefinito accessibile dall’utente anonimo su MariaDB.

Infine, inserisci Y di nuovo per ricaricare tutti i privilegi delle tabelle sul tuo server MariaDB e applicare le nuove modifiche.

Installazione di PHP-FPM 8.1
Hai ora installato il server web Lighttpd e il server di database MariaDB. Ora installerai PHP-FPM sul tuo sistema Ubuntu. Attualmente, il repository di Ubuntu fornisce l’ultima versione di PHP 8.1.
Esegui il comando apt qui sotto per installare PHP-FPM 8.1 sul tuo sistema Ubuntu.
sudo apt install php-fpm php-common php-mysql php-cli php-curl php-xmlInserisci Y per confermare l’installazione e premi ENTER. Ora, l’installazione inizierà.

Dopo che l’installazione dei pacchetti PHP-FPM è completata, esegui il comando qui sotto per avviare e abilitare il servizio PHP-FPM.
sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpmControlla e verifica il servizio PHP-FPM utilizzando il comando qui sotto. Dovresti vedere che il servizio PHP-FPM è in esecuzione.
sudo systemctl status php8.1-fpm
Puoi anche controllare il servizio PHP-FPM utilizzando il comando “ ss “. Il processo PHP-FPM predefinito viene eseguito sotto il file sock, e puoi controllare il processo PHP-FPM utilizzando il comando qui sotto.
ss -pl | grep phpDovresti ottenere il servizio PHP-FPM in esecuzione sul file sock “ /run/php/php8.1-fpm.sock “.
Configurazione di PHP-FPM con Lighttpd
L’installazione dei pacchetti LLMP Stack è completata, ma devi ancora configurare il server web Lighttpd affinché possa lavorare con il servizio PHP-FPM. E questo può essere fatto utilizzando i moduli FastCGI sul server web Lighttpd.
Per prima cosa, modifica il file di configurazione di PHP-FPM “ /etc/php/8.1/fpm/php.ini “ utilizzando l’editor nano.
sudo nano /etc/php/8.1/fpm/php.iniAggiungi la seguente configurazione al file.
cgi.fix_pathinfo = 1Salva e chiudi il file quando hai finito.
Ora riavvia il servizio PHP-FPM utilizzando il comando qui sotto per applicare le nuove modifiche.
sudo systemctl restart php8.1-fpmSuccessivamente, esegui il seguente comando per abilitare i moduli Lighttpd “ fastcgi “ e “ fastcgi-php-fpm “.
sudo lighty-enable-mod fastcgi fastcgi-php-fpmModifica il file di configurazione “ /etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf “ utilizzando l’editor nano. Questo file è la configurazione del modulo fastcgi-php-fpm che verrà utilizzato per comunicare con il file sock di PHP-FPM.
sudo nano /etc/lighttpd/conf-available/15-fastcgi-php-fpm.confCambia il percorso dell’opzione socket in “ /run/php/php8.1-fpm.sock “ come segue.
## Usa il servizio PHP-FPM per PHP tramite FastCGI
fastcgi.server += ( ".php" =>
((
"socket" => "/run/php/php8.1-fpm.sock",
"broken-scriptfilename" => "enable"
))
)Salva e chiudi il file quando hai finito.
Infine, esegui il comando qui sotto per riavviare il servizio Lighttpd e applicare le nuove modifiche. Ora il tuo LLMP Stack è pronto per servire sia applicazioni web HTML statiche che dinamiche PHP.
sudo systemctl restart lighttpd
Testare Phpinfo
Per verificare l’installazione del tuo LLMP Stack, puoi semplicemente creare lo script PHPINFO che ti mostra la configurazione dettagliata delle configurazioni di Lighttpd e PHP-FPM.
Esegui il comando qui sotto per creare un nuovo script PHP “ /var/www/html/info.php “ e cambia la proprietà all’utente “ www-data “.
echo "" > /var/www/html/info.php
sudo chown -R www-data:www-data /var/www/htmlTorna al tuo browser web e visita l’indirizzo IP del server Ubuntu seguito dal percorso URL “ /info.php “ ( http://192.168.5.28/info.php). E dovresti vedere la pagina phpinfo dettagliata nello screenshot seguente. Questo significa che la configurazione di Lighttpd e PHP-FPM è completata e riuscita.

Configurazione dell’Host Virtuale su Lighttpd
A questo punto, hai completato l’installazione e la configurazione del LLMP Stack. Il LLMP Stack è anche pronto per servire un’applicazione web PHP dinamica tramite PHP-FPM. Ora imparerai come impostare l’Host Virtuale sul server web Lighttpd. L’Host virtuale ti consente di eseguire più nomi di dominio su un singolo server o indirizzo IP.
Ora esegui il seguente comando per creare una nuova directory “ /etc/lighttpd/vhosts “. Questa directory verrà utilizzata per memorizzare tutte le configurazioni degli host virtuali del server web Lighttpd.
sudo mkdir -p /etc/lighttpd/vhosts/Ora modifica il file di configurazione di Lighttpd “ /etc/lighttpd/lighttpd.conf “ utilizzando l’editor nano.
sudo nano /etc/lighttpd/lighttpd.confAggiungi la seguente configurazione al file.
include "/etc/lighttpd/vhosts/*.conf"Salva e chiudi il file quando hai finito. Ora sei pronto per impostare l’host virtuale di Lighttpd.
Per prima cosa, crea la directory Document Root per il tuo host virtuale. In questo esempio, la directory Document Root sarà “ /var/www/hwdomain “.
mkdir -p /var/www/hwdomain/Crea un nuovo file “index.html” nella directory Document root “/var/www/hwdomain” e cambia la proprietà all’utente corretto “www-data”.
echo "Benvenuto nell'host virtuale howtoforge.local
" > /var/www/hwdomain/index.html
sudo chown -R www-data:www-data /var/www/hwdomainSuccessivamente, crea una nuova configurazione dell’host virtuale “ /etc/lighttpd/vhosts/hwdomain.conf “ utilizzando l’editor nano.
sudo nano /etc/lighttpd/vhosts/hwdomain.confAggiungi la seguente configurazione al file. In questo esempio, il dominio “howtoforge.local” sarà utilizzato per l’host virtuale.
$HTTP["host"] =~ "(^|.)howtoforge.local$" {
server.document-root = "/var/www/hwdomain"
server.errorlog = "/var/log/lighttpd/howtoforge.local-error.log"
accesslog.filename = "/var/log/lighttpd/howtoforge.local-access.log"
}Salva e chiudi il file quando hai finito.
Dopo di che, esegui il seguente comando per controllare e verificare la configurazione di Lighttpd. Se la configurazione di Lighttpd è corretta, vedrai il messaggio di output come “ Syntax OK “.
sudo lighttpd -t -f /etc/lighttpd/lighttpd.confOra riavvia il servizio Lighttpd per applicare la nuova configurazione dell’host virtuale utilizzando il comando qui sotto.
sudo systemctl restart lighttpd
Torna al tuo browser web e inserisci il tuo nome di dominio nella barra degli indirizzi (cioè http://howtoforge.local/). E dovresti vedere la pagina index.html predefinita per quell’host virtuale.
Abilitare HTTPS sul server web Lighttpd
Dopo aver impostato l’host virtuale Lighthttpd, ora imparerai come abilitare SSL/HTTPS sul server web Lighttpd.
Prima di iniziare a configurare SSL, esegui il comando qui sotto per abilitare il modulo “ssl” per il server web Lighttpd. Questo creerà un file di collegamento a “ /etc/lighttpd/conf-enabled/10-ssl.conf “, che contiene la configurazione SSL di base per Lighttpd. Inoltre, sarà necessario generare i certificati SSL per localhost con il nome “ server.pem “
sudo lighty-enable mod sslOra esegui il comando qui sotto per creare e generare il certificato SSL per localhost con il nome “ server.pem “.
openssl req -new -newkey rsa:2048 -nodes -keyout server.com.key -out server.com.csr
openssl x509 -req -days 365 -in server.com.csr -signkey server.com.key -out server.com.crtcat server.com.key server.com.crt > server.pemE ora sei pronto per implementare SSL/HTTPS nella configurazione dell’host virtuale “ hwdomain.conf “.
Prima di iniziare a configurare SSL per l’host virtuale, assicurati di aver generato certificati SSL per il tuo nome di dominio. In questo esempio, il nome di dominio è “howtoforge.local” e i certificati SSL sono disponibili nella directory “ /etc/letsencrypt/live/hwdomain.local “.
Modifica la configurazione dell’host virtuale “ /etc/lighttpd/vhosts/hwdomain.conf “ utilizzando l’editor nano.
sudo nano /etc/lighttpd/vhosts/hwdomain.confSostituisci la configurazione che hai appena creato con la seguente configurazione.
$HTTP["scheme"] == "http" {
$HTTP["host"] == "howtoforge.local" {
url.redirect = ("/.*" => "https://howtoforge.local$0")
}
}
$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/letsencrypt/live/howtoforge.local/fullchain.pem"
ssl.privkey = "/etc/letsencrypt/live/howtoforge.local/privkey.pem"
server.name = "howtoforge.local"
server.document-root = "/var/www/hwdomain"
server.errorlog = "/var/log/lighttpd/howtoforge.local-error.log"
accesslog.filename = "/var/log/lighttpd/howtoforge.local-access.log"
}Salva e chiudi il file quando hai finito.
Successivamente, esegui il seguente comando per controllare e verificare la configurazione del server web Lighttpd, e assicurati di ricevere un messaggio di output come “Syntax OK”. Dopo di che, puoi riavviare il servizio Lighttpd per applicare le nuove modifiche.
sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf
sudo systemctl restart lighttpdInfine, torna al tuo browser web e visita il nome di dominio dell’host virtuale con https davanti all’URL (cioè, https://howtoforge.local). Se la tua configurazione SSL ha avuto successo, vedrai l’icona locale sull’URL, come mostrato nello screenshot qui sotto.
Conclusione
Congratulazioni! Hai installato con successo il LLMP Stack (Linux, Lighttpd, MariaDB e PHP-FPM) sul server Ubuntu 22.04. Hai anche imparato come impostare un host virtuale sul server web Lighttpd e abilitare SSL/HTTPS su Lighttpd per il tuo nome di dominio.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.