Installazione Server · 7 min read · Dec 18, 2025

Come installare Lighttpd con PHP, MariaDB e SSL Let's Encrypt su Debian 10

Lighttpd è un server web gratuito, open-source e ad alta velocità, progettato specificamente per ambienti critici per la velocità. Richiede un basso utilizzo di memoria rispetto ad altri server web, come Apache e Nginx, ed è particolarmente veloce per l’esecuzione di applicazioni AJAX. Lighttpd ci consente anche di ospitare applicazioni web scritte in altri linguaggi di programmazione utilizzando le interfacce FastCGI, SCGI e CGI. Lighttpd è la scelta migliore per te se il tuo server sta soffrendo di problemi di carico.

In questo tutorial, impareremo come installare Lighttpd su Debian 10 con supporto per PHP-FPM e MariaDB e come proteggere il server web con un certificato SSL di Let’s Encrypt.

Requisiti

  • Un server che esegue Debian 10.
  • Una password di root impostata sul tuo server.

Utilizzerò il nome di dominio example.com in questo tutorial. Sostituisci example.com in tutti i nomi dei file e nelle impostazioni di configurazione con il tuo nome di dominio.

Iniziare

Prima di iniziare, dovrai aggiornare il tuo sistema con l’ultima versione. Puoi farlo eseguendo il seguente comando:

apt-get update -y  
apt-get upgrade -y

Una volta aggiornato il tuo server, riavvia il server per applicare le modifiche.

Installare Lighttpd

Per impostazione predefinita, Lighttpd è disponibile nel repository predefinito di Debian 10. Puoi installarlo eseguendo semplicemente il seguente comando:

apt-get install lighttpd -y

Una volta completata l’installazione, avvia il servizio Lighttpd e abilitalo per avviarsi dopo il riavvio del sistema con il seguente comando:

systemctl start lighttpd  
systemctl enable lighttpd

Puoi anche controllare lo stato di Lighttpd con il seguente comando:

systemctl status lighttpd

Dovresti ottenere il seguente output:

