What's this? Perl (CGI) Scripte werden nicht ausgeführt!

Apache, Lighttpd, nginx, Cherokee
Post Reply
becks123
Posts: 28
Joined: 2005-03-11 00:19
 

What's this? Perl (CGI) Scripte werden nicht ausgeführt!

Post by becks123 »

Servus Leute,

ich habe folgendes Problem:

Ich habe eine Testdatei angelegt (test.cgi) mit folgendem Inhalt:

Code: Select all

#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);

print "Content-type: text/htmlnn";

print "BLU";
Nun gibt mein Browser folgendes aus:

Code: Select all

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
Ich habe die test.cgi im ASCII Modus hochgeladen, die rechte auf 755 gesetzt. Aber es will nicht.

Dann habe ich in der suexec.log nachgesehen.
Da steht folgendes drin:

Code: Select all

[2006-01-03 14:26:42]: uid: (10002/benutzer) gid: (10001/10001) cmd: test.cgi
Kann mir jemand sagen wo das Problem liegt?

Ich weiß nicht mehr weiter...

Danke!![/code][/quote]
User avatar
Joe User
Project Manager
Project Manager
Posts: 11191
Joined: 2003-02-27 01:00
Location: Hamburg
Contact:
 

Re: What's this? Perl (CGI) Scripte werden nicht ausgeführt!

Post by Joe User »

Options ExecCGI gesetzt?
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
becks123
Posts: 28
Joined: 2005-03-11 00:19
 

Re: What's this? Perl (CGI) Scripte werden nicht ausgeführt!

Post by becks123 »

Wo kann ich diese option einstellen?

Habs anscheinend gefunden...in der conf steht folgendes:

Code: Select all

    <IfModule mod_perl.c>
    <Files ~ (.pl$)>
        SetHandler perl-script
        PerlHandler ModPerl::Registry
        Options ExecCGI
        allow from all
        PerlSendHeader On
    </Files>
    </IfModule>
und etwas weiter unten noch

Code: Select all

        Options +Includes +ExecCGI
Die Verwaltung des Servers mache ich mit Plesk.

Da hatte ich angeklickt, dass CGI unterstützt werden soll...
becks123
Posts: 28
Joined: 2005-03-11 00:19
 

Re: What's this? Perl (CGI) Scripte werden nicht ausgeführt!

Post by becks123 »

in der log datei steht zudem folgendes:

Code: Select all

[Tue Jan 03 20:18:13 2006] [error] [client 85.72.22.164] failed to open log file /var/log/apache2/suexec.log
[Tue Jan 03 20:18:13 2006] [error] [client 85.72.22.164] fopen: Permission denied
[Tue Jan 03 20:18:13 2006] [error] [client 85.72.22.164] Premature end of script headers: test.cgi
timeless2
Posts: 415
Joined: 2005-03-04 14:45
Location: Paris
 

Re: What's this? Perl (CGI) Scripte werden nicht ausgeführt!

Post by timeless2 »

suexec.log anlegen bzw. Rechte anpassen und in den dortigen Logs schauen, was nich stimmt.
becks123
Posts: 28
Joined: 2005-03-11 00:19
 

Re: What's this? Perl (CGI) Scripte werden nicht ausgeführt!

Post by becks123 »

hmmm...irgendwie geht es jetzt, wenn ich hinter der 1.ten Zeile noch ein "-w" einfüge

also:

Code: Select all

#!/usr/bin/perl -w
Dann gehts...

Kann mir jemand sagen, wie ich festlegen kann, das in dem gesamten hauptordner CGI ausführbar sein soll und nicht nur im "cgi-bin" ordner??
dawn
Posts: 64
Joined: 2006-01-05 11:32
 

Re: What's this? Perl (CGI) Scripte werden nicht ausgeführt!

Post by dawn »

Ich verwalte meinen Rootie auch mit Plesk. In jedem Virtual-Host den du mit Plesk erstellst befindet sich ein Unterverzeichnis /conf darin findest du die Datei httpd.include. In dieser Datei kannst du das festlegen... Einfach mal reinschauen, ist relativ selbsterklärend und sonst googeln.

Gruss,
Dawn
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: What's this? Perl (CGI) Scripte werden nicht ausgeführt!

Post by Roger Wilco »

Dawn wrote:Ich verwalte meinen Rootie auch mit Plesk. In jedem Virtual-Host den du mit Plesk erstellst befindet sich ein Unterverzeichnis /conf darin findest du die Datei httpd.include. In dieser Datei kannst du das festlegen...
Wenn überhaupt, dann in der vhost.conf, weil die httpd.include bei einer Ã?nderung wieder überschrieben wird.
becks123
Posts: 28
Joined: 2005-03-11 00:19
 

Re: What's this? Perl (CGI) Scripte werden nicht ausgeführt!

Post by becks123 »

also das einzige was ich dort finde ist:

Code: Select all

ScriptAlias  /cgi-bin/ /var/www/vhosts/***.de/cgi-bin/
Wenn ich anstatt "/cgi-bin/" nun "/" eingebe, dann würde der ganze Websapce ja im CGI-BIN Verzeichnis laufen.

Dort können aber doch keine Images etc. geladen werden.

Wie muss ich das einstellen?

Danke!
sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf
Contact:
 

Re: What's this? Perl (CGI) Scripte werden nicht ausgeführt!

Post by sledge0303 »

Recherchiere doch mal bei google ob

a) der Script Alias unbedingt NUR CGI-BIN heissen muss...
b) ob man nicht noch einen ScriptAlias hinzufügen kann...
c) was man mit dem Script und dem Befehl chmod so alles machen kann/muss um es startfähig zu machen

Gross zu recherchieren ist eigentlich nicht nötig, auf der Apache Website steht alles sogar auf deutsch beschrieben hin!
Post Reply