Sono arrivato alle fasi seguenti:
1) copia dei compilati fcgi in /var/www/cgi-bin
2) installazione del modulo mod_fastcgi.so:
LoadModule fastcgi_module modules/mod_fastcgi.so
AddHandler fastcgi-script fcgi
FastCgiIpcDir /tmp/fcgi_ipc
3) Configurazione del virtual host che deve gestire questo cgi:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
ServerName Test
DocumentRoot /home/www/Test
SuexecUserGroup apache apache
<Directory /home/www/Test/>
Options FollowSymLinks ExecCGI
SetHandler fastcgi-script
RewriteEngine On
RewriteRule ^(.+\.php)$ /cgi-bin/test.fcgi/$1
RewriteRule ^$ /cgi-bin/test.fcgi/index.php
</Directory>
<IfModule mod_fastcgi.c>
FastCgiServer /var/www/cgi-bin/test.fcgi -initial-env PATH
-initial-env WEB_DOC_ROOT=/home/www/Test -user apache -group apache
-socket /tmp/fast_cgi
</IfModule>
</VirtualHost>
Con questa configurazione Apache non parte, e compare il seguente errore:
Avvio di httpd: Syntax error on line 11 of /etc/httpd/conf.d/fastcgi.conf:
FastCgiIpcDir /tmp/fcgi_ipc: can't create dynamic directory
"/tmp/fcgi_ipc/dynamic": access for server (uid 4294967295, gid
4294967295) failed: read not allowed
Cioᅵ sembra che non riesca ad accedere alla pipe che lui stesso ha
creato (/tmp/fcgi_ipc/dynamic l'ha creata lui). Se cancello
/tmp/fcgi_ipc/dynamic ottengo un errore diverso:
Avvio di httpd: Syntax error on line 27 of
/etc/httpd/conf/vhosts.d/02_sks.conf:
FastCgiServer /var/www/cgi-bin/test.fcgi: User/Group commands must
preceed FastCGI server definitions
(la riga 27 ᅵ quella con FastCgiServer).
Ho provato anche a mettere un Suexec per vedere se risolvevo, ma non ho
risolto (anzi, credo che il suexec non funzioni proprio).
Google non riporta nulla di significativo, la documentazione di fastcgi
ᅵ abbastanza mediocre: l'unica cosa che mi ᅵ abbastanza chiara ᅵ che si
tratta di un problema di permessi, ma non saprei dire come impostarli...
Se qualcuno ne sa di piᅵ...
> Se cancello /tmp/fcgi_ipc/dynamic ottengo un errore diverso:
Se invece gli imposti permessi 777 giusto per prova?
Ottengo sempre
> FastCgiServer /var/www/cgi-bin/test.fcgi: User/Group commands must
> preceed FastCGI server definitions
Vedi se questo è il tuo caso <http://tr.im/F9iI>
Non saprei... Ho tolto la riga 'FastCgiIpcDir' ed adesso httpd sta su
con un messaggio d'errore (no fcgi-wrapper), e la pagina html appare
vuota (almeno non ho l'errore 500, ma credo che ciò sia male...)
Cercherò altre guide su fcgi...
> Ho tolto la riga 'FastCgiIpcDir'
Però il messaggio dice solo che FastCgiIpcDir deve essere presente dopo
User/Group, non di rimuoverla.
User/Group sono nel vhost, e se metto FastCgiIpcDir nel vhost mi da'
errore perché, dice, non si può mettere nel vhost