suexec unter Plesk

ollihart

New Member
Hallo zusammen,

ich habe auf meinem Plesk-Server (11.5 auf Debian 7) ein kleines Problem. Aktuell läuft PHP 5 hier als FastCGI mit aktivierem suexec. Leider laufen nun auf diesem Webserver keine CGI-Skripte: Ich erhalte im Browser "Internal Server Error" und im Error-Log ein

Premature end of script headers: status.cgi

Nachdem ich alles mögliche versucht und Google auf und ab gesucht habe, bin ich auf das Logfile von suexec gestoßen und habe dort die Meldung

command status.cgi not in docroot

gefunden.

Deaktiviere ich mod_suexec, laufen die CGI-Skripte einwandfrei.

Kann mir einer helfen und sagen, wo genau da docroot von suexec unter Plesk liegt (es unterscheidet sich ja vom Docroot des Webservers) und wie ich hier was konfigurieren muss?

Danke im Voraus ,,,
Oliver
 
Sicher läuft suexec mit CGI.
Ich habe z. B. auf einem Server Plesk mit suexec und Perl-CGI.

Welche Rechte hat dein status.cgi?
Hat es einen korrekten Shebang?
Kompiliert das CGI korrekt?
Welche Konfiguration hast du per Hand eingestellt?
 
Last edited by a moderator:
Welche Rechte hat dein status.cgi?
Hat es einen korrekten Shebang?
Kompiliert das CGI korrekt?
Welche Konfiguration hast du per Hand eingestellt?

Rechte? Habe eigentlich alles durchprobiert, aktuell mein nutzer (oliver) und psacln als Gruppe.

Das Skript kann ich an der Konsole als Webnutzer problemlos starten.

Ich habe das ganze Paket auch schon nach /var/www oder /var/www/vhosts/defaults verschoben - leider ohne Erfolg.

In der vhosts.conf hab ich

<IfModule mod_suexec.c>
SuexecUserGroup "oliver" "psacln"
</IfModule>

drin.

Wie gesagt, am CGI-Skript kann es nicht liegen, ich kann es an der Konsole per ./status.cgi starten und sobald ich mod_suexec im Apache deaktiviere, läuft alles problemlos. Sobald ich es wieder aktiviere, kommen die o.g. Fehlermeldungen ...
 
Konsole und Webserver sind verschiedene Bereiche, deswegen kanns auf der Kosnole klappen, im Webserver nicht.


Ich seit langen folgendes gemacht, weil ich früher Plesk zu unflexibel fand bei CGI:
1. In den Hostingeinstellungen der Domain ( ) CGI-Unterstützung deaktiviert!
2. in einer eigenen vhost.conf:

Code:
<IfModule mod_suexec.c>
    SuexecUserGroup "webbenutzer1234" "psacln"
</IfModule>
#....
#....

# im gewünschten Verzeichnis
<FilesMatch "\.(plx?|cgi)$">
	Options +FollowSymLinks +execCGI
	SetHandler cgi-script
</FilesMatch>
 
Habe ich versucht, löst aber mein Problem nicht.

Wie schon gesagt, der CGI-Handler ist nicht das Problem, sobald ich mod_suexec deaktiviere, werden die CGI-Skripte im Browser einwandfrei ausgeführt. Das Problem ist ganz klar suexec bzw. das docroot von suexec unter Plesk.
 
Wäre da ein Problem bei Plesk 11.50 un Debian 7 hätte ich das wohl bemerkt.
Also klär mich auf.

Ein bisschen mehr Informationen täten gut.
1. Was ist ein Webnutzer?
Wie hast du den angelegt?
2. Wo liegen die Webseiten dieses Benutzers?
Auch das ist unbekannt wo du die hinlegst
3. Docroot?
Wo liegt es denn bei dir?
 
Last edited by a moderator:
Ok.

Mein User wurde über das entsprechende Abo in Plesk angelegt und ich hab ihn auch schon in alle möglichen Gruppen eingetragen, um irgendwelche Probleme mit Gruppenrechten auszuschließen.

Seine Webseiten liegen unter /var/www/vhosts/abo-domain.tld/sites/, dort liegt auch das doc'root der entsprechenden Subdomain, in dem die CGI-Skripte laufen sollen. Ich habe dieses Docroot aber auch schon - wie oben schon genannt - an andere Orte verschoben (waren Hinweise, die ich in einem anderem Forum gefunden hatte). Aber Docroot von suexec und Docroot vom Apache sind ja zwei unterschiedliche Orte ,,,
 
Ich habs nachstellen können mit einem Webnutzer. Skripte funktionieren nicht auf dessen Webverzeichnis.
Und das obwohl die Ausführung der Skripte zugelassen sind.
Das liegt wohl eher an Plesks speziellen psa-suexec. :(
 
Back
Top