Apache - Cgi - Konfigurationsproblem
OJ
- webserver
Hallo,
ich richte mir gerade den Apache-Web-Server unter Windows 98 ein (bzw. ich versuche es).
Der Server läuft ordnungsgemäß (dh. ich kann ihn über 127.0.0.1 ansprechen).
Ein Problem habe ich mit dem Ausführen von CGI-Skripts.
Ich habe in der httpd.conf lediglich die Zeile "ServerName 127.0.0.1" geändert.
Wenn ich alles richtig verstanden habe müßte "Apche" in dieser Orginalkonfiguration Cgi-Skripts ausführen können.
Zum testen setze ich folgendes Skript:
#!perl
print "Content-Type: text/plain\n\n";
foreach my $p (sort keys %ENV) { print "$p=$ENV{$p}\n"; }
Rufe ich nun dieses Skript über http://127.0.0.1/cgi-bin/test.cgi auf, fragt mich der Internetexplorer, ob ich die Datei downloaden oder öffnen will. Wähle ich öffnen, startet mein Texteditor, in welchem die korrekte Ausgabe angezeigt wird.
Ich nehme an, daß der Server das Skript nicht als solches erkennt, bin aber ratlos, was ich in der httpd.conf oder sonstwo ändern muß.
Ich wäre dankbar, wenn mir jemand einen Tip geben könnte.
MfG
OJ
Hallo OJ!
Rufe ich nun dieses Skript über http://127.0.0.1/cgi-bin/test.cgi auf, fragt mich der Internetexplorer, ob ich die Datei downloaden oder öffnen will. Wähle ich öffnen, startet mein Texteditor, in welchem die korrekte Ausgabe angezeigt wird.
Bitte versuche es erstmal mit Netscape. Wenn dort dasselbe auftritt, denken wir nochmal ueber die Apache-
Config nach. Aber vermutlich musst Du einfach nur einen richtigen Browser benutzen. ;-)
So long, Calocybe
Hi OJ
Config nach. Aber vermutlich musst Du einfach nur einen richtigen Browser benutzen. ;-)
So long, Calocybe
Ich möchte mir solche unqualifizierten Komentare von NS Fanatikern verbitten!
OJ schreib mal bitte: print "Content-type: text/html\n\n"; statt text/plain
dann wird der Browser auch die Ausgabe deines CGI's darstellen, und nicht als plain-text in den Editor laden wollen.
Ich hasse die auf Krampf NS ist irgendwo noch besser als IE Leute.
Gebt es doch endlich mal auf - und helft lieder den NS-Leuten den Browser dahin zu bringen, dass er mal CSS nach Standart und so was selbstverständliches wie pixelgenau gesetzte Frames macht.
ALEX
Hallo Calocybe, hallo ALEX,
es stimmt, wenn ich mein Originalskript mit Netscape teste, dann klappts einwandfrei.
Wenn ich "Content-type: text/html\n\n"; statt text/plain schreibe, dann funktionierts auch mit dem Internetexplorer.
Ich wollte allerdings keine Diskussion Netscape - Microsoft entfachen. Testen muss man es doch mit beiden Browsern (siehe gerade mein Problem).
Vielen Dank euch beiden,
OJ
Hallo Alex!
Config nach. Aber vermutlich musst Du einfach nur einen richtigen Browser benutzen. ;-)
So long, Calocybe
Ich möchte mir solche unqualifizierten Komentare von NS Fanatikern verbitten!
Ich hasse die auf Krampf NS ist irgendwo noch besser als IE Leute.
Wenn Du mein Posting mal genau gelesen haettest, dann haettest Du sicher gemerkt, dass mir an einer
solchen Auseinandersetzung nichts liegt. Aber es ist nun mal Tatsache, dass der IE5 gewisse Probleme
beim korrekten Zuordnen der Minme types hat, da wird doch so ein kleine *freundliche* Stichelei erlaubt
sein, oder?
So long
Du mußt folgendes eintragen:
ScriptAlias /cgi-bin/ "c:/apache/cgi-bin/"
entsprechend Deinem Verzeichnis
Und ganz wichtig: die shebang-Zeile in Deinem Perlscript
#!... hier muß der komplette Pfad zu Deinem Perl-Interpreter stehen
z.B. #!c:/perl/bin/perl.exe
Sollte dann laufen
Gruß
Timothy
Hi,
Und ganz wichtig: die shebang-Zeile in Deinem Perlscript
#!... hier muß der komplette Pfad zu Deinem Perl-Interpreter stehen
z.B. #!c:/perl/bin/perl.exe
das Laufwerk muß nicht, wenn es das gleiche ist wie der Server. Deswegen kann ich nur empfehlen, Perl ins Verzeichnis c:\usr zu installieren: Die shebang-Zeile lautet dann
#!/usr/bin/perl -w
Also wie vermutlich auf dem Zielsystem :-)
Ach so, das -w sollte man allgemein bei Perl-Scripts verwenden, genau wie use strict. Das aber nur nebenbei.
Cheatah
Hi Ceatah,
bin ich nicht Klasse , so als "altgedienter" Apache-Nutzer ;-) ???
#!... hier muß der komplette Pfad zu Deinem Perl-Interpreter stehen.
Habe mir nur erlaubt, dies zu Posten, da ich am Sonntag die gleichen Probleme hatte.
z.B. #!c:/perl/bin/perl.exe
das Laufwerk muß nicht, wenn es das gleiche ist wie der Server. Deswegen kann ich nur empfehlen, Perl ins Verzeichnis c:\usr zu installieren: Die shebang-Zeile lautet dann
#!/usr/bin/perl -w
Also wie vermutlich auf dem Zielsystem :-)
wenn so, dann bezieht sich der Server wohl auf die ServerRoot - Eintragung in der .conf-Datei - nehme ich mal an.
Ansonsten natürlich richtig, erspart man sich diverse Änderungen.
Ach so, das -w sollte man allgemein bei Perl-Scripts verwenden, genau wie use strict. Das aber nur nebenbei.
mache ich - zumindest -w