Mark: Apache und Perl

Hallo,

ich habe Apache 2, bzw. FoxServ WAMP unter XP installiert und soweit läuft auch alles incl. PHP und MySQL. Aber mit Perl hab ich Schwierigkeiten:

Wenn Ich im Browser die .pl Datei aufrufe, wird der Quelltext angezeigt... Im Error.log von Apache ist kein Fehler eingetragen.

Meine httpd.conf:

ScriptAlias /cgi-bin/ "C:/Programme/FoxServ/www/test/cgi-bin/"

<Directory "C:/Programme/FoxServ/www/test/cgi-bin">
 AllowOverride None
 Options None
 Order allow,deny
 Allow from all
</Directory>

Was mache ich falsch ? Ist es im übrigen richtig, das in den Apache Config Dateien, statt Windows-üblich ein Slash statt eines Back-slashes benutzt werden muss ? Was ist im Perl-Script ? Slash oder Backslash in der Shebang Zeile?

  1. Moin!

    Hallo,

    ich habe Apache 2, bzw. FoxServ WAMP unter XP installiert und soweit läuft auch alles incl. PHP und MySQL. Aber mit Perl hab ich Schwierigkeiten:

    Wenn Ich im Browser die .pl Datei aufrufe, wird der Quelltext angezeigt... Im Error.log von Apache ist kein Fehler eingetragen.

    Dies sollte Deine Fragen beantworten:

    ScriptInterpreterSource registry

    Klaptt pft auch und zwar genau genau dann, wenn .pl- files mit dem Perlinterpreter

    auch per Doppelklick geöffnet werden.

    Sonst:

    Shebang:

    #!c:/program files/perl/perl

    To use CGI scripts:

    AddHandler cgi-script .cgi  # Der Indianer muss wissen, daß dies Skripte/CGI sind.
    AddHandler cgi-script .pl

    <Directory "C:/Programme/FoxServ/www/test/cgi-bin">
     AllowOverride None
     Options ExecCGI     # <- Das musst Du ändern. Gib das auch für die Wurzel an, wenn Du überall
                         # Perl- Skripte ausführen willst. Sonst gehts nur in diesem Verzeichnis.
     Order allow,deny
     Allow from all
    </Directory>

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. Danke Dir haut soweit hin, ausser das die Datei .pl und nicht .cgi heissen darf (Trotz AddHandler Eintrag). Aber das ist nicht so schlimm, wenn es auch schön wäre. Kannst Du mir auch noch sagen, wie ich das LWP bzw. konkret LWP::Simple Modul installieren kann, bzw, wo ich das herbekomme ?

      1. Hat sich erledigt... Habs schon. Aber vielleicht weisst Du ja noch, warum keine .cgi dateien ausgeführt werden ? Bei Doppelklich wird die .cgi datei mit dem Interpreter geöffnet...

        1. Moin!

          Hat sich erledigt... Habs schon. Aber vielleicht weisst Du ja noch, warum keine .cgi dateien ausgeführt werden ? Bei Doppelklich wird die .cgi datei mit dem Interpreter geöffnet...

          Keine Ahnung :)

          Was hast Du alles konfiguriert?
          Wann hast Du den Apache neu gestartet?

          MFFG (Mit freundlich- friedfertigem Grinsen)

          fastix®

          --
          Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
          1. Wieder ein Stück weiter: die .cgi lässt sich nur dann ausführen, wenn ich im shebang den absoluten windows pfad angebe. ich verstehe zwar nicht warum das nur bei .cgi der Fall ist, aber andere vielleicht schon...

            1. Moin!

              Wieder ein Stück weiter: die .cgi lässt sich nur dann ausführen, wenn ich im shebang den absoluten windows pfad angebe. ich verstehe zwar nicht warum das nur bei .cgi der Fall ist, aber andere vielleicht schon...

              Vergleiche mal in der Registry die Einträge dafür, wie .pl und .cgi vom System behandelt werden.
              (steht in HKEY_CLASSES_ROOT)

              • Exportiere den gesamten Zweig .pl z.B. nach ...\Desktop\pl.reg .
              • Ersetze miottels Texteditor ("bearbeiten")in der Textdatei jedes ".pl" durch ".cgi".
              • Doppelklicke auf die Datei, um sie zu importieren.

              Dann sollte es gehen.

              MFFG (Mit freundlich- friedfertigem Grinsen)

              fastix®

              --
              Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
              1. Sauber !

                Jetzt geht alles wie gewünscht.

                Die .cgi hatte in der Registry den PersistentHandler Eintrag.

                Vielen Dank !

  2. Hallo,

    Meine httpd.conf:

    es gibt verschiedene Wege zum Ziel, hier ist der von mir bevorzugte

    ServerName www.xwolf.de
    NameVirtualHost 127.0.0.1
    <VirtualHost 127.0.0.1>
     DocumentRoot d:/home/xwolf/htdocs
     ScriptAlias /cgi-bin/ d:/home/xwolf/cgi-bin/
    </VirtualHost>

    --> slash ist OK

    shebang:
    #!perl

    tut sofern perl.exe im OS PATH steht.

    ansonsten
    #!/usr/bin/perl

    geht mit PERL 6 and hi_

    sofern auf demselben Laufwerk wo Apache, ein Verzeichnis /usr/bin existiert mit einer Kopie der perl.exe drin.

    Erwin

    --
    SELFforum - Das Tor zur Welt!
    Theoretiker: Wie kommt das Kupfer in die Leitung?
    Praktiker: Wie kommt der Strom in die Leitung?