Raspberry Pi : installer Nginx avec support PHP, CGI et SCGI

Il est maintenant temps d’installer un serveur Web pour différents services comme du monitoring, du téléchargement, Owncloud ou un serveur de musique. C’est ce que nous allons voir avec la mise en place de NGinx.

Raspberry Pi Home Server – Etape 11 : installer Nginx avec support PHP, CGI et SCGI

Pour notre serveur Web, le but est d’avoir un support de différentes technologies pour ne pas être limité. En plus de Nginx, on va installer php-fpm, fcgiwrap et le support SCGI (pour l’interface web de rtorrent). Depuis la version 0.8.42, le module SCGI est inclus donc pas besoin de tout recompiler (ouf !)

Pour ceux qui veulent un comparatif des différents serveurs web, vous pouvez regarder l’article ici.

  1. Installer les packages additionnels
    apt-get install php5-fpm libgd2-xpm libpcrecpp0 libxpm4
  2. Installer Nginx
    apt-get install nginx
  3. Créer le répertoire /var/www
    mkdir /var/www
    
    chown -R www-data:www-data /var/www
  4. Créer un fichier index.php dans /var/www avec le contenu suivant :
    <?php
    
     phpinfo();
    
    ?>
  5. Modifier le fichier /etc/nginx/sites-available/default en remplaçant les anciennes valeurs par celle de votre configuration. Ici par exemple :

    root /var/www;

    index index.php index.html index.htm;

    location ~ .php$ {

    fastcgi_pass unix:/var/run/php5-fpm.sock;

    fastcgi_index index.php;

    include fastcgi_params;

    }

  6. Redémarrer le serveur
    service nginx restart
  7. Un petit tour depuis votre navigateur sur l’IP de votre serveur et vous aurez le résultat suivant

    Affichage d'un fichier PHP avec Nginx

    Affichage d’un fichier PHP avec Nginx

  8. Installer le wrapper CGI si vous avez besoin d’exécuter des scripts CGI sur votre serveur
    apt-get install fcgiwrap
  9. Réduire le nombre de processus PHP et CGI pour libérer de la mémoire
    1. Modifier le fichier /etc/php5/fpm/php-fpm.conf
      process.max = 2
    2. Modifier le nombre maximum de processus. Dans mon cas je ne vais pas avoir des dizaines de connexions donc dans le fichier /etc/nginx/nginx.conf :
      worker_processes 1
  10. Relancer les différents service
    service nginx restart
    
    service php5-fpm restart

    Si vous avez installé le wrapper CGI :

    service fcgiwrap restart

Voilà pour le serveur web en configuration de base.

Vous aimez cet article ? Supportez-moi sur Patreon!

Vous aimerez aussi...