Installation PHP · 4 min read · Jan 23, 2026
Installation de PHP 5.3, Nginx et PHP-fpm sur Ubuntu/Debian
Installation de PHP 5.3, Nginx et PHP-fpm sur Ubuntu/Debian
Version 1.1
Suivez-moi sur Twitter
Puisqu’Apache est souvent un processus gourmand en mémoire, les gens ont commencé à chercher différentes façons d’héberger leur site web. Apache n’est clairement pas le seul serveur web disponible. Quelques bons exemples sont lighttpd et nginx. Dans ce tutoriel, je vais vous montrer comment l’installer sur votre serveur Ubuntu. Ce tutoriel s’applique également à Debian, bien qu’il n’y ait qu’une très petite différence.
Prêt ? Commençons, d’accord.
Étape 0 - Remarques préliminaires
Pour compléter ce tutoriel, je suppose que vous avez installé un système de base de Debian ou Ubuntu. Comment cela peut être fait, peut être lu dans différents tutoriels. Ce tutoriel se concentre uniquement sur le fait de faire fonctionner nginx+php sans trop de tracas.
Étape 1 - Nginx
L’installation de nginx est la première étape que nous devons faire. Cela peut être facilement fait en le téléchargeant depuis le dépôt.
sudo apt-get install nginxLe vhost par défaut doit être modifié pour fonctionner correctement.
sudo vim /etc/nginx/sites-available/defaultUn bon point de départ pour votre configuration est :
server {
listen 80;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
## Emplacement par défaut
location / {
root /var/www;
index index.php;
}
## Les images et le contenu statique sont traités différemment
location ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
expires 30d;
root /var/www;
}
## Analyser tous les fichiers .php dans le répertoire /var/www
location ~ .php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
## Désactiver la visualisation de .htaccess & .htpassword
location ~ \/\.ht {
deny all;
}
}
upstream backend {
server 127.0.0.1:9000;
}
Ok, nous avons terminé ici. Maintenant, nous allons installer les fichiers nécessaires pour PHP.
Étape 2 - Installation de PHP
De nombreux sites dépendent de PHP pour leur fournir du contenu dynamique, que ce soit un wiki, un logiciel de forum, un weblog ou quelque chose de complètement différent.
Si vous utilisez Ubuntu, nous devons d’abord résoudre deux dépendances requises pour les paquets dotdeb. Si vous utilisez la version amd64, vous devez remplacer i386 par amd64.
Pour Debian, vous n’aurez pas à faire cela !
cd /tmpwget http://us.archive.ubuntu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.debwget http://us.archive.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu0.2_i386.debsudo dpkg -i *.debEncore une fois, cela est uniquement requis si vous êtes sur Ubuntu.
Le reste du tutoriel s’applique à la fois à Ubuntu et à Debian.
Nous devrons ajouter le dépôt dotdeb aux sources APT, afin que nous puissions utiliser leur PHP 5.3 et php-fpm empaquetés :
sudo echo "deb http://php53.dotdeb.org stable all" >> /etc/apt/sources.listMettez à jour apt :
sudo apt-get updateLe texte résultant devrait inclure dotdeb.
Maintenant, nous allons installer PHP (partie 1) :
sudo apt-get install php5-cli php5-common php5-suhosinNous devons installer le cli avant le reste, car cela causera des problèmes par la suite.
sudo apt-get install php5-fpm php5-cgiSi vous prévoyez d’utiliser une base de données ou si vous avez besoin de modules spécifiques (mcrypt, ldap, snmp, etc.), vous pouvez les installer également.
Ok, donc maintenant nous avons nginx et PHP.
Une petite remarque : Si vous utilisez “php short tags” ( ), vous devez les activer dans vos fichiers php.ini (pour fpm et cli). Si vous ne changez pas cela, vous verrez votre code en texte brut !
Étape 3 - Finalisation
Redémarrez nginx afin de prendre en compte les modifications de configuration que nous avons faites précédemment.
sudo /etc/init.d/nginx restartLe redémarrage devrait s’être effectué sans problèmes.
Après avoir installé php5-fpm, il devrait avoir été démarré. Si vous avez modifié vos fichiers php.ini, vous devez redémarrer php5-fpm.
sudo /etc/init.d/php5-fpm restartD’accord. Ils devraient maintenant tous deux fonctionner.
Étape 4 - Test
Pour tester si l’exécution de PHP fonctionne, créez un fichier index.php dans /var/www avec le contenu suivant :
Visitez votre serveur web et vous devriez être en mesure de voir le phpinfo généré. Sinon, quelque chose a mal tourné.
Étape 5 - Dépannage et notes finales
Si vous n’avez pas vu le phpinfo, il pourrait y avoir quelque chose de mal. Pour identifier ce qui a mal tourné, vous pouvez vérifier le journal des erreurs de nginx :
sudo tail /var/log/nginx/error.logN’oubliez pas, si vous avez modifié votre php.ini, vous devez redémarrer php5-fpm. Le redémarrage de nginx n’est pas nécessaire.
Dans ma configuration d’exemple, j’ai activé l’interception des erreurs fastcgi. Si une erreur grave se produit (par exemple, un “cannot redeclare class xyz”), nginx peut capturer cette page et afficher une “jolie” page d’erreur indiquant que quelque chose a mal tourné. De cette façon, moins d’informations sont divulguées en cas de problème sérieux.
Si cela ne vous plaît pas, vous pouvez le désactiver.
Si php5-fpm ne fonctionne pas, vos fichiers PHP ne peuvent pas être analysés et nginx affichera une page d’erreur à l’utilisateur.
Eh bien, je suppose que nous avons terminé et que vous êtes maintenant capable de servir PHP avec votre nouveau serveur web basé sur nginx. Nginx est plutôt agréable et vous pouvez configurer beaucoup de choses. Si vous avez besoin de réécritures, sachez que nginx ne fonctionne pas avec les fichiers .htaccess. Vous devrez modifier vos paramètres de vhost pour que les réécritures fonctionnent.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.