J'ai installé php, apache, et fastcgi_handler par :
emerge dev-lang/php www-apache/mod_fastcgi_handler
J'ai réussi à le faire fonctionner en mettant à jour les lignes pertinentes dans /etc/apache2/modules.d/70_mod_php5.conf
à :
# AddHandler application/x-httpd-php .php .php5 .phtml
# AddHandler application/x-httpd-php-source .phps
AddHandler fcgi:/var/run/php-fpm.socket .php .php5
et /etc/conf.d/apache2 à
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D SSL -D SSL_DEFAULT_VHOST -D SUEXEC -D LANGUAGE -D PHP5 -D FASTCGI_HANDLER"
Dans la racine de mon document, j'ai le fichier suivant pour vérifier l'installation :
<?php
echo '<pre>';
var_dump(exec('whoami'));
var_dump(php_sapi_name());
J'ai alors le serveur virtuel suivant :
<IfDefine DEFAULT_VHOST>
<VirtualHost localhost:80>
ServerName local.testdomain.com
ServerAlias local.testdomain.com
SuExecUserGroup foobar foobar
DocumentRoot "/home/foobar/workspace/local.testdomain.com"
<Directory "/home/foobar/workspace/local.testdomain.com">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
</IfDefine>
Ce qui aboutit à : 501 Erreur
[Wed Jul 10 01:52:10 2013] [error] [client ::1] (13)Permission denied: access to / denied (filesystem path '/home/foobar/workspace/') because search permissions are missing on a component of the path
En déplaçant la racine du document en dehors du répertoire de l'utilisateur, le test.php semble être exécuté correctement, mais j'obtiens ce résultat :
string(6) "nobody"
string(8) "fpm-fcgi"
Je m'attends à ce que ce soit le cas :
string(6) "foobar"
string(8) "fpm-fcgi"
Je suppose que si je parviens à faire fonctionner SuExec correctement, il pourra parcourir le répertoire de l'utilisateur sans problème.
Dans ma déduction, cela confirme que PHP-FPM fonctionne correctement, cependant cette directive : " SuExecUserGroup foobar foobar "ne le fait pas. SuExec fonctionne sûrement car j'obtiens la ligne suivante dans les journaux :
[Wed Jul 10 02:09:47 2013] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
J'espère que quelqu'un pourra m'indiquer ce qui me manque et comment je peux éventuellement y remédier.
Merci d'avance.
J'utilise Gentoo.