Apache mit mod_perl liefert keine Seiten aus dem cgi-bin Ver

Alles, was Perl betrifft, kann hier besprochen werden.

Apache mit mod_perl liefert keine Seiten aus dem cgi-bin Ver

Postby Guest » 08. April 2003 11:03

Hallo, ich habe ein Problem mit einem Windows-Apachen.

Das war ein Sammelpaket mit Perl, PHP, Apache und allem eingebaut.

Ich habe wie empfohlen den Apachen nach C:\Apache2\ und Perl nach C:\Perl\ installiert und in beiden Verzeichnissen die config.pl Skripte ausgeführt.

Anschliessend sollte man noch die http-conf-Datei des apachen selber durchkucken, ob alles richtig eingetragen wurde. Das sah mir ganz danach aus.

Der Server läuft im Prinzip auch wunderbar, nur wenn ich zum Beispiel index.html im /cgi-bin/ starten will hagelt es Fehler! (Das index.html ist eine Beispielseite die die Funktion einiger CGI-Skripte demonstrieren soll und in der Installation schon dabei war)

Die Fehlermeldeung des Servers ist:
Internal Server Error
(bei Aufruf von http://localhost/cgi-bin/index.html)

Im error-Log steht dann Folgendes:

[Tue Apr 08 12:02:06 2003] [error] [client 127.0.0.1] C:/Apache2/cgi-bin/index.html is not executable; ensure interpreted scripts have "#!" first line
[Tue Apr 08 12:02:06 2003] [error] [client 127.0.0.1] (9)Bad file descriptor: don't know how to spawn child process: C:/Apache2/cgi-bin/index.html

Sowas riecht für mich nach einem CHMOD-Problem. Soweit ich weiss gibt es sowas doch aber unter Windows garnicht.

Ich hab die config-files des Apachen mehrmals durchgesehen, auch die Windowspfade zu Perl und anderm stimmen!

Hat jemand eine Idee was das sein kann?[/b]
Guest
 

Postby Oswald » 08. April 2003 13:24

Huhu Gast!

Das ist ein ganz normales Verhalten vom Apache. Im cgi-bin-Verzeichnis wird alles wie ein CGI-Programm behandelt. Wenn Du da also eine HTML-Datei reinpackst, dann "denkt" er es soll ein CGI sein und versucht es zu starten. Was dann natürlich nicht geht.

Du musst die einfachen HTML-Dateien also immer ins normale htdocs-Verzeichnis packen und alles wird gut.

Liebe Grüße,
Oswald ;)
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
XAMPP Version: 5.5.19
Operating System: Linux

Postby Guest » 08. April 2003 15:03

Das sind die schönsten Probleme, die nämlich die sich ohne Zutun lösen :)

Danke für die schnelle Hilfe.

Allerdings ist die HTML-Datei da ja zu Demonstarationszwecken im cgi-bin Verzeichnis, von da aus sind einige kleine cgi-Dateien direkt verlinkt.
Da es sich insgesamt um ein Rundrum-Sorglos-Paket für WAMP handelt, das auch als solches angeboten wird, muss es doch möglich sein trotzdem html von dort auszuliefern.

Ich kannte cgi bisher nur von Tripod, dort ist es egal was man ins cgi-bin legt, ob Grafik, html oder cgi - alles wird korrekt behandelt, je nachdem was es ist. Kann ich meinen Apachen jetzt dazu übereden ebenso zu reagieren oder ist das nicht möglich (sonst muss ich alle Skripte umschreiben) ?
Guest
 

Postby Oswald » 08. April 2003 15:19

Huhu Gast!

Dann ist das eine Fehlkonfiguration von Tripod. Das cgi-bin-Verzeichnis ist per definition das, wo alles was drin liegt wie CGIs behandelt wird. Deshalb heisst es ja auch so.

Eine Möglichkeit hast Du allerdings noch: Wie heissen Deine CGI-Dateien? Was für eine Endung haben sie? Wenn Sie z. B. alle auf .cgi oder .pl enden, dann werden Sie automatisch als CGIs bzw Perl-Programme erkannt und Du kannst sie auch woanders ablegen. Also einfach unter htdocs ein neues Verzeichnis (z. B. mein-cgi-bin) aufmachen und da alles reinpacken. HTML ist da dann auch normales HTML.

Vielleicht so?

Liebe Grüße,
Oswald
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
XAMPP Version: 5.5.19
Operating System: Linux

Postby Guest » 09. April 2003 20:11

Die heissen .cgi die Dateien. Wenn ich die jetzt nach htdoc/ legen würde, in einen Ordner namens cgi-bin/ ,würde Apache dann wissen ob ich Dateien im ürsprünglichen cgi-bin/ referrenziere wenn ich ../cgi-bin/blbbla.cgi schreibe oder würde er im neuen cgi-bin/ Ordner suchen?
Und was macht der Server bei einem Provider dann später?

Das ist eigentlich schon eine akademische Frage, ich werde meine Page wohl in die klassische Struktur bringen, mit cgi und html getrennt.

Danke nochmal für die flinke Beantwortung! :)
Guest
 


Return to Perl

Who is online

Users browsing this forum: No registered users and 2 guests