Installation serveur · 5 min read · Feb 08, 2026

Installation de Nginx avec PHP5 (et PHP-FPM) et support MySQL sur OpenSUSE 11.4

Installation de Nginx avec PHP5 (et PHP-FPM) et support MySQL sur OpenSUSE 11.4

Version 1.0
Auteur : Falko Timme
Suivez-moi sur Twitter

Nginx (prononcé “engine x”) est un serveur HTTP gratuit, open-source et haute performance. Nginx est connu pour sa stabilité, son ensemble de fonctionnalités riche, sa configuration simple et sa faible consommation de ressources. Ce tutoriel montre comment vous pouvez installer Nginx sur un serveur OpenSUSE 11.4 avec le support de PHP5 (via PHP-FPM) et le support de MySQL.

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ù cela est approprié.

2 Installation de MySQL 5

Tout d’abord, nous installons MySQL 5 comme ceci :

yast2 -i mysql mysql-client mysql-community-server

Ensuite, 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 -f --add mysql  
/etc/init.d/mysql start

Maintenant, vérifiez que le réseau est activé. Exécutez

netstat -tap | grep mysql

Cela devrait afficher quelque chose comme ceci :

server1:~ # netstat -tap | grep mysql  
tcp        0      0 *:mysql                 *:*                     LISTEN      2360/mysqld  
server1:~ #

Si ce n’est pas le cas, éditez /etc/my.cnf et commentez l’option skip-networking :

vi /etc/my.cnf

| [...] #skip-networking [...] |

et redémarrez votre serveur MySQL :

/etc/init.d/mysql restart

(Si vous obtenez le message Vous n’avez pas de package binaire vim valide installé. Veuillez installer soit “vim”, “vim-enhanced” ou “gvim”., veuillez exécuter

yast2 -i vim

pour installer vi et réessayer.)

Exécutez

mysql_secure_installation

pour définir un mot de passe pour l’utilisateur root (sinon, n’importe qui peut accéder à votre base de données MySQL !) :

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 afin de 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 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] <– Y
Nouveau mot de passe : <– remplissez votre mot de passe root MySQL souhaité
Confirmez 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 MySQL a un utilisateur anonyme, permettant à quiconque de se connecter à MySQL sans avoir à avoir un compte utilisateur créé 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] <– 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 à 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] <– 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 !

Le rechargement des 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 MySQL devrait maintenant être sécurisée.

Merci d’utiliser MySQL !

server1:~ #

3 Installation de Nginx

Nginx est disponible en tant que package pour OpenSUSE 11.4 que nous pouvons installer comme suit :

yast2 -i nginx-0.8

Ensuite, nous créons les liens de démarrage système pour nginx et le démarrons :

chkconfig -f --add nginx  
/etc/init.d/nginx start

Tapez l’adresse IP ou le nom d’hôte de votre serveur web dans un navigateur (par exemple http://192.168.0.100), et vous devriez voir la page suivante :

Vous obtenez une erreur 403 interdit car sur OpenSUSE 11.4, le document root par défaut de nginx est /srv/www/htdocs, et il n’y a pas de page d’index dans /srv/www/htdocs.

4 Installation de PHP5

Nous pouvons faire fonctionner PHP5 dans nginx via PHP-FPM (PHP-FPM (FastCGI Process Manager) est une implémentation PHP FastCGI alternative avec quelques fonctionnalités supplémentaires utiles pour des sites de toute taille, en particulier les sites plus fréquentés) que nous installons comme suit :

yast2 -i php5-fpm

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

Ensuite, ouvrez /etc/php5/fpm/php-fpm.conf…

vi /etc/php5/fpm/php-fpm.conf

… et changez error_log en /var/log/php-fpm.log et décommentez pm.min_spare_servers et pm.max_spare_servers :

| [...] error_log = /var/log/php-fpm.log [...] pm.min_spare_servers = 5 [...] pm.max_spare_servers = 35 [...] |

Ensuite, créez les liens de démarrage système pour php-fpm et démarrez-le :

chkconfig -f --add php-fpm  
/etc/init.d/php-fpm start

PHP-FPM est un processus de démon (avec le script d’initialisation /etc/init.d/php-fpm) qui exécute un serveur FastCGI sur le port 9000, comme vous pouvez le voir dans la sortie de

netstat -tapn
server1:~ # netstat -tapn  
Connexions Internet actives (serveurs et établies)  
Proto Recv-Q Send-Q Adresse locale           Adresse étrangère         État       PID/Programme  

tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      4229/php-fpm.conf)  
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2360/mysqld  
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1378/rpcbind  
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3795/nginx  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1190/sshd  
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1425/master  
tcp        0      0 :::111                    :::*                    LISTEN      1378/rpcbind  
tcp        0      0 :::22                     :::*                    LISTEN      1190/sshd  
tcp        0      0 ::1:25                    :::*                    LISTEN      1425/master  
server1:~ #
Share: X/Twitter LinkedIn

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

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