Serveur Web · 6 min read · Jan 27, 2026
Installation de Lighttpd avec PHP5 (PHP-FPM) et support MySQL sur Fedora 19
Installation de Lighttpd avec PHP5 (PHP-FPM) et support MySQL sur Fedora 19
Version 1.0
Auteur : Falko Timme
Suivez-moi sur Twitter
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 vous pouvez installer Lighttpd sur un serveur Fedora 19 avec le support de PHP5 (via PHP-FPM) et le support de 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.
Je ne donne aucune garantie que cela fonctionnera pour vous !
1 Remarque préliminaire
Dans ce tutoriel, j’utilise le nom d’hôte server1.example.com avec l’adresse IP 192.168.0.100. Ces paramètres peuvent différer pour vous, donc vous devez les remplacer là où c’est approprié.
2 Installation de MySQL/MariaDB 5
Tout d’abord, nous installons MySQL 5 comme ceci :
yum install mysql mysql-serverEnsuite, nous créons les liens de démarrage système pour MySQL (afin que MySQL démarre automatiquement chaque fois que le système démarre) et démarrons le serveur MySQL :
systemctl enable mysqld.service
systemctl start mysqld.serviceCréez un mot de passe pour l’utilisateur root de MySQL (remplacez yourrootsqlpassword par le mot de passe que vous souhaitez utiliser) :
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: ligne 379 : find_mysql_client : commande introuvable
REMARQUE : L’EXÉCUTION DE TOUTES LES PARTIES DE CE SCRIPT EST RECOMMANDÉE POUR TOUS LES SERVEURS MariaDB EN USAGE PRODUCTION ! VEUILLEZ LIRE CHAQUE ÉTAPE ATTENTIVEMENT !
Pour se connecter à MariaDB afin de le sécuriser, nous aurons besoin du mot de passe actuel pour l’utilisateur root. Si vous venez d’installer MariaDB, et que vous n’avez pas encore défini le mot de passe root, le mot de passe sera vide, donc vous devez simplement appuyer sur entrer ici.
Entrez le mot de passe actuel pour root (appuyez sur entrer pour aucun) : <– ENTRER
OK, mot de passe utilisé avec succès, passage à la suite…
Définir le mot de passe root ? [Y/n] <– ENTRER
Nouveau mot de passe : <– yourrootsqlpassword
Ressaisissez le nouveau mot de passe : <– yourrootsqlpassword
Mot de passe mis à jour avec succès !
Rechargement des tables de privilèges..
… Succès !
Par défaut, une installation de MariaDB a un utilisateur anonyme, permettant à quiconque de se connecter à MariaDB sans avoir à créer un compte utilisateur pour eux. Cela est destiné uniquement à des fins de test, et pour rendre l’installation un peu plus fluide. Vous devriez les supprimer avant de passer à un environnement de production.
Supprimer les utilisateurs anonymes ? [Y/n] <– ENTRER
… Succès !
Normalement, root ne devrait être autorisé à se connecter que depuis ‘localhost’. Cela garantit que quelqu’un ne peut pas deviner le mot de passe root depuis le réseau.
Interdire la connexion root à distance ? [Y/n] <– ENTRER
… Succès !
Par défaut, MariaDB est livré avec une base de données nommée ‘test’ à laquelle tout le monde peut accéder. Cela est également destiné uniquement à des fins de test, et devrait être supprimé avant de passer à un environnement de production.
Supprimer la base de données de test et l’accès à celle-ci ? [Y/n] <– ENTRER
- Suppression de la base de données de test…
… Succès ! - Suppression des privilèges sur la base de données de test…
… Succès !
Recharger les tables de privilèges garantira que tous les changements effectués jusqu’à présent prendront effet immédiatement.
Recharger les tables de privilèges maintenant ? [Y/n] <– ENTRER
… Succès !
Nettoyage…
Tout est fait ! Si vous avez complété toutes les étapes ci-dessus, votre installation de MariaDB devrait maintenant être sécurisée.
Merci d’utiliser MariaDB !
[root@server1 ~]#
3 Installation de Lighttpd
Lighttpd est disponible en tant que paquet Fedora, nous pouvons donc l’installer comme ceci :
yum install lighttpdEnsuite, nous créons les liens de démarrage système pour Lighttpd (afin que Lighttpd démarre automatiquement chaque fois que le système démarre) et le démarrons :
systemctl enable lighttpd.service
systemctl restart lighttpd.serviceMaintenant, dirigez votre navigateur vers http://192.168.0.100, et vous devriez voir la page de placeholder de Lighttpd :

