Joachim: IE und Probs mit virtuellen Hosts (lokaler Apache/Win2000)

hi,

habts Ihr ein paar Tipps vorm Schlafengehn?
Bei mir läuft unter Win 2000 ein Apache. In der Httpd.conf sind die virtuellen Hosts eingetragen:

Port 80
NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1>
  ServerName sarek
  DocumentRoot "D:/home/sarek"
</VirtualHost>

in der host-Datei (WINNT\system32\drivers\etc\hosts) ist folgendes eingetragen:
127.0.0.1       localhost sarek

Mozilla hat keine Probleme, öffnet klaglos das gewünschte Verzeichnis. IE dagegen will immer eine Verbindung herstellen, lediglich bei Eingabe von "localhost" findet er das DocumentRoot. Wenn ich eine TDSL-Verbindung herstelle findet er das lokale Verzeichnis. Hmm. Was habe ich vergessen?

Gruesse  Joachim

  1. 127.0.0.1       sarek

    Versuchs mal so...

  2. hallo,

    Port 80
    NameVirtualHost 127.0.0.1

    die IP 127.0.0.1 ist grundsätzlich für "localhost" vorgesehen, unabhängig davon, ob man einen lokalen Webserver installiert hat oder nicht. Sie ist ziemlich ungeeignet, um über sie virtuelle Hosts einzurichten. Nimm lieber als IP eine 192.168.0.xxx oder eine 10.0.0.xxx, dann klappt das auch.

    in der host-Datei (WINNT\system32\drivers\etc\hosts) ist folgendes eingetragen:
    127.0.0.1       localhost sarek

    unter Windows ist die "host"-Datei relativ unwichtig. Alles, was diese Datei eventuell kann, besteht darin, für dein lokales Netzwerk Rechnernamen in lokale IP's aufzulösen. Und "localhost zarek" würde von keinem anderen Rechner im LAN auf genau diesen host-Rechner verweisen, sondern grundsätzlich auf sich selbst, weil die IP 127.0.0.1 die loopback-Adresse ist. Deine "host"-Datei sollte so aussehen:

    127.0.0.1     localhost
    192.168.0.1   sarek

    Mozilla hat keine Probleme, öffnet klaglos das gewünschte Verzeichnis.

    Sehr eigenartig. Gerade mozilla/Netscape ist da genauer als der IE und verlangt normalerweise, daß die IP, über die deine virtuellen Hosts angesprochen werden sollen, als "Proxy" eingestellt wird  -  unabhängig davon, ob dein Rechner grade online ist oder nicht. Dem IE ist das egal.
    Anders sieht das aus, wenn du als "port" nicht die 80 nimmst, sonderen irgendeinen freien port über 1024.

    Christoph S.

    1. hi Christoph,

      die IP 127.0.0.1 ist grundsätzlich für "localhost" vorgesehen, unabhängig davon, ob man einen lokalen Webserver installiert hat oder nicht. Sie ist ziemlich ungeeignet, um über sie virtuelle Hosts einzurichten. Nimm lieber als IP eine 192.168.0.xxx oder eine 10.0.0.xxx, dann klappt das auch.

      Aha. Ich bin leider Server-Dau und nutze  Apache nur zum (Php) entwickeln, daher Neuland für mich.

      unter Windows ist die "host"-Datei relativ unwichtig.

      hmm, aber ohne die wird bei mir nix gefunden.

      Alles, was diese Datei eventuell kann, besteht darin, für dein lokales Netzwerk Rechnernamen in lokale IP's aufzulösen. Und "localhost zarek" würde von keinem anderen Rechner im LAN auf genau diesen host-Rechner verweisen,

      nun ja, es handelt sich eh um einen Einzelrechner (Laptop). Die Netzwerkkarte schiebe ich nur rein, wenn ich TDSL brauche.

      Gerade mozilla/Netscape ist da genauer als der IE und verlangt normalerweise, daß die IP, über die deine virtuellen Hosts angesprochen werden sollen, als "Proxy" eingestellt wird  -  unabhängig davon, ob dein Rechner grade online ist oder nicht.

      Ich werde das auf jeden Fall mit der 192er IP testen, komme nur leider erst spaeter dazu. Moeglicherweise stammen die Probs auch daher, dass ich einen vorkonfigurierten Apache nutze. Nachdem auf meinem Arbeitsrechener aber bereits ein Apache nach _Deinen_ Installationsangaben laeuft, werde ich ihn ebenso auch auf dem Laptop installieren, vermutlich passts dann. Jetzt erst mal Danke nach Berlin...

      Gruesse  Joachim

      1. Hi Joachim,

        Aha. Ich bin leider Server-Dau und nutze  Apache
        nur zum (Php) entwickeln, daher Neuland für mich.

        wofür brauchst Du dann einen Virtual Host?
        Reicht
           http://127.0.0.1/dein/pfad/zum/php/script.php
        nicht aus?

        Du wirst doch keine Hostnamen in Deine Anwendungen
        fest eingebrannt haben ... ?

        Viele Grüße
              Michael

        1. hallo Michael,

          wofür brauchst Du dann einen Virtual Host?

          Das muß ich mich bei dieser Voraussetzung auch fragen. Aber vielleicht will Joachim die Adresse, auf die seine Scripts hochgeladen werden sollen, simulieren  -  und dann braucht er tatsächlich ein vHost.

          Reicht
             http://127.0.0.1/dein/pfad/zum/php/script.php
          nicht aus?

          Ich würde grundsätzlich davon abraten, die loopback-Adresse für irgendwelche Probe-Spielchen mit dem Webserver (egal ob Apache oder sonst einer)  - ich glaube, Xitami macht das ohnehin nicht mit) zu nutzen.
          Und jetzt mach ich nen Glaubenskrieg auf: du warst doch derjenige,  der sich bei der Erörterung der shebang in Zusammenhang mit "ScriptInterpreterSource registry" vehement für die shebang eingesetzt hat, mit der Begründung, daß man die Fähigkeit, den Wert der shebang zu würdigen, verlieren könnte  -  und ich behaupte jetzt mal, wer hier auf die loopback-Adresse ausweicht, wird nie das Konzept von Class-A-, Class-B- und Class-C-Netzen begreifen, abgesehen vom Unterschied zwischen IPV4 und IPV6

          Wochenend-Grüße aus Berlin

          Christoph S.

          1. Hi Christoph,

            Reicht
               http://127.0.0.1/dein/pfad/zum/php/script.php
            nicht aus?
            Ich würde grundsätzlich davon abraten, die
            loopback-Adresse für irgendwelche Probe-Spielchen
            mit dem Webserver (egal ob Apache oder sonst einer)

            • ich glaube, Xitami macht das ohnehin nicht mit)
              zu nutzen.

            will ich doch gar nicht.

            Ich halte schon die Definition des Virtual Hosts für
            Overkill.
            Der Server ist über "localhost" oder "127.0.0.1"
            ansprechbar - und falls die zu testenden PHP-Seiten
            keine fest eingebrannten Hostnamen enthalten, muß das
            reichen, eine produktive Umgebung nachzuspielen.

            Tun sie es aber doch, dann gehört der PHP-Code so
            geschrieben, daß dieser Hostname nur an einer einzigen
            Stelle im Code steht und zum Testen leicht auf
            "localhost" geändert werden kann.

            Und jetzt mach ich nen Glaubenskrieg auf: du warst
            doch derjenige,  der sich bei der Erörterung der
            shebang in Zusammenhang mit "ScriptInterpreterSource
            registry" vehement für die shebang eingesetzt hat,
            mit der Begründung, daß man die Fähigkeit, den Wert
            der shebang zu würdigen, verlieren könnte  -  und
            ich behaupte jetzt mal, wer hier auf die loopback-
            Adresse ausweicht, wird nie das Konzept von Class-
            A-, Class-B- und Class-C-Netzen begreifen, abgesehen
            vom Unterschied zwischen IPV4 und IPV6

            Das PHP-Skript gehört so geschrieben, daß es nicht
            von einem DNS-Namen abhängt.
            Und unter dieser Voraussetzung halte ich "localhost"
            für eine taugliche Testumgebung.

            Viele Grüße
                  Michael
            (der selbst auch mit "localhost" testet, aber seinen
            Perl-Interpreter unter Windows98 nach c:\usr\local
            installiert hat)

            1. hallo Michael,

              Ich halte schon die Definition des Virtual Hosts für
              Overkill.

              ähm, ja  -  bei dir muß man ja immer auf überraschende Aussagen gefaßt sein. Meinst du das jetzt generell oder meinst du die Art, wie im Eröffnungsposting ein virtueller host beschrieben wurde?

              Tun sie es aber doch, dann

              du wolltest schreiben: "tun sie es aber doch nicht, dann"  gelle?

              gehört der PHP-Code so
              geschrieben, daß dieser Hostname nur an einer einzigen
              Stelle im Code steht und zum Testen leicht auf
              "localhost" geändert werden kann.

              prinzipiell stimmen wir da vollkommen überein. Nur sehe ich eigentlich nicht, wo in einem PHP-Script überhaupt ein Hostname stehen muß

              Das PHP-Skript gehört so geschrieben, daß es nicht
              von einem DNS-Namen abhängt.
              Und unter dieser Voraussetzung halte ich "localhost"
              für eine taugliche Testumgebung.

              richtig, aber eben nur "unter dieser Voraussetzung"

              Grüße aus Berlin

              Christoph S.