? lighttpd.service - Lighttpd Daemon
   Loaded: loaded (/lib/systemd/system/lighttpd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2019-09-06 02:09:35 EDT; 29s ago
 Main PID: 4445 (lighttpd)
    Tasks: 1 (limit: 1138)
   Memory: 1.4M
   CGroup: /system.slice/lighttpd.service
           ??4445 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf

Sep 06 02:09:35 debian systemd[1]: Starting Lighttpd Daemon...
Sep 06 02:09:35 debian systemd[1]: Started Lighttpd Daemon.
Sep 06 02:09:36 debian systemd[1]: /lib/systemd/system/lighttpd.service:6: PIDFile= references path below legacy directory /var/run/, updating 
lines 1-12/12 (END)

Una volta terminato, puoi procedere al passaggio successivo.

Installare il server MariaDB

Puoi installare il server MariaDB eseguendo il seguente comando:

apt-get install mariadb-server mariadb-client -y

Una volta installato, dovrai proteggere l’installazione di MariaDB. Puoi farlo eseguendo il seguente script:

mysql_secure_installation
Rispondi a tutte le domande come mostrato di seguito:
Cambia la password di root? [Y/n] n
Rimuovi utenti anonimi? [Y/n] Y
Disabilita l'accesso remoto per root? [Y/n] Y
Rimuovi il database di test e l'accesso ad esso? [Y/n] Y
Ricarica le tabelle dei privilegi ora? [Y/n] Y

Una volta terminato, puoi procedere al passaggio successivo.

Installare PHP e PHP-FPM

Successivamente, dovrai installare PHP, PHP-FPM e FastCGI sul tuo sistema. Per impostazione predefinita, Debian 10 include PHP versione 7.3. Puoi installarlo eseguendo semplicemente il seguente comando:

apt-get install php php-cgi php-fpm php-mysql -y

Una volta installati tutti i pacchetti, dovrai modificare il file php.ini e impostare cgi.fix_pathinfo su 1. Puoi farlo con il seguente comando:

nano /etc/php/7.3/fpm/php.ini

Cambia la seguente riga:

cgi.fix_pathinfo=1

Salva e chiudi il file quando hai finito.

Per impostazione predefinita, PHP punta al socket UNIX /var/run/php/php7.3-fpm.sock. Quindi, dovrai configurare il pool PHP-FPM per impostare PHP in ascolto su un socket TCP.

Puoi farlo modificando il file /etc/php/7.3/fpm/pool.d/www.conf:

nano /etc/php/7.3/fpm/pool.d/www.conf

Trova la seguente riga:

listen = /run/php/php7.3-fpm.sock

E sostituiscila con la seguente riga:

listen = 127.0.0.1:9000

Salva e chiudi il file quando hai finito. Quindi, riavvia il servizio PHP-FPM per applicare le modifiche di configurazione:

systemctl restart php7.3-fpm

Successivamente, dovrai modificare il file 15-fastcgi-php.conf:

nano /etc/lighttpd/conf-available/15-fastcgi-php.conf

Trova le seguenti righe:

"bin-path" => "/usr/bin/php-cgi",
"socket" => "/var/run/lighttpd/php.socket",

E sostituiscile con le seguenti:

"host" => "127.0.0.1",
"port" => "9000",

Salva e chiudi il file quando hai finito. Quindi, abilita sia il modulo FastCGI che il modulo FastCGI-PHP con i seguenti comandi:

lighty-enable-mod fastcgi  
lighty-enable-mod fastcgi-php

Infine, riavvia il servizio Lighttpd per applicare le modifiche:

systemctl restart lighttpd

Creare un host virtuale Lighttpd

Successivamente, dovrai creare un nuovo file di host virtuale per testare PHP con Lighttpd. Puoi crearlo con il seguente comando:

nano /etc/lighttpd/conf-available/example.com.conf

Aggiungi le seguenti righe:

$HTTP["host"] == "www.example.com" {
    server.document-root = "/var/www/html/"
    server.errorlog      = "/var/log/lighttpd/example.com-error.log"
}

Salva e chiudi il file quando hai finito. Quindi, abilita l’host virtuale con il seguente comando:

ln -s /etc/lighttpd/conf-available/example.com.conf /etc/lighttpd/conf-enabled/

Successivamente, crea un file index.php di esempio nella directory radice del documento Lighttpd con il seguente comando:

nano /var/www/html/index.php

Aggiungi la seguente riga:

Salva e chiudi il file. Quindi, cambia la proprietà della directory radice del documento Lighttpd a www-data con il seguente comando:

chown -R www-data:www-data /var/www/html/

Infine, riavvia il servizio Lighttpd per applicare tutte le modifiche di configurazione:

systemctl restart lighttpd

Proteggere Lighttpd con SSL gratuito di Let’s Encrypt

Per prima cosa, dovrai installare lo strumento Certbot per proteggere il tuo server web con Let’s Encrypt. Per impostazione predefinita, l’ultima versione di Certbot non è disponibile nel repository predefinito di Debian 10.

Puoi aggiungere il repository di Certbot con il seguente comando:

apt-get install software-properties-common  
add-apt-repository ppa:certbot/certbot

Successivamente, aggiorna il repository e installa Certbot con il seguente comando:

apt-get update -y  
apt-get install certbot -y

Successivamente, crea un certificato Let’s Encrypt con il seguente comando:

certbot certonly --webroot -w /var/www/html/ -d www.example.com

Ti verrà chiesto di fornire il tuo indirizzo email e accettare i termini della licenza come mostrato di seguito:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Una volta scaricati con successo i certificati, dovresti vedere il seguente output:

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2019-12-06. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Successivamente, dovrai combinare sia il certificato che la chiave privata in un file. Puoi farlo con il seguente comando:

cat /etc/letsencrypt/live/example.com/cert.pem /etc/letsencrypt/live/example.com/privkey.pem > /etc/letsencrypt/live/example.com/web.pem

Successivamente, dovrai modificare il file di host virtuale Lighttpd e definire il percorso del certificato SSL di Let’s Encrypt.

Puoi farlo con il seguente comando:

nano /etc/lighttpd/conf-enabled/example.com.conf

Cambia il file come mostrato di seguito:

$HTTP["host"] == "www.example.com" {
    server.document-root = "/var/www/html/"
}

$SERVER["socket"] == ":443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/letsencrypt/live/example.com/web.pem" # Certificato combinato
ssl.ca-file = "/etc/letsencrypt/live/example.com/chain.pem" # Root CA
server.name = "www.example.com" # Nome di dominio O Nome host virtuale
server.document-root = "/var/www/html/" # Document Root
server.errorlog = "/var/log/lighttpd/example.com_error.log"
accesslog.filename = "/var/log/lighttpd/example.com_access.log"
}

$HTTP["scheme"] == "http" {
$HTTP["host"] == "www.example.com" { # URL HTTP
url.redirect = ("/.*" => "https://www.example.com$0") # Reindirizzamento URL HTTPS
}
}

Salva e chiudi il file. Quindi riavvia il servizio Lighttpd per applicare le modifiche di configurazione:

systemctl restart lighttpd

Accedere all’interfaccia web di Lighttpd

Lighttpd è installato e configurato con supporto per PHP e PHP-FPM. Ora è il momento di testarlo.

Apri il tuo browser web e digita l’URL https://www.example.com. Sarai reindirizzato alla seguente pagina:

PHP su Lighttpd

La pagina sopra indica che PHP sta funzionando bene con FastCGI.

Conclusione

Congratulazioni! hai installato e configurato con successo il server web Lighttpd con supporto per PHP-FPM e FastCGI su Debian 10. Ora puoi ospitare il tuo server web con facilità. Per ulteriori informazioni, visita la pagina della documentazione ufficiale di Lighttpd su Lighttpd Doc.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.