978 Aufrufe
Gefragt in Webseiten HTML von
Hallo zusammen,

ich möchte gern über eine HTML-Seite Shellskripte ausführen können. Ich habe gelesen, ich muss dazu über CGI gehen. In meiner HTML-seite habe ich folgendes Element eingebettet:

<form action="test.cgi">
<input type="submit" class="Button" value="Absenden">
</form>


im Skript test.cgi selbst steht folgender Code, nur zum Probieren ob es funktioniert:

#!/bin/bash
time=`date +%Y%m%d`
touch $time.txt
exit


Klicke ich auf den Button, liefert mir der Browser jedoch folgende Fehlermeldung:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


Ich weiß auch nicht so ganz, wo ich anfangen soll, den Fehler zu suchen.....Anreize?

MFG

2 Antworten

0 Punkte
Beantwortet von kicia Mitglied (939 Punkte)
Was sagt der server error log ?
Hat das Script die nötigen Berechtigungen?
0 Punkte
Beantwortet von supermax Experte (4.8k Punkte)
Wie in A1 bereits gesagt, muß das Script die korrekten Rechte haben (also für den Webserver-User ausführbar sein).

Falls der Webserver Apache ist und der suEXEC-Wrapper aktiv ist, darf sich das Script außerdem nur in bestimmten Verzeichnissen befinden (i.d.R. innerhalb des DocumentRoot des Users, dem das Script gehört). Eventuell ist der Aufruf von CGI-Scripts auch in der Apache-Konfiguration auf bestimmte Verzeichnisse (typischerweise z.B. "cgi-bin" beschränkt).

Wichtig ist auch, daß das Script keine Windows-Zeilenschaltungen enthält und der keine BOM an den Anfang der Datei schreibt. Am besten einen Editor verwenden, wo man das explizit einstellen kann, z.B. Notepad++ oder PSPad
...