Clemens: Apache - Virtual Host - zum lokalen Testen mehrerer Sites

Hallo Leute!

Ich hatte bisher zum lokalen Testen von Web-Sites einen Apache (V. 1.3.20) unter Win98 laufen, der über http://localhost/ angesprochen werden kann.
Nun würde ich gerne verschiedene Projekte mit unterschiedlichen Domains ansprechen können, z.B.
http://localhost/ und
http://localhost2/
damit auch relative Angaben (z.B. <a href="/">) richtig aufgelöst werden.

dafür habe ich nun in der httpd.conf einen virtual Host folgendermaßen eingerichtet:

NameVirtualHost *

<VirtualHost *>
    ServerAdmin you@your.address
    DocumentRoot "D:/Website-Upload"
    ServerName localhost2
    ErrorLog logs/localhost2-error_log
    CustomLog logs/localhost2-access_log common
</VirtualHost>

was den Apache aber nicht beeindruckt hat. Bei http://localhost/ wurde nun die index-Datei von "D:/Website-Upload", also die eigentlich zu localhost2 gehörende, angezeigt. Dann habe ich den ursprünglichen Host nochmals als virtuellen eingetragen:

<VirtualHost *>
    ServerAdmin you@your.address
    DocumentRoot "D:/Website"
    ServerName localhost
    ErrorLog logs/localhost-error_log
    CustomLog logs/localhost-access_log common
</VirtualHost>

<VirtualHost *>
    ServerAdmin you@your.address
    DocumentRoot "D:/Website-Upload"
    ServerName localhost2
    ErrorLog logs/localhost2-error_log
    CustomLog logs/localhost2-access_log common
</VirtualHost>

Das hat auch nichts gebracht. Ich verstehe auch nicht so genau wie das gehen soll, zwei Domains mit einer IP, vermutlich geht es ja auch nicht, da in der Doku steht: "the web server must have a different IP address for each virtual host".

Aber wie mache ich das auf einem Win-System zwei IP-Adressen einrichten?

Kann jemand helfen?! Danke!

Clemens

  1. Hallo Clemens,

    Aber wie mache ich das auf einem Win-System zwei IP-Adressen
    einrichten?

    Du brauchst keine zwei IP-Adressen, eine reicht. Du musst deinem
    Rechner nur mitteilen das er jetzt zwei Namen hat.

    Zuerst les mal den Feature-Artikel "Mehrere virtuelle Hosts mit
    OmniHTTPd" http://aktuell.de.selfhtml.org/artikel/server/v-hosts/index.htm Dann oeffne die Datei hosts im Windows-Verzeichnis
    und fuege die Angaben die du brauchst hinzu. z.B.:

    localhost

    127.0.0.1 uss-enterprise bridge.uss-enterprise wrap.uss-enterprise sickbay.uss-enterprise

    SELFHTML-Server

    213.139.94.131  teamone.de selfhtml.teamone.de selfaktuall.teamone.de forum.de.selfhtml.org

    Nun Zum Indianer:

    ServerName uss-enterprise

    <VirtualHost 127.0.0.1>
       ServerAdmin you@your.address
       DocumentRoot "/pfad/interesiert/keinen/im/www/"
       ServerName   bridge.uss-enterprise
       ErrorLog     logs/bridge/error_log
       CustomLog    logs/bridge/access_log common
    </VirtualHost>

    gruesse
      jens mueller

    1. Hi Jens!

      Danke für die Tipps! Mit der Änderung der Hosts-Datei und folgendem Eintrag beim Apache geht es jetzt:

      NameVirtualHost *

      <VirtualHost *>
          ServerAdmin you@your.address
          DocumentRoot "D:/Website"
          ServerName localhost
          ErrorLog logs/localhost-error_log
          CustomLog logs/localhost-access_log common
      </VirtualHost>

      <VirtualHost *>
          ServerAdmin you@your.address
          DocumentRoot "D:/Website-Upload"
          ServerName localhost2
          ErrorLog logs/localhost2-error_log
          CustomLog logs/localhost2-access_log common
      </VirtualHost>

      Nur noch eine Frage zum Verständnis: Wie hängen die Angaben bei
      NameVirtualHost [Angabe hier]  (Du has "ServerName" geschrieben, ist das etwas anderes oder nur eine Verwechslung)
      <VirtualHost [Angabe hier]>
      ServerName   [Angabe hier]

      zusammen?

      Clemens

      ServerName uss-enterprise

      <VirtualHost 127.0.0.1>
         ServerAdmin you@your.address
         DocumentRoot "/pfad/interesiert/keinen/im/www/"
         ServerName   bridge.uss-enterprise
         ErrorLog     logs/bridge/error_log
         CustomLog    logs/bridge/access_log common
      </VirtualHost>

      1. hallo,

        Nur noch eine Frage zum Verständnis: Wie hängen die Angaben bei
        NameVirtualHost [Angabe hier]  (Du has "ServerName" geschrieben, ist das etwas anderes oder nur eine Verwechslung)
        <VirtualHost [Angabe hier]>
        ServerName   [Angabe hier]
        zusammen?

        da du ja schon auf die
        Feature-Artikel hingewiesen worden bist, hier noch ein link: http://aktuell.de.selfhtml.org/artikel/server/apacheconf/apconf05.htm#a4

        Christoph S.

      2. Hallo Clemens,

        Nur noch eine Frage zum Verständnis: Wie hängen die Angaben bei
        NameVirtualHost [Angabe hier]  (Du has "ServerName" geschrieben, ist das etwas anderes oder nur eine Verwechslung)
        <VirtualHost [Angabe hier]>
        ServerName   [Angabe hier]
        zusammen?

        Hab ich nur verwendet um dir das Beispiel klarer machen. Damit du einen Bezug zwichen dem V-Host und dem Server herstellen zu kannst.

        Im Prinzip besteht kein Unterschied zwischen den Beiden Angaben, im
        V-Host Container und dem "Normalen-Server". (Es gibst sogar Server
        auf denen laufen nur V-Hosts)

        ServerName in einem Virtual-Host ueberschreibt die Vorherigen
        Angaben, nur fuer den V-Host, und Apache dann unterscheiden welcher
        der Server die Anfrage entgegen nimmt.

        The directives Port, ServerName, ServerPath, and ServerAlias can
          appear anywhere within the definition of a server. However, each
          appearance overrides the previous appearance (within that server).
        http://httpd.apache.org/docs/vhosts/details.html

        live long and prosper
                 jens mueller \//_