PHP, Apache, Ubuntu · 5 min read · Jan 09, 2026
Utiliser PHP5-FPM avec Apache2 sur Ubuntu 12.04 LTS
Utiliser PHP5-FPM avec Apache2 sur Ubuntu 12.04 LTS
Version 1.0
Auteur : Falko Timme
Suivez-moi sur Twitter
Ce tutoriel montre comment vous pouvez installer un serveur web Apache2 sur un serveur Ubuntu 12.04 LTS 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 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é.
J’exécute toutes les étapes de ce tutoriel avec des privilèges root, donc assurez-vous que vous êtes connecté en tant que root :
sudo su2 Installer MySQL 5
Tout d’abord, nous installons MySQL 5 comme ceci :
apt-get install mysql-server mysql-clientVous serez invité à fournir un mot de passe pour l’utilisateur root de MySQL - ce mot de passe est valide pour l’utilisateur root@localhost ainsi que [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 MySQL “root” : <– votremotdepassemysqlroot
Répéter le mot de passe pour l’utilisateur MySQL “root” : <– votremotdepassemysqlroot
3 Installer Apache2
Apache2 est disponible en tant que paquet Ubuntu. Nous avons besoin du paquet apache2-mpm-worker que nous pouvons installer comme ceci :
apt-get install apache2-mpm-workerMaintenant, dirigez votre navigateur vers http://192.168.0.100, et vous devriez voir la page de placeholder d’Apache2 (Ça fonctionne !) :

Le répertoire racine par défaut d’Apache est /var/www sur Ubuntu, et le fichier de configuration est /etc/apache2/apache2.conf. Des configurations supplémentaires sont stockées dans des sous-répertoires du répertoire /etc/apache2 tels que /etc/apache2/mods-enabled (pour les modules Apache), /etc/apache2/sites-enabled (pour les hôtes virtuels), et /etc/apache2/conf.d.
4 Installer PHP5
Nous pouvons faire fonctionner PHP5 dans Apache2 via PHP-FPM et le module mod_fastcgi d’Apache que nous installons comme suit :
apt-get install libapache2-mod-fastcgi php5-fpm php5PHP-FPM est un processus démon (avec le script d’initialisation /etc/init.d/php5-fpm) qui exécute un serveur FastCGI sur le port 9000.
Ensuite, activez les modules Apache suivants…
a2enmod actions fastcgi alias… et redémarrez Apache :
/etc/init.d/apache2 restart5 Configurer Apache
Pour faire fonctionner Apache avec PHP-FPM, nous avons besoin de la configuration suivante :
| |
(Pour en savoir plus sur la directive FastCgiExternalServer, jetez un œil à http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html#FastCgiExternalServer.)
Vous pouvez le mettre dans la configuration globale d’Apache (donc il est activé pour tous les hôtes virtuels), par exemple dans /etc/apache2/conf.d/php5-fpm.conf (ce fichier n’existe pas, donc vous devez le créer), ou vous pouvez le placer dans chaque hôte virtuel qui devrait utiliser PHP-FPM. Je veux utiliser PHP-FPM avec l’hôte virtuel par défaut, donc j’ouvre son fichier de configuration d’hôte virtuel /etc/apache2/sites-available/default…
vi /etc/apache2/sites-available/default… et mets la section suivante quelque part entre
| [...] |
Redémarrez Apache ensuite :
/etc/init.d/apache2 restartMaintenant, créez le fichier PHP suivant dans le répertoire racine /var/www :
vi /var/www/info.php| |
Maintenant, nous appelons ce fichier dans un navigateur (par exemple, http://192.168.0.100/info.php) :

Comme vous le voyez, PHP5 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 PHP5.
6 Obtenir le Support MySQL Dans PHP5
Pour obtenir le support MySQL dans PHP, nous pouvons installer le paquet php5-mysql. Il est également judicieux d’installer d’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 install php5-mysql 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-xslMaintenant, rechargez PHP-FPM :
/etc/init.d/php5-fpm reloadMaintenant, rechargez http://192.168.0.100/info.php dans votre navigateur et faites défiler vers le bas jusqu’à la section des modules à nouveau. Vous devriez maintenant trouver beaucoup de nouveaux modules là, y compris le module MySQL :

7 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 install phpmyadminVous verrez les questions suivantes :
Serveur web à reconfigurer automatiquement : <– apache2
Configurer la base de données pour phpmyadmin avec dbconfig-common ? <– Non
Ensuite, vous pouvez accéder à phpMyAdmin sous http://192.168.0.100/phpmyadmin/ :

8 Faire Utiliser un Socket Unix à PHP-FPM
Par défaut, PHP-FPM écoute sur le port 9000 sur 127.0.0.1. Il est également possible de faire utiliser à PHP-FPM un socket Unix, ce qui évite la surcharge TCP. Pour ce faire, ouvrez /etc/php5/fpm/pool.d/www.conf…
vi /etc/php5/fpm/pool.d/www.conf… et faites en sorte que la ligne listen ressemble à ceci :
| [...] ;listen = 127.0.0.1:9000 listen = /tmp/php5-fpm.sock [...] |
Ensuite, rechargez PHP-FPM :
/etc/init.d/php5-fpm reloadEnsuite, parcourez votre configuration Apache et tous vos hôtes virtuels et changez la ligne FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization en FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /tmp/php5-fpm.sock -pass-header Authorization, par exemple comme ceci :
vi /etc/apache2/sites-available/default| [...] |
Enfin, rechargez Apache :
/etc/init.d/apache2 reload9 Liens
- Apache : http://httpd.apache.org/
- Module Apache mod_fastcgi : http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html
- 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/
À Propos de l’Auteur
Falko Timme est le propriétaire de Timme Hosting (hébergement web nginx ultra-rapide). Il est le mainteneur principal de HowtoForge (depuis 2005) et l’un des développeurs principaux d’ISPConfig (depuis 2000). Il a également contribué au livre d’O’Reilly “Linux System Administration”.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.