Apache Server Konfiguration für Perl

  • #1
J

JediMB

Bekanntes Mitglied
Themenersteller
Dabei seit
04.04.2003
Beiträge
244
Reaktionspunkte
0
Hallo zusammen!

Ich hatte mein Problem gestern schon mal gepostet, aber irgendwie ist der Beitrag verschwunden? ??? Hab ihn auch in keiner anderen Rubrik auf Anhieb finden können, falls er verschoben worden sein sollte. :eek:

Na, egal.

Jedenfalls:

Ich habe einen Apache 2 Server (Ver. 2.0.48) auf meinem Win2000 Rechner laufen und mir nun Perl installiert. Allerdings bekomme ich Perl nicht ans laufen.

Ich habe zunächst ScriptAlias für Perl eingefügt. Dabei jetzt die erste Frage: das hier angegebene Verzeichnis muß das Verzeichnis sein, in dem ich meine Scripts habe, oder? Alternativ könnte ihc mir noch denken, dass es das Perl-bin Verzeichnis sein könnte. Funktionier hat bisher keins von beiden. :(

Auf jeden Fall muß ich ja irgendwo einbinden, an welcher Stelle der PERL Interpreter (perl.exe) liegt. Leider habe ich bisher noch nichts finden können, wo ich diese Angabe einbauen könnte.

Beim ausführen meines Perl-Scriptes bekomme ich dann eine Fehlerpage 500 und der Error-Log sagt
(OS 3)Das System kann den angegebenen Pfad nicht finden. : couldn't create child process: 720003: test.cgi

Kann mir jemand helfen?

MfG
 
  • #2
JediMB schrieb:
Hallo zusammen!

Ich hatte mein Problem gestern schon mal gepostet, aber irgendwie ist der Beitrag verschwunden? ??? Hab ihn auch in keiner anderen Rubrik auf Anhieb finden können, falls er verschoben worden sein sollte. :eek:

Es wurde nicht verschoben es ging nur vermutlich beim Umzug des Forums auf einen anderen Server verloren. (Wie einige andere Dinge auch)

JediMB schrieb:
Ich habe einen Apache 2 Server (Ver. 2.0.48) auf meinem Win2000 Rechner laufen und mir nun Perl installiert. Allerdings bekomme ich Perl nicht ans laufen.

Also erstmal eine Sache vorweg. Zur Zeit ist der Apache 2.0.50 aktuell. Diesen würde ich auch verwenden da in den letzten 14 Tagen diverse Sicherheitslücken aufgetreten sind die erst im 2.0.50er behoben wurden. Als nächstes meine Frage, was willst du mit dem Apache und Perl machen und wie versiert bist du? Wenn du einfach nur deine Perl Scripte testen willst UND/ODER nicht ganz so versiert bist, würde ich dir empfehlen XAMPP zu verwenden.



XAMPP ist ein komplett vorkunfiguriertes Webserver Packet aus (dies gilt für den Windows ableger):

Apache, MySQL, PHP + PEAR, Perl, mod_php, mod_perl, mod_ssl, OpenSSL, phpMyAdmin, Webalizer, Mercury Mail Transport System for Win32 and NetWare Systems v3.32, JpGraph, FileZilla FTP Server, mcrypt, Turck MMCache, SQLite sowie WEB-DAV + mod_auth_mysql.

Die aktuelle XAMPP Version ist mit dem neuen Apache bereits ausgestattet und von daher als zunächst sicher. Das ganze Ding lädst du runter, entpackst es und installierst es (mittlerweile auch alles alternativ per Installationsroutine). Nach dem Installieren brauchst du NICHTS mehr zu konfiguerien da das ganze ein sogenanntes Out ob the Box System ist. Es eigenet sich sogar (wenn man 3-4 kleine Änderungen an der http.conf vornimmt) dazu den Webserver betrieb fürs Internet zu machen. (Wer das wirklich tun will sollte sich zwar meines erachtens lieber selbst in Apache einlesen und selbst einen konfiguriere, aber geeignet ist der XAMPP alle mal dazu). Wer die aktuelle CT (14/2004) noch kaufen kann bzw. das schon getan hat, findet auch gleich einen Riesen Artikel über XAMPP. Also es ist schon wunderbar was man damit machen kann. So schnell und so gut richtet kein Admin in 3 Minuten einen Webserver ein.

JediMB schrieb:
Ich habe zunächst ScriptAlias für Perl eingefügt. Dabei jetzt die erste Frage: das hier angegebene Verzeichnis muß das Verzeichnis sein, in dem ich meine Scripts habe, oder? Alternativ könnte ihc mir noch denken, dass es das Perl-bin Verzeichnis sein könnte. Funktionier hat bisher keins von beiden. :(

Auf jeden Fall muß ich ja irgendwo einbinden, an welcher Stelle der PERL Interpreter (perl.exe) liegt. Leider habe ich bisher noch nichts finden können, wo ich diese Angabe einbauen könnte.

Beim ausführen meines Perl-Scriptes bekomme ich dann eine Fehlerpage 500 und der Error-Log sagt
(OS 3)Das System kann den angegebenen Pfad nicht finden. : couldn't create child process: 720003: test.cgi

Kann mir jemand helfen?

MfG

Ähm zum letzten Teil kann ich ERSTMAL nur sagen BAHNHOF?!?! Ich hab nicht ganz verstanden was du gemeint hast. Wenn du nichts von XAMPP hälst und lieber selbst Hand an den Apache legen willst dann poste doch bitte mal deine httpd.conf und sag mir bitte genau wo du welches Modul installiert hast.

Z.B. Apache = C:\Apache

usw.

Damit kann ich dir bedeutend schneller und besser helfen.
 
  • #3
Hallo!

Sooo.....

Also erst mal kurz drei Worte zu meiner Erfahrung:

Mit dem Apache hab ich schon verschiedentlich gearbeitet, meist nur lokal mit der Standardkonfiguration zu Testzwecken. Mit PHP und JSP kenne ich mich schon ganz gut aus, in PERL bin ich ein blutiger Anfänger.

Prinzipiell versuche ich gerade eine Statusanzeige für Datei-Uploads zu basteln, die dann später auf einem vorkonfigurierten Apache laufen soll.
Da PHP dabei an seine Genzen stößt, bin ich zunächst auf ein fertiges Perl Script gestoßen, dass die gewünschte Funktionalität auch ganz gut hat, jedoch immer noch Fehler aufweist (zuweilen eben den beschriebenen Fehler, dessen Ursache ich zunächst beim Apache suchte).

Nach langem hin und her steige ich so langsam dann auch ansatzweise durch PERL durch, so dass ich mittlerweile zu der Erkenntnis gelangt bin, dass der Fehler zumindest nicht direkt beim Apache liegt, sondern viel mehr im Script.

Das Problem ist nun folgendes:
Offenbar werden die hochgeladenen Dateien nicht angenommen!
Ich bin zunächst auch schon wieder von dem umfangreicheren Script mit Statusanzeige weg und teste es mit einem ganz simplen Upload-Script:
Code:
#!c:/perl/bin/perl

use CGI::Carp ('fatalsToBrowser');
use CGI ('param',->upload');

$| = 1;

print Content-type: text/html\n\n;

print Versuch eines Datei-Uploads ...<br>;

$originalname = param('datei');
$filehandle = upload('datei');

if (! $originalname) {
    die(Upload war nicht erfolgreich<br>);
}

print Ich nehme jetzt Ihre Datei $originalname entgegen...<br>;

binmode($filehandle);

open(OUT, >neuedatei.jpg) 
   or die(kann nicht schreiben: $!);
binmode(OUT);  # danke an Martin den masterchecker ;-)

while ($zeile = <$filehandle>) {
    print OUT $zeile;
}

close OUT;
close $filehandle;

print <p>Fertig, hier ist ihr bild:\n;
print <img src=neuedatei.jpg></p>\n;

Dieses Script wird wenigstens ohne ehlermeldungen ausgeführt, jedoch gelangt die Datei dabei nicht auf den Server, so dass am Ende kein Bild angezeigt wird.

Nun stellt sich mir natürlich die Frage. WARUM?? ???

MfG
 
  • #4
Uff jetzt erschlägst du mich ein wenig. Wenn du einen Fehler in einem Perl Script suchst kann ich dir leider nicht mehr weiter helfen. Wäre es um den Webserver gegangen ja, aber so muss ich leider sagen: Ich passe. Auch würde ich dir raten um mehr aufmerksamkeit auf diesen Thread zu ziehen (nämlich die der Programmierer) einen neuen Thread zu eröffnen. Denn das Topic passt nun ja nicht mehr zum Inhalt. Aber das ist nur ein Tipp. Ich muss mich dann an dieser Stelle ausklinken weil ich von Perl null komma null ahnung habe! Sorry :(
 
  • #5
Alles klar, ich danke Dir trotzdem! :)

MfG
 
Thema:

Apache Server Konfiguration für Perl

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben