Installation serveur · 7 min read · Dec 23, 2025
Installation de Lighttpd avec PHP (mode PHP-FPM) et MySQL ou MariaDB sur Ubuntu 15.04
Lighttpd est un serveur web sécurisé, rapide et conforme aux normes, conçu pour des environnements critiques en termes de vitesse. Ce tutoriel montre comment installer Lighttpd sur un serveur Ubuntu 15.04 avec le support de PHP (via PHP-FPM) et MySQL. PHP-FPM (FastCGI Process Manager) est une implémentation alternative de PHP FastCGI avec des fonctionnalités supplémentaires utiles pour des sites de toute taille, en particulier les sites plus fréquentés. J’utilise PHP-FPM dans ce tutoriel au lieu de spawn-fcgi de Lighttpd.
1 Remarque Préliminaire
Dans ce tutoriel, j’utilise le nom d’hôte server1.example.com avec l’adresse IP 192.168.1.100. Ces paramètres peuvent différer pour vous, donc vous devez les remplacer là où cela est approprié.
J’exécute toutes les étapes de ce tutoriel avec des privilèges root, assurez-vous donc que vous êtes connecté en tant que root :
sudo su2 Installation de MySQL / MariaDB
Ubuntu fournit des paquets pour le serveur de base de données MySQL d’origine (MySQL 5.6) et le fork de MySQL MariaDB (10). La plupart des utilisateurs utiliseront MariaDB aujourd’hui car il est un peu plus rapide que MySQL et le développement progresse plus rapidement. Je vous laisse la décision de ce qu’il faut installer ici et expliquerai les deux options. Suivez soit les instructions en 2.1 soit en 2.2 mais pas les deux.
2.1 Installation de MySQL
Installez MySQL comme ceci :
apt-get -y install mysql-server-5.6 mysql-client-5.6On vous demandera de fournir un mot de passe pour l’utilisateur root de MySQL - ce mot de passe est valide pour l’utilisateur root@localhost ainsi que pour [email protected], donc nous n’avons pas besoin de spécifier un mot de passe root MySQL manuellement plus tard :
Nouveau mot de passe pour l’utilisateur “root” de MySQL : <– votremotdepasse Répétez le mot de passe pour l’utilisateur “root” de MySQL : <– votremotdepasse
2.2 Installation de MariaDB
Installez MariaDB comme ceci :
apt-get -y install mariadb-server mariadb-clientMaintenant, nous définissons un mot de passe root pour MariaDB.
mysql_secure_installationOn vous posera ces questions :
Entrez le mot de passe actuel pour root (appuyez sur entrer pour aucun) : <-- appuyez sur entrer
Définir le mot de passe root ? [Y/n] <-- y
Nouveau mot de passe : <-- Entrez le nouveau mot de passe root MariaDB ici
Répétez le nouveau mot de passe : <-- Répétez le mot de passe
Supprimer les utilisateurs anonymes ? [Y/n] <-- y
Interdire la connexion root à distance ? [Y/n] <-- y
Recharger les tables de privilèges maintenant ? [Y/n] <-- y3 Installation de Lighttpd
Lighttpd est disponible en tant que paquet Ubuntu, nous pouvons donc l’installer comme ceci :
apt-get -y install lighttpdMaintenant, dirigez votre navigateur vers http://192.168.1.100/index.lighttpd.html, et vous devriez voir la page de placeholder de Lighttpd :

