Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/03/2011, à 12:49

inheo

mod-fcgid + perl !

Bonjour à tous !

J'ai configuré mon serveur apache2 avec le mod_fcgid pour lancer php avec un user bien défini.


Voici la conf de mon virtualhost :

<VirtualHost *:80>
  ServerName www.test.com
  ServerAlias test
  ServerAdmin webmaster@test.com
  DocumentRoot /var/www/vhosts/test/htdocs/
<IfModule mod_fcgid.c>
    SuexecUserGroup test test
    <Directory /var/www/vhosts/test/htdocs/>
      Options +ExecCGI
      AllowOverride All
      AddHandler fcgid-script .php
      FCGIWrapper /var/www/php-fcgi-scripts/test/php-fcgi-starter .php
      Order allow,deny
      Allow from all
    </Directory>
  </IfModule>
ErrorLog /var/www/vhosts/test/logs/error.test.log
   CustomLog /var/www/vhosts/test/logs/access.test.log combined
  ServerSignature Off
</VirtualHost>


Ainsi que mon script wrapper :

#!/bin/sh
PHPRC=/var/www/php-fcgi-scripts/test/
export PHPRC
export PHP_FCGI_MAX_REQUESTS=5000
export PHP_FCGI_CHILDREN=4
exec /usr/lib/cgi-bin/php



Jusque là, tout roule !  smile

A présent je voulais installer awstats.
Je ne savais pas mais la page pour afficher awstats dans un navigateur est en perl !

Donc il faudrait que je modifie la conf ci dessus pour que fcgid m'execute mon perl !

J'ai tenté de faire les modifs suivantes :

<VirtualHost *:80>
  ServerName www.test.com
  ServerAlias test
  ServerAdmin webmaster@test.com
  DocumentRoot /var/www/vhosts/test/htdocs/
<IfModule mod_fcgid.c>
    SuexecUserGroup test test
    <Directory /var/www/vhosts/test/htdocs/>
      Options +ExecCGI
      AllowOverride All
      AddHandler fcgid-script .php .pl
      FCGIWrapper /var/www/php-fcgi-scripts/test/php-fcgi-starter .php
      FCGIWrapper /var/www/php-fcgi-scripts/test/perl-fcgi-starter .pl
      Order allow,deny
      Allow from all
    </Directory>
  </IfModule>
ErrorLog /var/www/vhosts/test/logs/error.test.log
   CustomLog /var/www/vhosts/test/logs/access.test.log combined
  ServerSignature Off
</VirtualHost>

et un nouveau wrapper :
#!/bin/sh
exec /usr/bin/perl


Voila.

Seulement ces modifs ne fonctionnent pas.
Quand j'essaye d'afficher la page j'ai une erreur 500
Dans les logs d'apache l'erreur suivante :


[Thu Mar 17 11:24:08 2011] [warn] [client 10.2.254.14] (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server
[Thu Mar 17 11:24:08 2011] [error] [client 10.2.254.14] Premature end of script headers: index.pl

Est ce que quelqu'un à une idée ?

Merci
Bonne journée ! wink

Dernière modification par inheo (Le 17/03/2011, à 12:49)

Hors ligne

#2 Le 19/03/2011, à 20:10

Calimo

Re : mod-fcgid + perl !

inheo a écrit :

      FCGIWrapper /var/www/php-fcgi-scripts/test/perl-fcgi-starter .pl

Non non ! Awstats est un script CGI "tout bête", n'essaye pas de le faire tourner en Fast-CGI.

De plus tu es dans un bloc <Directory /var/www/vhosts/test/htdocs/> et je doute que Awstats s'y trouve.

Pour ma part j'ai un fichier /etc/apache2/conf.d/awstats avec le contenu suivant :

Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"

<Directory "/usr/local/awstats/wwwroot">
        Options None
        AllowOverride None
</Directory>

Ensuite awstats est disponible dans www.test.com/awstats/.

Hors ligne