Die Umgebung:
Apache 2.2 mit mod_fcgid + suexec und mod_chroot
mod_fcigd läuft ohne aktiviertes mod_chroot problemlos.
Wenn ich mod_chroot aktiviere (suexec ist deaktiviert!) erhalte ich folgende Fehlermeldungen im error.log:
Code: Select all
[Fri Jan 11 08:28:37 2008] [notice] mod_fcgid: call /xxx/webadmin.php with wrapper /var/www/cgi-bin/xxx/php-fcgi
[Fri Jan 11 08:28:37 2008] [info] mod_fcgid: server /xxx/webadmin.php(6895) started
[Fri Jan 11 08:28:37 2008] [debug] arch/unix/fcgid_proc_unix.c(525): (111)Connection refused: mod_fcgid: can't connect unix domain socket: /var/run/fcgid/sock/6584.60
- Alle beteiliten Verzeichnisse/Dateien sind auf 777 gesetzt.
- Allle Shared Object Files sind einmal mit LoadFile geladen und dann noch per Hardlink in das changed root eingebunden.
- Die php binary welche das php-fcgi script laden soll ist ins changed root kopiert.
- Der Pfad zum Wrapper Script und dessen Berechtigungen stimmen im normalen und im changed root überein.
- Wenn ich eine php Datei aufrufe, kommt direkt die Fehlermeldung (siehe oben), das Wrapper Script wurde an der stelle noch garnicht aufgerufen.
Das Wrapper Script:
Code: Select all
#!/bin/sh
echo "PHP-CGI: WRAPPER SCRIPT CALLED XXX !!!";
PHPRC="/etc/php5/cgi"
export PHPRC
exec /usr/bin/php-cgi
Es gibt unter mod_chroot nur irgendwelche Probleme beim verbinden zum Socket die mir einfach nicht ersichtlich sind.
Beim chrooten wird das root auf /var/www gesetzt.
Habe ich vielleicht irgendetwas vergessen ins changed root zu linken oder müssen ggf. noch andere Pfade angepasst werden?
(Ich linke und chmodde alles auf 777 um erstmal testen zu können.)
