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

Une 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 -y

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

Vous pouvez également vérifier l’état de Lighttpd avec la commande suivante :

systemctl status lighttpd

Vous 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 -y

Une fois installé, vous devrez sécuriser l’installation de MariaDB. Vous pouvez le sécuriser en exécutant le script suivant :

mysql_secure_installation
Ré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 -y

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

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

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

Ensuite, vous devrez modifier le fichier 15-fastcgi-php.conf :

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

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

Enfin, redémarrez le service Lighttpd pour appliquer les modifications :

systemctl restart lighttpd

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

Ajoutez 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.php

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

Sé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/certbot

Ensuite, mettez à jour le dépôt et installez Certbot avec la commande suivante :

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

Ensuite, créez un certificat Let’s Encrypt avec la commande suivante :

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

On 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.pem

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

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

Accé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 :

PHP sur Lighttpd

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.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.