Question / avis sur l'installation d'un serveur web sous apache

Bonjour à tous,
J’ai quelques questions et je voudrais vos conseils/opinions sur comment mettre en place un serveur Web sous Debian 8.4 avec Apache et plusieurs versions de PHP dans un environnement multiutilisateur.

  • Comment lancer mes différentes versions de PHP ? (mod_fastcgi ou autre chose ?)
  • Comment protéger l’exécution de PHP par utilisateur (UID) afin qu’il soit restreint à son répertoire et ces fichiers (mod_fastcgi avec suexec ou chose ?)
  • Quelle version de PHP préférer fcgi ou fpm ?
  • Qu’est-ce qu’il faut éviter de faire pour garder une bonne stabilité et sécurité ?

Merci

Ai tenté de répondre à la plupart de ces questions il y a quelques minutes concernant Nginx.

Je préciserais que mod_proxy_fcgi ou mod_fcgid sont pour que Apache devienne un client FastCGI qui émet des requêtes auxquelles un serveur FastCGI tel que PHP-FPM répondra éventuellement.


AnonymousCoward

Merci, mais comment mettre en place une protection par UID avec mod_proxy_fcgi ou mod_fcgid si on n’utilise pas le php-fpm a sa protection par pool ?

Dans tes anciennes repenses je n’ai pas trouvé de repense à mes questions à part le lien d’un exemple de configuration qui met en place la protection sur php-fpm par pool, c’est de cela que tu parler ?
Et surtout qu’elle est l’avantage d’utilisé le php-fpm a la place du php-fcgi en terme de sécurité et stabilité ?

Concrètement, de nos jours, soit tu utilises php-fpm soit tu utilises mpm-itk .
Tu peux aussi trouver des alternatives au bas de la page web de mpm-itk .

Tu parles de “php-fcgi” mais c’est quoi ce truc ? La manière de faire marcher PHP avec mod_fcgid comme décrit ici ?
La page dont le lien est donné ci-dessus parle de quelques-uns des inconvénients.

Le protocole FastCGI permet deux modes de fonctionnement, que j’appelerais “spawned” et “external”.
Un pool php-fpm est un simple serveur FastCGI de type external. Et php-fpm permet d’avoir plusieurs pools.

Après, Apache 2.4 possède 3 manières de travailler en FastCGI :

  • mod_fastcgi dont le code date et dont la documentation n’est plus facilement accessible. Peut travailler en mode “spawned” ou “external”.
  • mod_fcgid qui peut travailler en mode “spawned” seulement.
  • mod_proxy_fcgi qui travaille en mode “external” seulement.

Je conseillerais de travailler avec mod_proxy_fcgi et php-fpm mais chacun est libre. A toi d’expérimenter les 3/4 façons différentes de faire et de choisir celle qui te convient le mieux.


AnonymousCoward