|
Installation und Debugging
Unsere leistungsstarken Webspace- und Hostingkonten
ermöglichen Ihnen die Installation und Ausführung
von CGI-Skripten. Dadurch erhalten Sie die Möglichkeit,
Ihre Webapplikation auf Ihre spezifischen Wünsche
und Ansprüche abzustimmen. Dieses umfasst sowohl
die Einrichtung und Anpassung von selbst entwickelten
CGI-Skripts als auch derer, die Sie von Dritten erworben
oder heruntergeladen haben.
Dieses Dokument ist in mehreren Abschnitten unterteilt.
Jeder Abschnitt betrifft einen bestimmten Aspekt. Jeder
Diskussionsgegenstand ist wichtig, obwohl er vielleicht
nicht gerade auf Ihr Problem passen mag.
Pfadangaben
Da Ihre CGI-Skripts unterhalb Ihrer Kontokennung ausgeführt
werden, sollten die Pfadangaben, die Sie innerhalb Ihrer
Skripte verwenden, auch den Pfad zu Ihrem Konto enthalten.
Beginnt der Pfad, den Sie innerhalb Ihres Skriptes konfigurieren
wollen, mit /public_html/website.html, so müssen
Sie diesen mit dem Pfad zu Ihrem Konto vervollständigen,
um den absoluten Pfad zum sog. ROOT-Verzeichnis zu erhalten.
Dieser lautet in diesem Fall dann
/home/[LOGIN-NAME]/public_html/website.html.
Vergabe der richtigen Rechte
Nachdem Sie Ihr Skript per FTP
aufgespielt haben vergewissern Sie sich bitte, ob Sie
Ihrem Skript die richtigen Rechte zur Ausführung
(execute) gegeben haben.
In einer UNIX-Umgebung hat jede Datei einen speziellen
Modus bzw. eine Reihe von gesetzten Rechten, die bestimmen,
wer die Datei lesen (read), schreiben (write) oder ausführen
(execute) darf. Das Setzen dieser Rechte ist einfach.
Hierzu benutzen Sie die CHMOD Funktion Ihres FTP-Programms.
Markieren Sie die Datei, deren Rechte Sie ändern
wollen und vergeben diese dann mit der entsprechenden
Funktion. In der Regel ist die Vergabe des Wertes 755
ausreichend. Damit erhält die Datei folgende Berechtigungen:
| Nutzer |
Rechte |
Wert |
| Eigentümer
(owner) |
lesen, schreiben,
ausführen |
7 |
| Gruppe (group) |
lesen, ausführen |
5 |
| Alle anderen
(else) |
lesen, ausführen |
5 |
Wenn ein Skript keine Ausführungsrechte hat, so
gibt der Webserver einen Fehler
403 Forbidden zurück, sobald er versucht,
das Skript auszuführen.
Allgemeine
Probleme mit Perl Skripts
Fehlerhafter Upload im BINARY
MODE
Perl Skripts sind, solange sie nicht als Kompilate vorliegen,
"plain text"-Dateien. Text-Dateien sollten
unter Verwendung des ASCII-Mode mit Ihrem FTP-Programm
auf Ihr Webspace- oder Hostingkonto überspielt
werden. Ein fehlerhaftes Überspielen des Skripts
im BINARY-Mode wird vom Server in der Regel mit einem
Fehler 500 internal Server
Error quitiert.
Falsche Pfadangabe für
den Perl-Interpreter
Die erste Zeile eines Perl-Programms weist den Pfad
zum Perl-Interpreter. Bei Verwendung von Perl mit einem
Webspace- und Hostingkontos ist die korrekte Angabe
zum Perl 5 Interpreter
/usr/bin/perl
Wenn Sie Perl-Programme aus fremden Quellen benutzen,
so kann diese Angabe abweichen, da sie auf die Serverumgebung
des Autors angepasst ist. Die o.g. Angabe ist jedoch
die allgemein übliche.
Troubleshooting bei 500
internal Server Errors
Wenn beim Ausführen Ihrer Skripts ein Fehler 500
internal Server error auftritt, so ist ein Blick in
die error_log-Datei des Servers der beste Weg zur Analyse
des Problems. Das error_log finden Sie unter ~/logs/error_log,
wobei "~" als eine Abkürzung für
den Pfad zu Ihrem Konto steht. Laden Sie diese ggf.
per FTP herunter und schauen es sich mit einem Texteditor
an.
Allgemeine CGI Fehler und deren
Lösung
HTTPd/CGI: exec of [CGI PATH INFO]
failed, errno is 2
Analyse und Lösung
In der ersten Zeile des Skriptes wurde der Pfad zum
Interpreter nicht oder falsch angegeben. Wenn Sie ein
Perl Skript verwenden und sich der richtigen Angabe
der ersten Interpreterzeile nicht sicher sind, sehen
Sie sich bitte den Abschnitt Allgemeine
Probleme mit Perl Skripts noch einmal an. Wenn die
Interpreterzeile korrekt angegeben ist, ist es sehr
wahrscheinlich, dass Sie das Skript im BINARY-Modus
von Ihrem lokalen PC auf Ihr Webspace- und Hostingkonto
überspielt haben. Ist dieses der Fall, so überspielen
Sie diese Datei bitte erneut im ACSII-Modus, um das
Problem zu korrigieren.
HTTPd: malformed header from script
[CGI PATH INFO]
Analyse und Lösung
Ihr Skript gibt keinen Header aus. Wenn ein CGI-Programm
vom Server ausgeführt wird, so liefert es dem Server
eine Mitteilung zurück, die aus 2 Teilen besteht:
dem Kopf (Header) und dem Körper (Body). Der Header
enthält üblicherweise den Datentyp (content
type) jener Daten, die mit dem Body gesendet werden
sollen. Header und Body sind mit einer einfachen Leerzeile
getrennt. Eine solche Antwort eines CGI-Programm könnte
wie folgt aussehen:
Content-type: text/html
<html>
<head><title>Title</title></head>
<body bgcolor="white">
Hello world!
</body>
</html>
die Fehlermeldung malformed header from script zeigt
also an, dass das Skript keinen richtig definierten
Header vorausschickt. Vielleicht wurden die Headerangaben
des Contenttype falsch geschrieben, nicht mit einem
gültigen Typ versehen, wie z.B. text/html, das
Skript gibt keinen Header aus oder die Trennung zwischen
Header und Body mit einer Leerzeile fehlt.
|