J'ai enfin trouvé un bon tutoriel pour ce faire. Je décrirai les étapes que j'ai suivies car j'avais déjà installé ma pile LAMP, mais le tutoriel complet est disponible ici .
Remarque pour le nouveau:
Dans le tutoriel, vous commencez par passer à l’utilisateur root avec:
sudo su
Dans mon cas, je préfixais simplement ces commandes sudo
au lieu de changer d'utilisateur, donc je documenterai mes pas de cette manière.
Commencer
Etape 1: Installez Apache Worker MPM (Multi-Procesing Modules)
sudo apt-get install apache2-mpm-worker
Cela remplace le préfork que j'avais installé, qui est la valeur par défaut lors de l'installation d'Apache.
Étape 2: Installez PHP5 et les modules nécessaires
sudo apt-get install libapache2-mod-fastcgi php5-fpm php5
À ce stade, vous pouvez avoir une erreur lors de l’installation de 'libapache2-mod-fastcgi':
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libapache2-mod-fastcgi is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or is only available from another source
E: Package 'libapache2-mod-fastcgi' has no installation candidate
Cette partie ne figure pas dans le didacticiel ci-dessus
Pour concilier ceci, le référentiel multiverse
doit être ajouté aux sources apt.
Pour ce faire:
sudo nano /etc/apt/sources.list
À quoi j'ai ajouté les lignes suivantes:
deb http://archive.ubuntu.com/ubuntu precise multiverse
deb http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb http://security.ubuntu.com/ubuntu precise-security multiverse
precise
dans ce cas fait référence à ma version d'Ubuntu " Precision Pangolin ".
Alors maintenant, sauvegardez ces modifications et retournez au terminal:
sudo apt-get update
et encore:
sudo apt-get install libapache2-mod-fastcgi php5-fpm php5
qui va (devrait) fonctionner maintenant.
Activez maintenant ces modules Apache:
sudo a2enmod actions fastcgi alias
redémarrer apache
sudo service apache2 restart
Étape 3: Configuration d'Apache
Pour que Apache fonctionne avec PHP-FPM, nous avons besoin de la configuration suivante:
<IfModule mod_fastcgi.c>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -host 127.0.0.1:9000 -pass-header Authorization
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
#directory statement mult be on multiple lines
</IfModule>
Remarque:
Si vous utilisez une ancienne version d’Apache (version 2.3.x ou antérieure), ne renseignez pas la ligne
<Directory /usr/lib/cgi-bin> Require all granted </Directory>
Vous pouvez vérifier votre version installée avec la commande
apache2 -version
Vous pouvez le mettre dans la configuration globale Apache (il est donc activé pour tous les vhosts), par exemple dans /etc/apache2/conf.d/php5-fpm.conf
(ce fichier n'existe pas, vous devez donc le créer), ou vous pouvez le placer dans chaque vhost devrait utiliser PHP-FPM.
Je choisis d’aller sur la route mondiale, alors:
sudo nano /etc/apache2/conf.d/php5-fpm.conf
collez le bloc de code ci-dessus et enregistrez, quittez.
Ce nouveau fichier sera automatiquement chargé par la configuration par défaut d'Apache qui charge tous les fichiers du répertoire /etc/apache2/conf.d/
.
redémarrer Apache:
sudo service apache2 restart
Maintenant, créez le fichier PHP suivant dans la racine du document /var/www
:
sudo nano /var/www/info.php
Ajouter:
<?php phpinfo();
enregistrer & amp; sortir.
Maintenant, nous appelons ce fichier dans un navigateur (par exemple, http://your-server-ip/info.php
)
Sous API serveur , vous devriez voir FPM/FastCGI
.
Réussite!
Pour plus d’informations, comme changer PHP-FPM pour utiliser un socket unix au lieu du port TCP par défaut ou comment le configurer pour des hôtes virtuels individuels au lieu de tous, voir le tutoriel source lié en haut.