Raflf: Apache lokal -> perl-scripts

Greenhorn sucht Hilfe:

Habe gerade den Apache-Server 2.0.39 unter XP installiert.
Es läuft ActivePerl.

In der Standard-Konfiguration läuft alles bestens.
Perl-Scripte im 'cgi-bin'-Verzeichnis werden ausgeführt.

Die Änderung
DocumentRoot "G:/"
funktioniert auch

Nun die Frage:
Was muss ich in dem nachfolgenden Block ändern, damit
Perl-Scripte in den Verzeichnissen

G:/abc/cgi-bin/abctest.pl
G:/xyz/cgi-bin/xyztest.pl

ausgeführt werden?
Anscheinend erkennt der Server diese Verzeichnisse nicht
als Ort ausführbarer Skripte, denn bisher bekomme ich immer
nur einen Download-Dialog .....

############
ScriptAlias /cgi-bin/ "C:/Programme/Apache Group/Apache2/cgi-bin/"

<Directory "C:/Programme/Apache Group/Apache2/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
############

Hilfesuchende Grüße von Ralf (der das Archiv schon durchforstet hat...)

  1. use Mosche;

    Was muss ich in dem nachfolgenden Block ändern, damit
    Perl-Scripte in den Verzeichnissen

    G:/abc/cgi-bin/abctest.pl
    G:/xyz/cgi-bin/xyztest.pl

    ausgeführt werden?

    ScriptAlias /cgi-bin/ "C:/Programme/Apache Group/Apache2/cgi-bin/"
    <Directory "C:/Programme/Apache Group/Apache2/cgi-bin">

    Du musst diese beiden Zeilen jeweils anpassen.

    use Tschoe qw(Matti);

    1. use Mosche;

      Was muss ich in dem nachfolgenden Block ändern, damit
      Perl-Scripte in den Verzeichnissen

      G:/abc/cgi-bin/abctest.pl
      G:/xyz/cgi-bin/xyztest.pl

      ausgeführt werden?

      ScriptAlias /cgi-bin/ "C:/Programme/Apache Group/Apache2/cgi-bin/"
      <Directory "C:/Programme/Apache Group/Apache2/cgi-bin">

      Du musst diese beiden Zeilen jeweils anpassen.

      Hallo Matti,

      heißt das, ich kann nicht gleichzeitig mehrere Verzeichnisse verwenden und muss, je nach dem, mit welchem Verzeichnis ich arbeiten möchte, die httpd.conf anpassen?

      Oder kann ich folgendes machen?
      (wenn ja, wo ist der Fehler? Hab' ich nämlich schon versucht):

      ScriptAlias /cgi-bin/ "G:/abc/cgi-bin/"
      <Directory "G:/abc/cgi-bin">
          AllowOverride None
          Options None
          Order allow,deny
          Allow from all
      </Directory>

      ScriptAlias /cgi-bin/ "G:/xyz/cgi-bin/"
      <Directory "G:/xyz/cgi-bin">
          AllowOverride None
          Options None
          Order allow,deny
          Allow from all
      </Directory>

      Ralf Leinemann

      1. Hi Ralf,

        heißt das, ich kann nicht gleichzeitig mehrere
        Verzeichnisse verwenden und muss, je nach dem, mit
        welchem Verzeichnis ich arbeiten möchte, die
        httpd.conf anpassen?

        Nein.

        Oder kann ich folgendes machen?

        Ja.

        ScriptAlias /cgi-bin/ "G:/abc/cgi-bin/"

        Das alleine sollte reichen.

        Aber Achtung: Natürlich darfst Du den URL (den ersten
        der beiden Parameter) nur ein einziges Mal verwenden.
        Vermutlich überschreibt die zweite Definition die erste
        (oder sie hat keinen Effekt), deshalb funktioniert es
        bei Dir bisher nicht in allen Verzeichnissen (in einem
        davon _sollte_ es bereits funktionieren).

        Dafür muß der URL aber keineswegs "/cgi-bin/" heißen

        • da hast Du die völlig freie Aauswahl.

        <Directory "G:/abc/cgi-bin">
            AllowOverride None
            Options None
            Order allow,deny
            Allow from all
        </Directory>

        Damit nimmst Du aus dem Verzeichnis einige Rechte weg,
        die aber innerhalb eines ScriptAlias eh praktisch keine
        Bedeutung haben (vor allem, wenn Du selbst Schreibrecht
        auf httpd.conf hast).

        Viele Grüße
              Michael