The CGI-Forum

Here you can read all entries on the board and/or make own entries. Have fun!
Serverfehler beim cgi-board - xwolf (xwolf@xwolf.com), 9.10.97 - 17:23:56
>Hallo,
>
>wir möchten ein 'lokales' Diskussionsforum für eine unserer Veranstaltungen aufbauen. Das script board.pl scheint dabei genau das richtige zu sein.
>Leider gelingt es mir absolut nicht, auch nur ein einfaches cgi-script unter unserem web-server zum laufen zu kriegen. Bisher konnte ich trotz langer Suche und eigenem Experimentieren keine funktionsfähige Konfiguration schaffen.
>aktuellste Fehlermeldung:
>The server encountered an internal error or misconfiguration and was unable to complete your request.
>Wer kann mir weiterhelfen?
>
Geh folgendermassen vor bei solcher Fehlermeldung:
  • Starte das Perl-Skript aus einer Shell heraus. Wenn es einen Syntaxfehler hat, wird dieser dort angezeigt und es duerfte klar sein, wo was falsch gemacht wurde.
  • Wenn erstes nicht ging, dann schau in die Server-Log des Webservers! Meistens liegt diese unter /var/log/apache oder /var/log/ .
    Dort findet sich nicht nur die Access.log, in der die aktuellen Zugriffe geloggt werden, sondern auch eine Datei errors oder error.log, in der alle fehlermeldungen geschrieben werden. Diese log sollte man sich mittels tail (filename) anschauen, nachdem der Fehler aufgetreten ist..Wenn man mehrere Shells auf hat, ist tail -f (filename) auch ganz hilfreich.
    In dieser Log wird dann auch der Fehler genauer angezeigt, als die Meldung beim Browser.
  • Nehmen Sie die Fehlermeldung ernst! Wenn da steht, das auf die Datei nicht zugegriffen werden konnte, dann wird das auch stimmen! Meistens liegt die Loesung dieses fehlers in falschen Dateirechten. Oder falschen Verzeichnissrechten!
  • Unter welcher Kennung fuehrt der Webserver das Skript aus? Unter der Ihren, oder unter einer eigenen? Wenn unter einer eigenen, kann dieser 'Benutzer' dann auf die Dateien zugreifen?
  • Angenommen, die obigen Punkte haben nichts gebracht, dann gibt es nur eines: Debugging! Am einfachsten ist es, sie machen dies zuerest auf der Shell-Ebene.
    Wenn dort ein richtiger HTML-Coder ausgegeben wird, ist der erste Schritt schon gemacht.

    Achten Sie darauf, dass ein Skript, das vom Webserver ausgefuehrt wird, erst einen header angeben muss, der dem Server sagt 'Achtung jetzt kommt HTML'..
    Also das in der ersten Zeile, bevor irgentwas anderes ausgegeben wird (selbst Fehlermeldungen duerfen erst spaeter kommen!!!) sowas wie

    print 'Content/Type: text/html\n\n';

    gemacht werden muss!
  • Angenommen, das Skript laeuft, aber irgentwie werden Dateien nicht richtig ausgegeben... Dann muss man mal auch hier die Dateirechte nachpruefen..
  • Was jetzt noch an Fehlern bleibt, sind endweder Systemfehler oder nicht abgefangene Fehler die Systemaufrufe innerhalb des Skriptes geben.

Am Ende dieser Checkliste muss das Skript laufen!

Ciao,
Wolfgang


New MessageReply tn thisReply on topicDeleteOverviewPreviousNext Mail this Mail topic Mail all
New messageReply to this messageEntry to this topicDelete entryAll entries Previous Entry Next EntryMail this message Mail this topic Mail all messages

Script written by
Wolfgang Wiese, feedback welcome.