Markus: Apache SSI unter Win98

Hallo!

Ich bekomme leider SSI unter Apache (1.3.9) bei meinem Window98-Rechner nicht zum Laufen. Ich nutze den Apache-Server, um meine Homepage lokal zu testen. CGI-Programme laufen übrigens einwandfrei.

Ich habe in der httpd.conf die Zeilen

AddType text/html .shtml
AddHandler server-parsed .shtml

eingefügt. Außerdem habe ich bei den Directory Options "Includes" und "ExecCGI" hinzugefügt.

Nun habe ich folgendes Perl-Testprogramm geschrieben und als test.pl in mein cgi-bin-Verzeichnis gestellt:

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "test\n";

Folgende Zeilen habe ich nun in eine Datei namens test.shtml an verschiedene Stellen geschrieben:

<!--#include virtual="/cgi-bin/test.pl" -->
<!--#exec cgi="/cgi-bin/test.pl" -->

Die erste Zeile wird interpretiert, allerdings wird an dieser Stelle der Sourcecode des Testprogramms angezeigt.

Die zweite Zeile wird überhaupt nicht interpretiert sondern bleibt als Kommentar im HTML-Code stehen.

Habe ich irgend etwas vergessen?

Vielen Dank im Voraus,

Markus

  1. Hallo Markus!

    Nun habe ich folgendes Perl-Testprogramm geschrieben und als test.pl in mein cgi-bin-Verzeichnis gestellt:

    Du hast 2 Möglichkeiten:

    1. test.pl in test.cgi umbenennen
      oder
    2. folgende zeilen in deiner httpd.conf hinzufügen
      AddType application/x-httpd-cgi .pl
      AddHandler cgi-script .pl

    ...dann klappt's auch mit dem nachbarn ...ähh, mit .pl :-)

    mfg
    Gerald Predl
    --------------
    PS: für alle die es interessiert: meine neue homepage ist online :-)

  2. Hallo Markus!

    #!/usr/bin/perl
    print "Content-type: text/html\n\n";
    print "test\n";

    Ich kann mir nicht vorstellen, dass dein Perl-Interpreter unter Win98 im Verzeichnis /usr/bin/ zu finden ist. Lass' die Pfadangabe doch einfach weg!

    Grüße,
    Florian Auer

    1. Hallo Florian,

      Hallo Markus!

      #!/usr/bin/perl
      print "Content-type: text/html\n\n";
      print "test\n";

      Ich kann mir nicht vorstellen, dass dein Perl-Interpreter unter Win98 im Verzeichnis /usr/bin/ zu finden ist. Lass' die Pfadangabe doch einfach weg!

      Grüße,
      Florian Auer

      Doch, genau dort ist der Interpreter. Ich habe auf meinem Heimrechner die gleichen Bedingungen wie auf meinem Webaccount, damit ich nicht vor dem Hochspielen der Dateien sämtliche Pfade anpassen muss.

      Viele Grüße, Markus

      1. #!/usr/bin/perl
        Ich kann mir nicht vorstellen, dass dein Perl-Interpreter unter Win98 im Verzeichnis /usr/bin/ zu finden ist. Lass' die Pfadangabe doch einfach weg!
        Doch, genau dort ist der Interpreter. Ich habe auf meinem Heimrechner die gleichen Bedingungen wie auf meinem Webaccount, damit ich nicht vor dem Hochspielen der Dateien sämtliche Pfade anpassen muss.

        Das wuerde mich interessieren, wie Du auf einem Win98-System einen Unix-Pfad machst. Die Verzeichnisse kann man ja schon gleich gestalten, aber was ist denn mit der Laufwerksangabe??! Darf man die auch weglassen?
        Beispiel: #!c:/bin/perl

        Gruss,
        Beat

        1. #!/usr/bin/perl
          Ich kann mir nicht vorstellen, dass dein Perl-Interpreter unter Win98 im Verzeichnis /usr/bin/ zu finden ist. Lass' die Pfadangabe doch einfach weg!
          Doch, genau dort ist der Interpreter. Ich habe auf meinem Heimrechner die gleichen Bedingungen wie auf meinem Webaccount, damit ich nicht vor dem Hochspielen der Dateien sämtliche Pfade anpassen muss.

          Das wuerde mich interessieren, wie Du auf einem Win98-System einen Unix-Pfad machst. Die Verzeichnisse kann man ja schon gleich gestalten, aber was ist denn mit der Laufwerksangabe??! Darf man die auch weglassen?
          Beispiel: #!c:/bin/perl

          Gruss,
          Beat

          Jo, darf man. Man muss dann allerdings den Apache auf dem gleichen Datenträger laufen haben. Das MS-DOS Verzeichnissystem ist ja ähnlich aufgebaut wie das von Unix (auf jeden Fall von der Syntax her). Mit / (bzw. ) gelangt man bei beiden Systemen ins Root-Verzeichnis (bei MS-DOS in das Grundverzeichnis des aktuellen Datenträgers).

          Viele Grüße,

          Markus

  3. Stelle der Sourcecode des Testprogramms angezeigt.

    Die zweite Zeile wird überhaupt nicht interpretiert sondern bleibt als Kommentar im HTML-Code stehen.

    Habe ich irgend etwas vergessen?

    Vielen Dank im Voraus,

    Markus

    Das Gleiche Problem hatte ich auch mal, bekam es leider nicht in den Griff, irgendwie hatte ich den Anschein, das mein Apache Server die .shtml Datei nicht richtig interpretiert, bzw ausführt. Es wäre also nett wenn jemand noch ne Antwort wüßte, würde mich brennend interessieren.

    1. Stelle der Sourcecode des Testprogramms angezeigt.

      Die zweite Zeile wird überhaupt nicht interpretiert sondern bleibt als Kommentar im HTML-Code stehen.

      Habe ich irgend etwas vergessen?

      Vielen Dank im Voraus,

      Markus

      Das Gleiche Problem hatte ich auch mal, bekam es leider nicht in den Griff, irgendwie hatte ich den Anschein, das mein Apache Server die .shtml Datei nicht richtig interpretiert, bzw ausführt. Es wäre also nett wenn jemand noch ne Antwort wüßte, würde mich brennend interessieren.

      Inzwischen habe ich es - dank Hilfe des Forums (danke, Gerald), hinbekommen. Ehrlich gesagt weiß ich immernoch nicht genau, woran es lag. Offensichtlich hat sich das für SSI zuständige Modul mit einem anderen installierten Modul (JRun für Servlets) gebissen. Als ich dieses Modul entfernt habe, lief es problemlos. Darauf soll mal einer kommen.

      Viele Grüße, Markus