Serveur Web · 8 min read · Dec 18, 2025
Comment installer Lighttpd avec PHP, MariaDB et SSL Let's Encrypt sur Debian 10

Lighttpd est un serveur web gratuit, open-source et à haute vitesse, spécialement conçu pour les environnements critiques en termes de vitesse. Il nécessite une faible empreinte mémoire par rapport à d’autres serveurs web, tels qu’Apache et Nginx, et est particulièrement rapide pour exécuter des applications AJAX. Lighttpd nous permet également d’héberger des applications web écrites dans d’autres langages de programmation en utilisant les interfaces FastCGI, SCGI et CGI. Lighttpd est le meilleur choix pour vous si votre serveur rencontre des problèmes de charge.
Dans ce tutoriel, nous allons apprendre à installer Lighttpd sur Debian 10 avec le support de PHP-FPM et MariaDB, et nous allons sécuriser le serveur web avec un certificat SSL Let’s Encrypt.
Exigences
- Un serveur exécutant Debian 10.
- Un mot de passe root configuré sur votre serveur.
J’utiliserai le nom de domaine example.com dans ce tutoriel. Remplacez example.com dans tous les noms de fichiers et paramètres de configuration par votre propre nom de domaine ci-dessous.
Prise en main
Avant de commencer, vous devrez mettre à jour votre système avec la dernière version. Vous pouvez le faire en exécutant la commande suivante :
apt-get update -y
apt-get upgrade -yUne fois votre serveur mis à jour, redémarrez votre serveur pour appliquer les modifications.
Installer Lighttpd
Par défaut, Lighttpd est disponible dans le dépôt par défaut de Debian 10. Vous pouvez l’installer en exécutant simplement la commande suivante :
apt-get install lighttpd -yUne fois l’installation terminée, démarrez le service Lighttpd et activez-le pour qu’il démarre après le redémarrage du système avec la commande suivante :
systemctl start lighttpd
systemctl enable lighttpdVous pouvez également vérifier l’état de Lighttpd avec la commande suivante :
systemctl status lighttpdVous devriez obtenir la sortie suivante :
? 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)
Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.
Installer le serveur MariaDB
Vous pouvez installer le serveur MariaDB en exécutant la commande suivante :
apt-get install mariadb-server mariadb-client -yUne fois installé, vous devrez sécuriser l’installation de MariaDB. Vous pouvez le sécuriser en exécutant le script suivant :
mysql_secure_installationRépondez à toutes les questions comme indiqué ci-dessous :
Changer le mot de passe root ? [Y/n] n
Supprimer les utilisateurs anonymes ? [Y/n] Y
Interdire la connexion root à distance ? [Y/n] Y
Supprimer la base de données de test et l'accès à celle-ci ? [Y/n] Y
Recharger les tables de privilèges maintenant ? [Y/n] Y
Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.
Installer PHP et PHP-FPM
Ensuite, vous devrez installer PHP, PHP-FPM et FastCGI sur votre système. Par défaut, Debian 10 est livré avec la version PHP 7.3. Vous pouvez l’installer en exécutant simplement la commande suivante :
apt-get install php php-cgi php-fpm php-mysql -yUne fois tous les paquets installés, vous devrez modifier le fichier php.ini et définir cgi.fix_pathinfo à 1. Vous pouvez le faire avec la commande suivante :
nano /etc/php/7.3/fpm/php.iniChangez la ligne suivante :
cgi.fix_pathinfo=1
Enregistrez et fermez le fichier lorsque vous avez terminé.
Par défaut, PHP pointe vers le socket UNIX /var/run/php/php7.3-fpm.sock. Donc, vous devrez configurer le pool PHP-FPM pour que PHP écoute sur le socket TCP.
Vous pouvez le faire en modifiant le fichier /etc/php/7.3/fpm/pool.d/www.conf :
nano /etc/php/7.3/fpm/pool.d/www.confTrouvez la ligne suivante :
listen = /run/php/php7.3-fpm.sock
Et remplacez-la par la ligne suivante :
listen = 127.0.0.1:9000
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, redémarrez le service PHP-FPM pour appliquer les modifications de configuration :
systemctl restart php7.3-fpmEnsuite, vous devrez modifier le fichier 15-fastcgi-php.conf :
nano /etc/lighttpd/conf-available/15-fastcgi-php.confTrouvez les lignes suivantes :
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/var/run/lighttpd/php.socket",
Et remplacez-les par :
"host" => "127.0.0.1",
"port" => "9000",
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, activez à la fois le module FastCGI et le module FastCGI-PHP avec les commandes suivantes :
lighty-enable-mod fastcgi
lighty-enable-mod fastcgi-phpEnfin, redémarrez le service Lighttpd pour appliquer les modifications :
systemctl restart lighttpdCréer un hôte virtuel Lighttpd
Ensuite, vous devrez créer un nouveau fichier d’hôte virtuel pour tester PHP avec Lighttpd. Vous pouvez le créer avec la commande suivante :
nano /etc/lighttpd/conf-available/example.com.confAjoutez les lignes suivantes :
$HTTP["host"] == "www.example.com" {
server.document-root = "/var/www/html/"
server.errorlog = "/var/log/lighttpd/example.com-error.log"
}
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, activez l’hôte virtuel avec la commande suivante :
ln -s /etc/lighttpd/conf-available/example.com.conf /etc/lighttpd/conf-enabled/Ensuite, créez un fichier index.php d’exemple dans le répertoire racine du document Lighttpd avec la commande suivante :
nano /var/www/html/index.phpAjoutez la ligne suivante :
Enregistrez et fermez le fichier. Ensuite, changez la propriété du répertoire racine du document Lighttpd en www-data avec la commande suivante :
chown -R www-data:www-data /var/www/html/Enfin, redémarrez le service Lighttpd pour appliquer toutes les modifications de configuration :
systemctl restart lighttpdSécuriser Lighttpd avec SSL Let’s Encrypt gratuit
Tout d’abord, vous devrez installer l’outil Certbot pour sécuriser votre serveur web avec Let’s Encrypt. Par défaut, la dernière version de Certbot n’est pas disponible dans le dépôt par défaut de Debian 10.
Vous pouvez ajouter le dépôt Certbot avec la commande suivante :
apt-get install software-properties-common
add-apt-repository ppa:certbot/certbotEnsuite, mettez à jour le dépôt et installez Certbot avec la commande suivante :
apt-get update -y
apt-get install certbot -yEnsuite, créez un certificat Let’s Encrypt avec la commande suivante :
certbot certonly --webroot -w /var/www/html/ -d www.example.comOn vous demandera de fournir votre adresse e-mail et d’accepter les conditions de la licence comme indiqué ci-dessous :
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
Une fois les certificats téléchargés avec succès, vous devriez voir la sortie suivante :
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
Ensuite, vous devrez combiner le certificat et la clé privée dans un seul fichier. Vous pouvez le faire avec la commande suivante :
cat /etc/letsencrypt/live/example.com/cert.pem /etc/letsencrypt/live/example.com/privkey.pem > /etc/letsencrypt/live/example.com/web.pemEnsuite, vous devrez modifier le fichier d’hôte virtuel Lighttpd et définir le chemin du certificat SSL Let’s Encrypt.
Vous pouvez le faire avec la commande suivante :
nano /etc/lighttpd/conf-enabled/example.com.confChangez le fichier comme indiqué ci-dessous :
$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" # Certificat combiné
ssl.ca-file = "/etc/letsencrypt/live/example.com/chain.pem" # CA racine
server.name = "www.example.com" # Nom de domaine OU nom d'hôte virtuel
server.document-root = "/var/www/html/" # Racine du document
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") # Redirection URL HTTPS
}
}
Enregistrez et fermez le fichier. Ensuite, redémarrez le service Lighttpd pour appliquer les modifications de configuration :
systemctl restart lighttpdAccéder à l’interface web Lighttpd
Lighttpd est installé et configuré avec le support de PHP et PHP-FPM. Maintenant, il est temps de le tester.
Ouvrez votre navigateur web et tapez l’URL https://www.example.com. Vous serez redirigé vers la page suivante :

La page ci-dessus indique que PHP fonctionne bien avec FastCGI.
Conclusion
Félicitations ! Vous avez réussi à installer et configurer le serveur web Lighttpd avec le support de PHP-FPM et FastCGI sur Debian 10. Vous pouvez maintenant héberger votre propre serveur web avec facilité. Pour plus d’informations, visitez la page de documentation officielle de Lighttpd à Lighttpd Doc.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.