Page 1 of 1
Perl für Confixx User
Posted: 2004-02-20 16:23
by royan
Hallo!
Ich habe für einen Confixx User Perl freigeschaltet und dieser möchte nun ein Testscript ausführen.
Die Datei enthält keines der Standardprobleme (falsches Zeilenumbruchsformat etc.)
Bei den Ergebnissen der Forensuche fällt auf, dass viele dieses Problem haben und der Standard Tipp ist, in die suexec log zu gucken. Habe ich. Resultat:
info: (target/actual) uid: (web5/web5) gid: (ftponly/ftponly) cmd: test.pl
Error Log:
[Fri Feb 20 16:16:05 2004] [error] [client xx.xxx.xx.xxx] Premature end of script headers: /home/www/web5/html/cgi-bin/test.pl
Muss man noch irgendeine Standardeinstellung vornehmen, damit man Perl benutzen kann übers Web?
Lasse ich das Script auf der Console von Perl parsen, klappt alles ohne Fehler.
Vielen Dank im Voraus für die Hilfe.
Re: Perl für Confixx User
Posted: 2004-02-20 21:50
by ravensmetaller
ja und wat spuckt "suexec -V" bei dir aus ?
hört sich ja eigentlich an wie das leidige DOC_ROOT Problem...
Sven / RM
Re: Perl für Confixx User
Posted: 2004-02-20 22:09
by royan
Code: Select all
-D DOC_ROOT="/home/www"
-D GID_MID=96
-D HTTPD_USER="wwwrun"
-D LOG_EXEC="/var/log/httpd/suexec.log"
-D SAFE_PATH="/bin:/usr/bin"
-D UID_MID=96
-D USERDIR_SUFFIX="public_html"
Re: Perl für Confixx User
Posted: 2004-02-21 00:23
by oxygen
Das ist alles Okay, sonst stände eine Fehlermeldung im Script. Die einzige Fehlerquelle die bleibt, ist das Script selbst.
Re: Perl für Confixx User
Posted: 2004-02-21 08:31
by royan
Wenn ich auf der console
mache, gibt das script den korrekten html code aus, den es ausgeben soll.
übers web dann internal server errror.
habe es auch schon mit anderen scripts probiert, die auf einem anderen linux web server einwandfrei laufen.
Re: Perl für Confixx User
Posted: 2004-02-21 13:39
by suntzu
Hi,
was ist die erste print-Zeile deines Skriptes? Wenn es nicht content-type ist: Das ist dann der Fehler.
Die erste Zeile muss sein
Code: Select all
print "Content-type: text/htmlrnrn";
Gruß,
Dominik
Re: Perl für Confixx User
Posted: 2004-02-21 13:45
by royan
Es ist Content-type.
Ich habe es jetzt immerhin geschafft, dass das Script ausgeführt wird, wenn die Endung .cgi ist.
wie kann ich es nun noch hinbekommen, dass er auch .pl ausführt?
Bisher bietet er das Script dann zum Download an.
Re: Perl für Confixx User
Posted: 2004-02-21 13:47
by suntzu
Hi,
wenn es in einem cgi-bin liegt:
Options +ExecCGI
für das Verzeichnis.
Wenn es außerhalb liegt:
AddHandler cgi-script .pl
Gruß,
Dominik
Re: Perl für Confixx User
Posted: 2004-02-21 13:56
by royan
Es liegt in dem gleichen Verzeichnis wie das funktionierende *.cgi Script. ExecCGI ist gesetzt... zumindest für cgi-bin.
Code: Select all
<Location /cgi-bin>
AllowOverride None
Options +ExecCGI -Includes
SetHandler cgi-script
</Location>
Und Handler .pl habe ich an den Handler für .cgi angefügt. müsste also noch etwas anderes sein denke ich.
Dann müsste es doch funktionieren, wenn das Script in /home/www/webXX/html/cgi-bin liegt oder nicht?
Re: Perl für Confixx User
Posted: 2004-02-25 21:26
by gero
hi,
ich bekomme immer den Internal Server Errror 500. Ich habe Apache2 und habe schon alles ausprobiert. suexec ist mit doc_root=/home/www kompiliert. in den virtual_hosts habe ich jedes mal
Directory /home/www/webxy/html/*
Options +ExecCGI
/Directory
natürlich in korrekter Syntax.
die perl skripte mit der endung .cgi lassen sich in der shell ganz normal ausführen, gehören auch dem webuser...in der error_log steht nur : Premature end of script headers: /home/www/webxy/html/skript.cgi
was mache ich falsch?
Re: Perl für Confixx User
Posted: 2004-02-28 12:57
by gero
welches modul muß man denn bei pache2 laden ? cgi oder cgid oder beide?