PHP in SCPonly angelegten Verzeichnis ausführen

Um Benutzern eine sichere Verbindung über SFTP (bzw. ssh) zu ermöglichen, habe ich auf einem Server mit SuSE Linux 9.3 (kernel 2.4) das Programm SCPonly installiert. Als Webserver ist Apache 2.0.53 im Einsatz. PHP läuft in der Version 4.3.10.
Über den Browser lassen sich via HTTP html-Dateien anzeigen.

Mein Problem ist folgendes:
Beim Ausführen von PHP-Dateien wird im Browser die Meldung „No input file specified.“ angezeigt.

Sicherlich müssen Berechtigungen erteilt werden, um PHP-Dateien ausführen zu können. Selbst bei chmod 777 passiert nichts.
Wo und wie muss ich etwas anpassen? In der Apache-Konfiguration, php.ini ?

Vielen Dank im voraus.

Beim Ausführen von PHP-Dateien wird im Browser die Meldung „No
input file specified.“ angezeigt.

Eas hat scponly mit den PHP-Dateien zu tun, und was steht in den PHP-
Dateien drin?

Stefan

Sicherlich müssen Berechtigungen erteilt werden, um
PHP-Dateien ausführen zu können.

Nein. Es reicht das der User, unter dem der Apache läuft, sie lesen
kann.

Stefan

Hallo Stefan,

Eas hat scponly mit den PHP-Dateien zu tun, und was steht in
den PHP-
Dateien drin?

SCPonly hat mit PHP-Dateien nichts zu tun. Es legt lediglich einen Benutzer an, der dann die Möglichkeit hat, sich über eine sichere Verbindung am System über ssh (mit eingeschränkten Benutzerrechten) anzumelden. In übergeordnete Verzeichnisse hat dieser Benutzer keinen Zugriff. Er sieht dann lediglich die vom SCPonly angelegten Verzeichnisse (Standard sind diese: bin, etc, incoming, lib und usr). Das Verzeichnis incoming erhält Schreibrechte. Auf dieses Verzeichnis soll man via HTTP zugreifen können, so dass dieser Benutzer bspw. seine Homepage (über SFTP) hochladen kann. Außerdem soll er die Möglichkeit haben, auch PHP-Dateien parsen zu lassen. Was da drin steht ist egal, da bei diesen Dateien generell diese o.g. Meldung „No input file specified.“ erscheint. HTML-Dateien lassen sich abrufen, da diese ja lediglich an den aufrufenden Browser gesendet werden.

Sicherlich müssen Berechtigungen erteilt werden, um
PHP-Dateien ausführen zu können.

Nein. Es reicht das der User, unter dem der Apache läuft, sie
lesen
kann.

Das ist mir schon klar.

Steve

Mein Problem ist folgendes:
Beim Ausführen von PHP-Dateien wird im Browser die Meldung „No
input file specified.“ angezeigt.

Sicherlich müssen Berechtigungen erteilt werden, um
PHP-Dateien ausführen zu können. Selbst bei chmod 777 passiert
nichts.

Nur so’n Schuss ins Blaue: Hast du in der httpd.conf ExecCGI und die benötigten Rechte für die entspr. Verzeichnisse angegeben? So etwa

 Options FollowSymLinks **ExecCGI** MultiViews
 AllowOverride AuthConfig
 Order allow,deny
 Allow from all

HTH
Schorsch

Hallo Horscht,

Nur so’n Schuss ins Blaue: Hast du in der httpd.conf ExecCGI
und die benötigten Rechte für die entspr. Verzeichnisse
angegeben? So etwa

Options FollowSymLinks ExecCGI MultiViews
AllowOverride AuthConfig
Order allow,deny
Allow from all

PHP ist als Apache-Modul eingebunden. ExecCGI müsste man verwenden, falls PHP als CGI-Modul läuft. Habe es aber trotzdem versucht. Nach dem Neustart von Apache hat das aber leider auch nicht weitergeholfen.

Trotzdem danke.

Steve

Hallo,

Mein Problem ist folgendes:
Beim Ausführen von PHP-Dateien wird im Browser die Meldung „No
input file specified.“ angezeigt.

Passiert das auch, wenn der einzige Inhalt der Datei test.php wie folft lautet?

<?PHP phpinfo();<br />?\>

Gruß,

Sebastian

Was erzeugt die Meldung: ‚No input file specified‘
Hallo,

wie schon erwähnt, ist es egal, welchen Inhalt die PHP-Dateien haben.
Mir würde es schon weiterhelfen, wenn ich wüsste, was diese Meldung erzeugt.
Die error_log vom Apache2 erzeugt beim Zugriff auf die Datei keine Zeile. In der access_log wird auch nichts protokolliert.
PHP protokolliert (in suphp_log) einen Zugriff:

[Wed Jan 18 14:24:17 2006] [info] Executing /home/\*\*\*\*\*/scptestuserdir/incoming/test.php as user scpuser1 (1004), group www (60006)

Der Benutzer scpuser1 wurde von SCPonly angelegt und in die passwd geschrieben:

scpuser1:x:1004:60006::/home/\*\*\*\*\*/scptestuserdir:/usr/local/sbin/scponlyc

Macht diese Zeile vielleicht schon Probleme?

PHP ist als Apache-Modul eingebunden.

Die Fehlermeldung hört sich für mich so an, als würde PHP als externes
Programm aufgerufen und fände dann die PHP-Datei nicht.

Stefan

Hallo,

Sicherlich müssen Berechtigungen erteilt werden, um
PHP-Dateien ausführen zu können. Selbst bei chmod 777 passiert
nichts.

Aaargh! 777 ist echt brandgefährlich. Die PHP-Dateien müssen für den Apachen lesbar sein, aber nicht ausführbar.

Was gibt

 rgrep -i php /etc/apache/

aus?

Gruß,

Sebastian

Problem gelöst.
Der Fehler lag mehr oder weniger bei SuSE. Bin mittlerweile auf Debian umgestiegen. Da funktionierts auch problemlos.

Danke.