Sebastian Will: Apache/Win: Lokale VirtualHosts

Hi Forum,
ich versuche gerade, verschiedene VirtualHosts unter Win/Apache 1.3.12 einzurichten, komme aber nicht recht weiter. Theoretisch müßte die Unterscheidung es ja Namen-basiert geschehen, soweit ich das bisher verstanden habe. Folgende Einträge stehen in meiner httpd.conf:

---------------- snip 8>< --------------
NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1>
ServerAdmin webmaster@codeschmiede.de
DocumentRoot "c:/eigene dateien/codeschmiede"
ServerName "http://codeschmiede/"
<Directory "c:/eigene dateien/codeschmiede">
   Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
</VirtualHost>

<VirtualHost 127.0.0.1>
ServerAdmin webmaster@localhost.de
DocumentRoot "C:/programme/apache/htdocs"
ServerName "http://apache/"
<Directory "c:/programme/apache/htdocs">
   Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>
</VirtualHost>

---------------- snip 8>< --------------

Zusätzlich habe ich in meiner c:\windows\hosts die Einträge
127.0.0.1   apache
127.0.0.1   codeschmiede
eingetragen. Dennoch kommt beim Aufruf von http://apache/ die Seiten, die ebenfalls (und richtig) unter http://codeschmiede/ kommen.

Kann mir jemand einen Denkanstoß in die richtige Richtung geben? Der Server lauscht auf Port 80, es gibt außer in den VirtualHost-Direktiven keine Angaben über die DocumentRoot o.ä.

Danke und

<mfg>Sebastian Will</mfg>

  1. <VirtualHost 127.0.0.1>

    »»  ServerAdmin webmaster@codeschmiede.de
    »»  DocumentRoot "c:/eigene dateien/codeschmiede"
    »»  ServerName "http://codeschmiede/"

    ServerNAME, Name, das ist ein FQDName und kein URI, ergo sollte da codeschmiede stehen.

    1. Hi,

      ServerNAME, Name, das ist ein FQDName und kein URI, ergo sollte da codeschmiede stehen.

      IMHO stimmt das nicht. In der httpd.conf steht in den Kommentaren eindeutig:

      Note: You cannot just invent host names and hope they work. The name you

      define here must be a valid DNS name for your host. If you don't understand

      this, ask your network administrator.

      If your host doesn't have a registered DNS name, enter its IP address here.

      You will have to access it by its address (e.g., http://123.45.67.89/)

      anyway, and this will make redirections work in a sensible way.

      Ich habe jetzt http://127.0.0.1/ als ServerName für beide eingerichtet, als ServerAlias (das fehlte vorhin) jeweils apache oder codeschmiede. Jetzt funktioniert es...

      <mfg>Sebastian Will</mfg>

      1. hi ho

        ServerNAME, Name, das ist ein FQDName und kein URI, ergo sollte da codeschmiede stehen.
        IMHO stimmt das nicht. In der httpd.conf steht in den Kommentaren eindeutig: [...]

        der von dir zitierte teil hat damit ueberhaupt nichts zu tun -> es stimmt sehr wohl.

        cua

        n.d.p.

        1. Hoi!

          Warum einfach, wenns auch kompliziert geht? *g*

          Da ich keinen Bock hatte, fuer localhost einen eigenen VirtualHost einzurichten, sieht meine lokale config. so aus:

          httpd.conf:

          <-------------------------- snip ---------------------------->
          NameVirtualHost 127.0.0.2
          NameVirtualHost 127.0.0.3
          NameVirtualHost 127.0.0.4

          <VirtualHost 127.0.0.2>
          ServerName www.thomas-poenicke.de
          ...
          </VirtualHost>

          <VirtualHost 127.0.0.3>
          ServerName www.texprint.de
          ...
          </VirtualHost>

          <VirtualHost 127.0.0.4>
          ServerName www.sagichnich.de
          ...
          </VirtualHost>
          <--------------------------- snap ---------------------------->

          hosts.loc

          127.0.0.1 localhost
          127.0.0.2 www.thomas-poenicke.de
          127.0.0.3 www.texprint.de
          127.0.0.4 www.sagichnich.de

          hosts.www
          127.0.0.1 localhost

          wwwhosts.bat

          copy c:\windows\hosts.www c:\windows\HOSTS /Y

          localhosts.bat

          copy c:\windows\hosts.loc c:\windows\HOSTS /Y

          localhosts

          #!/usr/bin/bash
          cp /etc/hosts.loc /etc/hosts

          wwwhosts

          #!/usr/bin/bash
          cp /etc/hosts.www /etc/hosts

          so kann ich nach dem Befehl localhosts (und unter win apache-start) lokal testen und nach den hochladen und dem Befehl wwwhosts mir das ganze im Netz anschauen.

          Gruß
          Thomas