Nginx + PHP-FPM : installer les dernières versions sur Ubuntu

2

Posted by florian | Posted in Geekisme, Logiciels Libres, Sysadmin | Posted on 19-06-2011

Mots-clés : , , ,

Ami internaute, si ton serveur est sous Ubuntu et que :
- soit on se moque de la version de ton Nginx ou de ton PHP-FPM
- soit tu es complexé par la version vieillissante de ton Nginx
- soit tu es complexé par les cheveux blancs de ton PHP-FPM
- soit un peu tout ça à la fois

Alors tu es au bon endroit : voilà comment tu vas pouvoir garder tes Nginx et PHP-FPM “up-to-date” avec un minimum d’efforts, cela va sans dire…

Voici comment faire, en 3 étapes seulement !

1. Désinstaller Nginx et PHP :

sudo aptitude remove nginx php5*

2. Ajouter les sources PPA (Personal Package Archives) de Nginx et PHP des mainteneurs de Nginx et mettre à jour la liste des paquets disponibles :

sudo add-apt-repository ppa:nginx/stable
sudo add-apt-repository ppa:nginx/php5
sudo aptitude update

3. Réinstaller Nginx et PHP :

sudo aptitude install nginx-full php5 php5-cli php5-fpm

Et… c’est tout !

A l’avenir, pour bénéficier des dernières versions de Nginx et PHP (à quelques semaines près pour ce dernier), il vous suffira de faire :

sudo aptitude update
sudo aptitude install nginx-full php5 php5-cli php5-fpm

Pour les aspects configuration de Nginx et PHP, je te renvoie aux quantités d’infos qu’on trouve sur d’autres blogs et au wiki de Nginx, qui est très complet.

That’s all folks !

Commentaires (2)

Il manque :
sudo apt-get install php5-cgi.

Ensuite créer les deux fichiers php-fastcgi définis ici :
http://wiki.nginx.org/Ubuntu-php-fastcgi

rendre /etc/init.d/php-fastcgi exécutable puis exécuter
service php-fastcgi start

Merci d’avoir repéré cette coquille !

Plus exactement il manque le paquet “php5-fpm”, je corrige tout de suite !

Je pense en effet que PHP-FPM est à privilégier par rapport à l’approche FastCGI (php5-cgi) car outre un léger gain en terme de performances, cela permet de créer des classes différentes, avec pour chaque classe des droits d’accès différents, ce qui est très pratique pour optimiser la sécurité de l’accès aux fichiers, en particulier en environnement mutualisé.

L’autre intérêt de PHP-FPM est qu’il est en quelque sorte un “serveur d’interpréteur PHP”, qui peut écouter sur un socket TCP/IP et si nécessaire être déployé sur des serveurs dédiés à l’interprétation des scripts PHP, pourvu que ces serveurs puissent accéder au code PHP (partage NFS, Rsync, GlusterFS…). On peut donc imaginer des frontaux Nginx qui “tapent” dans des “frontaux PHP-FPM” et donc une architecture plus facilement “scalable” qu’avec les approches plus classiques.

Ecrire un commentaire