Ich habe ein Problem beim Ausführen eines FastCgiServers unter Apache2. Wenn ich einen virtuellen Host mit einem konfigurierten statischen FCGI-Server definiere, erhalte ich einen Fehler von suexec:
command not in docroot (/var/www-blah/dispatcher.fcgi)
Das ist richtig, denn Docroot ist /var/www
. Aber wenn ich ein dynamisches FastCGI verwende, das wie von AddHandler
Zauberhand generiert wurde, verwende ich auch suexec
und das gleiche Problem tritt nicht auf – obwohl das Skript in liegt /home/.../public_html/dispatcher.fcgi
.
Was führt dazu suexec
, dass es dort ordnungsgemäß ausgeführt wird? Und wie kann ich dieses Verhalten auf dem virtuellen Host replizieren?
Aktualisieren:Tatsächlich habe ich meine Sachen von /var/www-blah
nach verschoben /var/www/blah
, also sind sie unter Docroot und es funktioniert. Ich vermute, suexec hat eine Art Public_HTML-Erkennung.
Was allerdings immer noch nicht funktioniert, ist dynamisches FastCGI mit Suexec unter /var/www/...
. Obwohl das Skript dem richtigen Benutzer gehört, zeigt Suexec keine Fehler an und scheint nicht zu laufen (Skript funktioniert als WWW-Daten).
Antwort1
suexec führt nur Programme innerhalb eines Apache-Dokumentstamms aus. Siehedas Suexec-Sicherheitsmodell, insbesondere Punkt 13.