Le document root par défaut de Lighttpd est /var/www/html sur Ubuntu, et le fichier de configuration est /etc/lighttpd/lighttpd.conf. Des configurations supplémentaires sont stockées dans des fichiers dans le répertoire /etc/lighttpd/conf-available - ces configurations peuvent être activées avec la commande lighttpd-enable-mod qui crée un lien symbolique du répertoire /etc/lighttpd/conf-enabled vers le fichier de configuration approprié dans /etc/lighttpd/conf-available. Vous pouvez désactiver des configurations avec la commande lighttpd-disable-mod.
4 Installation de PHP 5
Nous pouvons faire fonctionner PHP5 dans Lighttpd via PHP-FPM que nous installons comme ceci :
apt-get -y install php5-fpm php5PHP-FPM est un processus daemon (avec le script d’initialisation /etc/init.d/php5-fpm) qui exécute un serveur FastCGI sur le socket /var/run/php5-fpm.sock.
5 Configuration de Lighttpd et PHP 5
Pour activer PHP5 dans Lighttpd, nous devons modifier /etc/php5/fpm/php.ini et décommenter la ligne cgi.fix_pathinfo=1 :
nano /etc/php5/fpm/php.ini[...]
; cgi.fix_pathinfo fournit un support *réel* pour PATH_INFO/PATH_TRANSLATED pour CGI. PHP's
; le comportement précédent était de définir PATH_TRANSLATED sur SCRIPT_FILENAME, et de ne pas comprendre
; ce qu'est PATH_INFO. Pour plus d'informations sur PATH_INFO, voir les spécifications cgi. Définir
; cela à 1 fera que PHP CGI corrigera ses chemins pour se conformer à la spécification. Un réglage
; de zéro fait que PHP se comporte comme avant. La valeur par défaut est 1. Vous devriez corriger vos scripts
; pour utiliser SCRIPT_FILENAME plutôt que PATH_TRANSLATED.
; http://php.net/cgi.fix-pathinfo
cgi.fix_pathinfo=1
[...]Le fichier de configuration de Lighttpd pour PHP /etc/lighttpd/conf-available/15-fastcgi-php.conf est adapté à une utilisation avec spawn-fcgi, cependant, nous voulons utiliser PHP-FPM, donc nous créons une sauvegarde du fichier (nommée 15-fastcgi-php-spawnfcgi.conf) et modifions 15-fastcgi-php.conf comme suit :
cd /etc/lighttpd/conf-available/
cp 15-fastcgi-php.conf 15-fastcgi-php-spawnfcgi.conf
nano 15-fastcgi-php.conf# /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi
## Démarrer un serveur FastCGI pour php (nécessite le paquet php5-cgi)
fastcgi.server += ( ".php" =>
((
"socket" => "/var/run/php5-fpm.sock",
"broken-scriptfilename" => "enable"
))
)Pour activer la configuration fastcgi, exécutez les commandes suivantes :
lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-phpCela crée les liens symboliques /etc/lighttpd/conf-enabled/10-fastcgi.conf qui pointe vers /etc/lighttpd/conf-available/10-fastcgi.conf et /etc/lighttpd/conf-enabled/15-fastcgi-php.conf qui pointe vers /etc/lighttpd/conf-available/15-fastcgi-php.conf :
ls -l /etc/lighttpd/conf-enabledroot@server1:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled
total 0
lrwxrwxrwx 1 root root 33 Sep 29 18:28 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 root root 37 Sep 29 18:28 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.confEnsuite, nous rechargeons Lighttpd :
service lighttpd force-reload6 Tester PHP5 / Obtenir des Détails sur votre Installation PHP5
Le document root du site web par défaut est /var/www/html. Nous allons maintenant créer un petit fichier PHP (info.php) dans ce répertoire et l’appeler dans un navigateur. Le fichier affichera de nombreux détails utiles sur notre installation PHP, tels que la version de PHP installée.
nano /var/www/html/info.phpMaintenant, nous appelons ce fichier dans un navigateur (par exemple http://192.168.1.100/info.php) :

Comme vous le voyez, PHP 5.6 fonctionne, et il fonctionne via FPM/FastCGI, comme indiqué dans la ligne Server API. Si vous faites défiler plus bas, vous verrez tous les modules qui sont déjà activés dans PHP5. MySQL n’est pas listé là, ce qui signifie que nous n’avons pas encore de support MySQL dans PHP.
7 Obtenir le Support MySQL Dans PHP5
Pour obtenir le support MySQL dans PHP, nous pouvons installer le paquet php5-mysqlnd. Cela est préféré au paquet php5-mysql car il contient un nouveau pilote MySQL qui prend en charge MySQL ainsi que MariaDB. Il est judicieux d’installer quelques autres modules PHP5 car vous pourriez en avoir besoin pour vos applications. Vous pouvez rechercher les modules PHP5 disponibles comme ceci :
apt-cache search php5Choisissez ceux dont vous avez besoin et installez-les comme ceci :
apt-get -y install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xslXcache est un cache d’opcodes PHP gratuit et open source pour mettre en cache et optimiser le code intermédiaire PHP. Il est similaire à d’autres caches d’opcodes PHP, tels que eAccelerator et APC. Il est fortement recommandé d’en avoir un installé pour accélérer vos pages PHP.
Xcache peut être installé comme suit :
apt-get -y install php5-xcacheMaintenant, rechargez PHP-FPM :
service php5-fpm reloadMaintenant, rechargez http://192.168.1.100/info.php dans votre navigateur et faites défiler vers le bas jusqu’à la section des modules à nouveau. Vous devriez maintenant trouver de nombreux nouveaux modules là, y compris le module MySQL :

8 phpMyAdmin
phpMyAdmin est une interface web à travers laquelle vous pouvez gérer vos bases de données MySQL. Il est judicieux de l’installer :
apt-get -y install phpmyadminVous verrez les questions suivantes :
Serveur web à reconfigurer automatiquement : <– lighttpd
Configurer la base de données pour phpmyadmin avec dbconfig-common ? <– oui
Mot de passe de l'utilisateur administratif de la base de données : <-- Entrez le mot de passe root MySQL/MariaDB
Mot de passe de l'application MySQL pour phpmyadmin : <-- Appuyez sur ENTRER
Ensuite, vous pouvez accéder à phpMyAdmin sous http://192.168.1.100/phpmyadmin/ :

9 Faire Utiliser PHP-FPM Une Connexion TCP (optionnel)
Par défaut, PHP-FPM écoute sur le socket /var/run/php5-fpm.sock. Il est également possible de faire utiliser à PHP-FPM une connexion TCP. Pour ce faire, ouvrez /etc/php5/fpm/pool.d/www.conf…
nano /etc/php5/fpm/pool.d/www.conf… et faites en sorte que la ligne listen ressemble à ceci :
[...]
;listen = /var/run/php5-fpm.sock
listen = 127.0.0.1:9000
[...]Cela fera que PHP-FPM écoute sur le port 9000 sur l’IP 127.0.0.1 (localhost). Assurez-vous d’utiliser un port qui n’est pas utilisé sur votre système.
Ensuite, rechargez PHP-FPM :
service php5-fpm reloadEnsuite, ouvrez le fichier de configuration PHP de Lighttpd /etc/lighttpd/conf-available/15-fastcgi-php.conf et remplacez la ligne socket par les lignes host et port :
nano /etc/lighttpd/conf-available/15-fastcgi-php.conf# /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi
## Démarrer un serveur FastCGI pour php (nécessite le paquet php5-cgi)
fastcgi.server += ( ".php" =>
((
"host" => "127.0.0.1",
"port" => "9000",
"broken-scriptfilename" => "enable"
))
)Enfin, rechargez Lighttpd :
service lighttpd force-reload10 Liens
- Lighttpd: http://www.lighttpd.net/
- PHP: http://www.php.net/
- PHP-FPM: http://php-fpm.org/
- MySQL: http://www.mysql.com/
- Ubuntu: http://www.ubuntu.com/
- phpMyAdmin: http://www.phpmyadmin.net/
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.