2009-07-13 11 views
1

Sur mon nouveau Ubuntu 8.04fastcgi ne fonctionne pas - wrapper déchargé ne fonctionne pas

J'ai installé virtualmin. Ensuite, j'ai mis en place fastcgi comme je l'ai fait sur mon autre serveur (Debian). Bu J'ai un petit problème. Quand j'ouvre le site Web Au lieu d'exécuter l'encapsuleur fastcgi, il le télécharge. Voici config:

<IfModule mod_fastcgi.c> 
    FastCgiIpcDir /usr/lib/apache2/fastcgi 
    AddHandler fastcgi-script .fcgi 
    FastCgiWrapper /usr/local/sbin/suexec 
    FastCgiConfig -singleThreshold 1 -autoUpdate -idle-timeout 240 -pass-header HTTP_AUTHORIZATION 
</IfModule> 

website.conf:

SuexecUserGroup "#1002" "#1003" 
    DocumentRoot /home/przepisy/public_html 
    ScriptAlias /php-fastcgi/ /home/przepisy/php-fastcgi/ 
    AddHandler php-fastcgi .php 
    AddType application/x-httpd-php .php 
    Action php-fastcgi /php-fastcgi/php5-fcgi 
    DirectoryIndex index.html index.php 
    <Directory /home/przepisy/public_html> 
    Options -Indexes +ExecCGI FollowSymLinks 
    allow from all 
    AllowOverride All 
    </Directory> 

/home/Przepisy/php-fastcgi/php5-fcgi

#!/bin/sh 
PHPRC="/home/przepisy/conf/" 
export PHPRC 
PHP_FCGI_CHILDREN=4 
export PHP_FCGI_CHILDREN 
PHP_FCGI_MAX_REQUESTS=200 
export PHP_FCGI_MAX_REQUESTS 
exec /usr/bin/php5-cgi 

Si j'accéder au site lui donne ce nom au hasard et quand je regarde le contenu téléchargé, il montre le contenu de php5-fcgi. Quand je spécifie un script php, par exemple index.php, il choisit d'enregistrer et affiche le contenu de php5-fcgi ... Je ne sais pas à ce stade. Cette config a fonctionné sur Debian sans problèmes ...

+0

Enfin fait pour travailler avec fcgid. et ci-dessus config – Engrost

Répondre

2

Vous devez ajouter une section qui indique à Apache d'utiliser mod_fastcgi pour exécuter votre script php5-fcgi en utilisant FastCGI. Essayez d'ajouter ceci à votre website.conf:

<Location "/php-fastcgi/php5-fcgi"> 
    Order Deny,Allow 
    Deny from All 
    Allow from env=REDIRECT_STATUS 
    Options ExecCGI 
    SetHandler fastcgi-script  
</Location> 

La partie SetHandler fastcgi-script indique à Apache d'utiliser mod_fastcgi lors de l'exécution de votre script php5-fcgi. Le Allow from env=REDIRECT_STATUS empêche les visiteurs de télécharger votre script php5-fcgi directement en accédant au http://mydomain.com/php-fastcgi/php5-fcgi.

Aussi, j'utiliser

FastCgiWrapper On 

au lieu du binaire suexec que vous avez indiqué dans votre exemple. Mon Apache est compilé avec le support de SuEXEC et j'utilise SuexecUserGroup comme vous le faites. Mon SuEXEC fonctionne avec cette configuration - cela vaut la peine d'essayer.

Et bien sûr, je suis sûr que vous avez déjà vérifié, mais assurez-vous que vous avez:

LoadModule fastcgi_module modules/mod_fastcgi.so 

quelque part dans votre configuration Apache.

+0

Merci pour la réponse. Je ne pouvais pas le faire fonctionner avec fastcgi mais je l'ai fait fonctionner avec fcgid. – Engrost