Perl für Confixx User

Bash, Shell, PHP, Python, Perl, CGI
royan
Posts: 23
Joined: 2003-02-08 08:23
Location: Berlin

Perl für Confixx User

Post 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.
ravensmetaller
Posts: 68
Joined: 2003-08-05 20:27

Re: Perl für Confixx User

Post 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
royan
Posts: 23
Joined: 2003-02-08 08:23
Location: Berlin

Re: Perl für Confixx User

Post 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"
oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Perl für Confixx User

Post by oxygen »

Das ist alles Okay, sonst stände eine Fehlermeldung im Script. Die einzige Fehlerquelle die bleibt, ist das Script selbst.
royan
Posts: 23
Joined: 2003-02-08 08:23
Location: Berlin

Re: Perl für Confixx User

Post by royan »

Wenn ich auf der console

Code: Select all

perl test.pl
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.
suntzu
Posts: 669
Joined: 2002-12-20 19:47
Location: Mönchengladbach

Re: Perl für Confixx User

Post 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
royan
Posts: 23
Joined: 2003-02-08 08:23
Location: Berlin

Re: Perl für Confixx User

Post 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.
suntzu
Posts: 669
Joined: 2002-12-20 19:47
Location: Mönchengladbach

Re: Perl für Confixx User

Post 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
royan
Posts: 23
Joined: 2003-02-08 08:23
Location: Berlin

Re: Perl für Confixx User

Post 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.

Code: Select all

AddHandler cgi-script .cgi .pl
Dann müsste es doch funktionieren, wenn das Script in /home/www/webXX/html/cgi-bin liegt oder nicht?
gero
Posts: 16
Joined: 2004-02-03 14:30
Location: Hessen

Re: Perl für Confixx User

Post 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?
gero
Posts: 16
Joined: 2004-02-03 14:30
Location: Hessen

Re: Perl für Confixx User

Post by gero »

welches modul muß man denn bei pache2 laden ? cgi oder cgid oder beide?