Installation serveur · 5 min read · Dec 17, 2025
Installation de Lighttpd avec PHP5 (PHP-FPM) et support MySQL sur OpenSUSE 13.1
Installation de Lighttpd avec PHP5 (PHP-FPM) et support MySQL sur OpenSUSE 13.1
Version 1.0
Auteur : Falko Timme, mis à jour par Srijan Kishore
Suivez howtoforge 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 installer Lighttpd sur un serveur OpenSUSE 13.1 avec support PHP5 (via PHP-FPM) et support 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 garantis pas 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 5
Tout d’abord, nous installons MySQL 5 comme ceci :
zypper install mysql-community-server mysql-community-server-clientEnsuite, 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 :
chkconfig mysql on
systemctl start mysql.servicePour sécuriser l’installation de MySQL, exécutez :
mysql_secure_installationMaintenant, plusieurs questions vous seront posées :
server1:~ # mysql_secure_installation
NOTE : L’EXÉCUTION DE TOUTES LES PARTIES DE CE SCRIPT EST RECOMMANDÉE POUR TOUS LES SERVEURS MySQL EN USAGE PRODUCTION ! VEUILLEZ LIRE CHAQUE ÉTAPE ATTENTIVEMENT !
Pour se connecter à MySQL et le sécuriser, nous aurons besoin du mot de passe actuel pour l’utilisateur root. Si vous venez d’installer MySQL, et que vous n’avez pas encore défini le mot de passe root, le mot de passe sera vide, donc vous devriez simplement appuyer sur entrer ici.
Entrez le mot de passe actuel pour root (appuyez pour aucun) : <– ENTRER
OK, mot de passe utilisé avec succès, passage à la suite…
Définir le mot de passe root garantit que personne ne peut se connecter à l’utilisateur root de MySQL sans l’autorisation appropriée.
Définir le mot de passe root ? [Y/n] <– Y
Nouveau mot de passe : <– remplissez votre mot de passe root MySQL souhaité
Ressaisissez le nouveau mot de passe : <– confirmez ce mot de passe
Mot de passe mis à jour avec succès !
Rechargement des tables de privilèges..
… Succès !
Par défaut, une installation de MySQL a un utilisateur anonyme, permettant à quiconque de se connecter à MySQL sans avoir à créer un compte utilisateur pour eux. Cela est destiné uniquement aux tests, 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] <– Y
… 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] <– Y
… Succès !
Par défaut, MySQL est livré avec une base de données nommée ‘test’ à laquelle quiconque peut accéder. Cela est également destiné uniquement aux tests, 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] <– Y
- 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] <– Y
… Succès !
Nettoyage…
Tout est fait ! Si vous avez complété toutes les étapes ci-dessus, votre installation de MySQL devrait maintenant être sécurisée.
Merci d’utiliser MySQL !
server1:~ #
Maintenant, votre configuration MySQL devrait être sécurisée.
3 Installation de Lighttpd
Lighttpd est disponible en tant que paquet OpenSUSE, donc nous pouvons l’installer comme ceci :
zypper 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 :
chkconfig lighttpd on
systemctl start lighttpd.serviceRemarque : Si vous obtenez une erreur lors du démarrage du service lighttpd, désinstallez apache2, apache2 interfère avec le processus de lighttpd. Ensuite, vous pouvez démarrer le service de lighttpd.
zypper remove apache2
chkconfig lighttpd on
systemctl start lighttpd.serviceMaintenant, dirigez votre navigateur vers http://192.168.0.100, et vous devriez voir que Lighttpd délivre une page (eh bien, c’est une page 404 car il n’y a pas de fichier index dans le répertoire racine de documents de Lighttpd, mais au moins cela signifie que Lighttpd fonctionne correctement) :

Le répertoire racine de documents par défaut de Lighttpd est /srv/www/htdocs sur OpenSUSE, 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 :
zypper install php5-fpmAvant de démarrer PHP-FPM, renommez /etc/php5/fpm/php-fpm.conf.default en /etc/php5/fpm/php-fpm.conf :
mv /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.confChangez les permissions du répertoire de session de PHP :
chmod 1733 /var/lib/php5Ensuite, ouvrez /etc/php5/fpm/php-fpm.conf…
vi /etc/php5/fpm/php-fpm.conf… et changez error_log en /var/log/php-fpm.log :
| [...] error_log = /var/log/php-fpm.log [...] |
Il n’y a pas de fichier php.ini pour PHP-FPM sous OpenSUSE 13.1, donc nous copions le php.ini CLI :
cp /etc/php5/cli/php.ini /etc/php5/fpm/Ensuite, ouvrez /etc/php5/fpm/php.ini…
vi /etc/php5/fpm/php.ini… et définissez cgi.fix_pathinfo sur 1 :
| [...] ; 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. Définir cela sur 1 fera en sorte que PHP CGI corrige 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 [...] |
Ensuite, créez les liens de démarrage système pour php-fpm et démarrez-le :
chkconfig php-fpm on
systemctl start php-fpm.serviceRecevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.