Warum gibt mein "test.cgi"-Programm eine Fehlermeldung aus?

Aus HSMWiki
Wechseln zu: Navigation, Suche
Ssh win32 chmod.jpg

Wer obiges Programm in sein "cgi-bin"-Verzeichnis kopiert, erhält meist folgende Fehlermeldung:

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

Ein einfaches Kopieren reicht nicht. Um ein "CGI"-Programm auszuführen (execute), muss es auch dieses Recht besitzen (700). Dieses Recht kann man zum Beispiel per "SFTP" auf dem Server "ftp-www" setzen:

  • SSH-Verbindung zum Server "ftp-www" herstellen
  • Im Menü "Window" den Punkt "New File Transfer" anklicken
  • In das Verzeichnis "cgi-bin" wechseln
  • Mit der rechten Maustaste die Option "Properties" der Datei wählen
  • In der "Owner"-Reihe 3 Kreuze eintragen

Wer seine "CGI"-Skripte unter Windows erstellt, sollte den Unterschied bei der Zeilentrennung zu Unix ( "CR/LF" <=> "LF" ) beachten. Beim FTP-Upload muss deshalb der "ASCII"-Modus eingestellt werden. Alternativ kann man das "dos2unix" -Programm unter UNIX/Linux verwenden:

dos2unix -s script.cgi

Eine weitere Ursache für diese Fehlermeldung besteht durch fehlerhafte oder nicht vorhandene "include"-Daten in komplexeren "CGI"-Programmen.