Hallo,
Hallo Maba,
danke für deine Vorschläge. Ich bin denen nachgegangen.
ist das Problem durch die vorigen Antworten jetzt schon gelöst
oder noch nicht.
Das Problem ist leider immer noch nicht gelöst.
Fehler 500 wird ja noch vom Server (thttpd) selbst erzeugt.
Folgerung: das Executable erzeugt etwas, das thttpd nicht
erwartet. Es kommen also nur Fehler in Betracht, die direkt
mit dem Executable zu tun haben.
Um das rauszudebuggen folgender Vorschlag:
erzeuge ein Shell-Skript, das die analoge Ausgabe erzeugt wie
die „echte“ EXE.
#!/bin/sh
echo
…
EOTEST
Executable setzen und mal ausprobieren, ob der gleiche
Text-Output rauskommt. Dann im Web-Formular mal auf die
Shell-Skript Variante verweisen. Geht das? Falls nein erwartet
thttpd vielleicht noch zwingend irgendwelche weiteren Header
(Content-Length oder andere).
Wenn ich das gleiche in ein Shellskript packe, dann funktioniert alles wunderbar! Ich bekomme die gewünschte html Seite angezeigt.
Nächster Verdacht: stimmt die Datei Ownership. Manchmal
verlangen Webserver für das Ausführen von CGIs bestimmte
Limitationen. Z.B. nicht executable für „other“ oder
„ownership“ des Skripts = user unter dem thttpd läuft, …
Ich habe heute eine Seite gefunden (http://www.boristheengineer.co.uk/slug/thttpd_web_se…), auf der erklärt wird, dass thttpd sehr wählerisch sein soll, was Zugriffsrechte angeht. Leider funktionieren die dort vorgeschlagenen Settings nicht.
Meine CGI Datei hat folgende Rechte:
-rwx--x--x+ 1 t0112387 cc\_lzb 5182 Nov 2 12:59 jsCGITest.cgi
Die zugehörige Konfiguration setzt user root als user.
dir=/var/www/data
user=root
# localpat=\*\*.gif|\*\*.png|\*\*.jpg
cgipat=/cgi-bin/\*.cgi
logfile=/var/www/logs/thttpd.log
pidfile=/var/run/thttpd.pid
Ich für meinen Teil sehe dort keine Konflikte in den Rechten.
Viele Grüße
maba
Vielen Dank für deine Antwort!!!
Grüße,
Andy