Eigener Apache Server mit PERL-Interpreter
Christian Wermelinger
- perl
Hallo zusammen
2 Fragen hätte ich an euch. Vielen Dank für eure Antworten schon im voraus!
1. Frage
Damit ich meine CGI-Scripts nicht nur online Testen kann, habe ich lokal auf meinem Rechner (Win98!) den Apache Webserver sowie AktivePerl installiert. Leider werden die CGI-Skripts nicht verarbeitet, d.h anstelle eine HTML-Seite auszuspucken kriege ich nur den Code des Scripts zu sehen. Die Pfadangaben sollten stimmen. Wo müsste der Fehler am ehesten gesucht werden? Liegt das an PERL selber oder stimmt da vielleicht in der httpd.conf des Apache etwas nicht?
2. Frage
Auf Unix-Servern wird soviel ich weiss fast ausschliesslich Sendmail, als E-mail Programm eingesetzt. Wie sieht das auf der Windows-Seite aus? Wüsste jemand nen brauchbares E-mail-Programm (im Stil von Sendmail) das unter Win98 läuft?
Gruss
Christian
hi,
- Frage
Liegt das an PERL selber oder stimmt da vielleicht in der httpd.conf des Apache etwas nicht?
wahrscheinlich ist es die httpd.conf. Was du beschreibst, kenne ich von perl-scripts, bei denen der Pfad (in der allerersten Zeile) nicht korrekt gesetzt war oder eben, wenn in der httpd.conf der entsprechende AddHandler nicht eingetragen war.
- Frage
Auf Unix-Servern wird soviel ich weiss fast ausschliesslich Sendmail, als E-mail Programm eingesetzt. Wie sieht das auf der Windows-Seite aus? Wüsste jemand nen brauchbares E-mail-Programm (im Stil von Sendmail) das unter Win98 läuft?
Es gibt noch ein paar Dutzend weitere mail-Programme für UNIX-Systeme ... Für Windows gibts nicht ganz so viele, was damit zusammenhängt, daß meistens bestimmte Browserfunktionen genutzt werden. Wenn Du Netscape installiert hast, ist dabei ein Mailer bereits integriert. Der IE wird in den meisten Fällen zusammen mit Outlook Express installiert.
Aber die Angabe eines mail-Programmes ist dem Apache unter Windows ziemlich egal, das muß er ja nicht erledigen.
Grüße aus Berlin
Christoph S.
Wenn man nicht bei jedem Perl-Script vor dem Upload die Pfad-Angabe ändern will kann man im CGI-Directive (httpd.conf) die Zeile "ScriptInterpreterSource registry" einfügen. So wird der Perl-Interpreter nicht über die erste Zeile des Scripts ausgelesen sondern über die Windows-Registry. Wichtig ist dabei, dass dem Datei-Typ *.cgi als std. Vorgang "open" [perl\bin\perl.exe] zugewiesen ist! Der Name "open" ist sehr wichtig, ansonsten erkennt der Apache den Interpreter nicht. Diese Einstellung ermöglicht leichtes Testen der Scripts unter Win32 ohne die (std.) Pfad-Angabe des Scripts zu ändern... :)
Bye
Spooky
Moin,
- Frage
Damit ich meine CGI-Scripts nicht nur online Testen kann,
habe ich lokal auf meinem Rechner (Win98!) den Apache
Webserver sowie AktivePerl installiert. Leider werden die
CGI-Skripts nicht verarbeitet, d.h anstelle eine HTML-Seite
auszuspucken kriege ich nur den Code des Scripts zu sehen.
Die Pfadangaben sollten stimmen. Wo müsste der Fehler am
ehesten gesucht werden? Liegt das an PERL selber oder stimmt
da vielleicht in der httpd.conf des Apache etwas nicht?
Wenn Du den Source Code des Skriptes bekommst, dann
hat Apache nicht gecheckt, daß es sich um ein
ausführbares Skript handeln sollte.
Bei mir sieht das in der httpd.conf an entsprechender
Stelle z.B. folgendermaßen aus:
ScriptAlias /krrleb /home/abi/cgitest
<Directory /home/abi/cgitest>
AllowOverride None
Options None
Options ExecCGI
SetEnv RIG /home/abi/programming/RIG
</Directory>
ohne das 'ScriptAlias' erkennt Apache das Verzeichnis
nicht als ausführbar an und bietet die Dateien bestenfalls
zum Download an.
Die erste Zeile der Skripte muß von
folgender Gestalt sein:
#!/usr/bin/name_des_interpreterprogrammes
Wie das unter Windows 98 & Apache aussieht, weiß
ich nicht so genau. Möglicherweise muß dort der Windows-
Pfad zum Perl-Interpreter stehen, also etwa
#!/c:/programme/perl/bin/perl -w
(evtl. Backslashes statt der Slashes verwenden).
Ansonsten gibt es bei Selfaktuell einen ausführlichen
Artikel über das Thema cgi unter
http://www.teamone.de/selfaktuell/artikel/schroepl03.htm.
Viel Spaß dabei und bis dannundwann...
Andreas
Vielen Dank für eure Tipps! Waren sehr nützlich! Nun läuft alles. Noch ne andere Frage. Möchte gerne ein Formmail-Skript lokal testen. Was muss ich bei der Konfiguration beachten. Kann ich zum verschicken der Daten einfach den Pfad meines E-mail-Programmes (Outlook Express) angeben?
Schönen Tag noch...
Gruss
Christian Wermelinger