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 update

Ora installa il server web Lighttpd utilizzando il seguente comando.

sudo apt install lighttpd

Inserisci Y per confermare l’installazione e premi ENTER per continuare. Ora l’installazione di Lighttpd inizierà.

install lighttpd

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 lighttpd

Controlla 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

start 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 status

Dovresti 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.

setup ufw firewall

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.html

Infine, 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-server

Ora inserisci Y per confermare l’installazione e premi ENTER. E l’installazione di MariaDB inizierà.

install mariadb

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 mariadb

Controlla e verifica il servizio MariaDB utilizzando il seguente comando. E dovresti vedere il servizio MariaDB in esecuzione.

sudo systemctl status mariadb

Successivamente, 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_installation

L’installazione predefinita di MariaDB viene fornita senza una password di root. Premi ENTER per continuare.

mysql_secure_installation

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

no unix_socket auth for root

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

setup root password

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.

remove anonymous user

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

remove database test

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

reload tables privileges

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

Inserisci Y per confermare l’installazione e premi ENTER. Ora, l’installazione inizierà.

install php-fpm

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

Controlla 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

start php-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 php

Dovresti 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.ini

Aggiungi la seguente configurazione al file.

cgi.fix_pathinfo = 1

Salva 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-fpm

Successivamente, esegui il seguente comando per abilitare i moduli Lighttpd “ fastcgi “ e “ fastcgi-php-fpm “.

sudo lighty-enable-mod fastcgi fastcgi-php-fpm

Modifica 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.conf

Cambia 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

configure php-fpm 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/html

Torna 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.

php info llmp

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.conf

Aggiungi 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/hwdomain

Successivamente, crea una nuova configurazione dell’host virtuale “ /etc/lighttpd/vhosts/hwdomain.conf “ utilizzando l’editor nano.

sudo nano /etc/lighttpd/vhosts/hwdomain.conf

Aggiungi 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.conf

Ora riavvia il servizio Lighttpd per applicare la nuova configurazione dell’host virtuale utilizzando il comando qui sotto.

sudo systemctl restart lighttpd

lighttpd virtual host

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 ssl

Ora 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.crt
cat server.com.key server.com.crt > server.pem

E 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.conf

Sostituisci 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 lighttpd

Infine, 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.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.