Le document root par défaut de Lighttpd est /var/www/lighttpd sur Fedora, et le fichier de configuration est /etc/lighttpd/lighttpd.conf.
4 Installation de PHP5
Nous pouvons faire fonctionner PHP5 dans Lighttpd via PHP-FPM que nous installons comme ceci :
yum install php-fpm lighttpd-fastcgiPHP-FPM est un processus daemon qui exécute un serveur FastCGI sur le port 9000.
Créez les liens de démarrage système pour PHP-FPM et démarrez-le :
systemctl enable php-fpm.service
systemctl start php-fpm.service5 Configuration de Lighttpd et PHP5
Pour activer PHP5 dans Lighttpd, nous devons modifier deux fichiers, /etc/php.ini et /etc/lighttpd/lighttpd.conf. Tout d’abord, nous ouvrons /etc/php.ini et décommentons la ligne cgi.fix_pathinfo=1 :
vi /etc/php.ini| [...] ; cgi.fix_pathinfo fournit un support *réel* pour PATH_INFO/PATH_TRANSLATED pour CGI. Le comportement précédent de PHP é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. Le définir à 1 fera en sorte que PHP CGI corrige ses chemins pour se conformer à la spécification. Un réglage à zéro fait que PHP se comporte comme auparavant. La valeur par défaut est 1. Vous devriez corriger vos scripts pour utiliser SCRIPT_FILENAME plutôt que PATH_TRANSLATED. ; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |
Ensuite, nous ouvrons /etc/lighttpd/conf.d/fastcgi.conf et nous assurons que “mod_fastcgi” est activé :
vi /etc/lighttpd/conf.d/fastcgi.conf| [...] server.modules += ( "mod_fastcgi" ) [...] |
Ensuite, plus bas dans le fichier, il y a un bloc fastcgi.server - laissez-le commenté et ajoutez votre propre bloc fastcgi.server comme suit :
| [...] ## ## Exemple PHP ## Pour PHP, n'oubliez pas de définir cgi.fix_pathinfo = 1 dans le php.ini. ## ## Le nombre de processus PHP que vous obtiendrez peut être facilement calculé : ## ## num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN ) ## ## pour l'exemple php-num-procs, cela signifie que vous obtiendrez 17*5 = 85 processus PHP. ## Vous aurez toujours besoin de ce nombre élevé pour vos sites très occupés. Et si vous avez beaucoup de RAM. :) ## fastcgi.server += ( ".php" => (( "host" => "127.0.0.1", "port" => "9000", "broken-scriptfilename" => "enable" )) ) #fastcgi.server = ( ".php" => # ( "php-local" => # ( # "socket" => socket_dir + "/php-fastcgi-1.socket", # "bin-path" => server_root + "/cgi-bin/php5", # "max-procs" => 1, # "broken-scriptfilename" => "enable", # ) # ), # ( "php-tcp" => # ( # "host" => "127.0.0.1", # "port" => 9999, # "check-local" => "disable", # "broken-scriptfilename" => "enable", # ) # ), # ( "php-num-procs" => # ( # "socket" => socket_dir + "/php-fastcgi-2.socket", # "bin-path" => server_root + "/cgi-bin/php5", # "bin-environment" => ( # "PHP_FCGI_CHILDREN" => "16", # "PHP_FCGI_MAX_REQUESTS" => "10000", # ), # "max-procs" => 5, # "broken-scriptfilename" => "enable", # ) # ), # ) ), [...] |
Ouvrez /etc/lighttpd/modules.conf…
vi /etc/lighttpd/modules.conf… et activez le fichier /etc/lighttpd/conf.d/fastcgi.conf :
| [...] ## ## FastCGI (mod_fastcgi) ## include "conf.d/fastcgi.conf" [...] |
Ensuite, nous redémarrons Lighttpd :
systemctl restart lighttpd.serviceRecevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.