PHP et Apache · 4 min read · Jan 07, 2026

Utiliser PHP5-FPM avec Apache2 sur Fedora 17

Utiliser PHP5-FPM avec Apache2 sur Fedora 17

Version 1.0
Auteur : Falko Timme
Suivez-moi sur Twitter

Ce tutoriel montre comment installer un serveur web Apache2 sur un serveur Fedora 17 avec PHP5 (via PHP-FPM) et un 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.

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 le cas échéant.

2 Activation des Dépôts Supplémentaires

Nous devons installer mod_fastcgi plus tard, qui est disponible dans les dépôts RPMforge. RPMforge peut être activé comme suit :

rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

cd /tmp
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

3 Installation de MySQL 5

Pour installer MySQL, nous faisons ceci :

yum install mysql mysql-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 :

systemctl enable mysqld.service
systemctl start mysqld.service

Définir des mots de passe pour le compte root MySQL :

mysql_secure_installation

[root@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 pour aucun) :
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 MySQL sans la bonne autorisation.

Définir le mot de passe root ? [Y/n] <– ENTRER
Nouveau mot de passe : <– votremotdepasse_root_sql
Ressaisir le nouveau mot de passe : <– votremotdepasse_root_sql
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 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] <– 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, 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] <– 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 MySQL devrait maintenant être sécurisée.

Merci d’utiliser MySQL !

[root@server1 ~]#

4 Installation d’Apache2

Apache2 est disponible en tant que paquet Fedora, donc nous pouvons l’installer comme ceci :

yum install httpd

Maintenant, configurez votre système pour démarrer Apache au démarrage…

 systemctl enable httpd.service

… et démarrez Apache :

 systemctl start httpd.service

Maintenant, dirigez votre navigateur vers http://192.168.0.100, et vous devriez voir la page de placeholder d’Apache2 :

Le document root par défaut d’Apache est /var/www/html sur Fedora, et le fichier de configuration est /etc/httpd/conf/httpd.conf. Des configurations supplémentaires sont stockées dans le répertoire /etc/httpd/conf.d/.

5 Installation de PHP5

Nous pouvons faire fonctionner PHP5 dans Apache2 via PHP-FPM et le module mod_fastcgi d’Apache que nous installons comme suit :

yum install mod_fastcgi php-fpm

Ensuite, ouvrez /etc/php.ini :

vi /etc/php.ini

Pour éviter des erreurs comme

[08-Aug-2011 18:07:08] PHP Warning: phpinfo(): Il n'est pas sûr de se fier aux paramètres de fuseau horaire du système. Vous êtes *tenu* d'utiliser le paramètre date.timezone ou la fonction date_default_timezone_set(). Dans le cas où vous avez utilisé l'une de ces méthodes et que vous obtenez toujours cet avertissement, vous avez probablement mal orthographié l'identifiant de fuseau horaire. Nous avons sélectionné 'Europe/Berlin' pour 'CEST/2.0/DST' à la place dans /usr/share/nginx/html/info.php à la ligne 2

… dans /var/log/php-fpm/www-error.log lorsque vous appelez un script PHP dans votre navigateur, vous devez définir date.timezone dans /etc/php.ini :

| [...] [Date] ; Définit le fuseau horaire par défaut utilisé par les fonctions de date ; http://php.net/date.timezone date.timezone = "Europe/Berlin" [...] |

Vous pouvez trouver le fuseau horaire correct pour votre système en exécutant :

cat /etc/sysconfig/clock

[root@server1 ~]# cat /etc/sysconfig/clock
ZONE=”Europe/Berlin”
[root@server1 ~]#

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

PHP-FPM est un processus démon (avec le script d’initialisation /etc/init.d/php-fpm) qui exécute un serveur FastCGI sur le port 9000.

Ensuite, redémarrez Apache :

systemctl restart httpd.service
Share: X/Twitter LinkedIn

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

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