Christoph Schnauß: Virtual Hosts - Alias

Beitrag lesen

hallo,

auf meinem RedHat System läuft ein Apache-Server mit einem Virtual Host.

erste Nachfrage: hat dein RedHat-Rechner eine eigene IP oder nimmst du die 127.0.0.1 für den (namensgestützten) virtuellen Host?

Ich möchte nun eine 2. Domain auf diesen Webspace "leiten"

nächste Nahcfrage: "Webspace" bedeutet, daß du ein Verzeicnis auf deinem eigenen Rechner meinst?

Muss ich hierzu mehr machen als:
[...]

Jaein. Im Prinzip beschreibst du die richtigen Schritte. Einer könnte noch fehlen [1].

  1. Dafür sorgen, dass die neue Domain den entsprechenden IP-Eintrag (die IP meines Server) in den DNS-Servern bekommt.

nächste Nachfrage: Was für ein DNS läuft da  -  ein lokaler Nameserver (bind)? Es könnte ausreichen, den entsprechenden Eintrag in der /etc/hosts vorzunehmen.

  1. In der http.conf einen Aliasnamen definieren:

Nicht nur dort, und der Aufruf erfolgt anders.

<VirtualHost>
  ServerName   domain1.de:80
  ServerAlias  www.domain1.de www.domain2.de domain2.de

So gehts nicht. Richtig ist:

<VirtualHost IP>
    ServerName   Aliasname
    [...]
  </VirtualHost>

Was mich auch noch wundert: _Jede_ Domain, die per DNS auf den Server leitet, landet automatisch in meinem einem definierten Virtual Host

Korrekt. Ist auch in der Apache-Doku nachzulesen. Wird ein unbekannter Hostname aufgerufen, so nimmt der Server grundsätzlich den ersten virtuellen host, den er findet.

[1] IP-Aliasing

Was du machen möchtest, ist wahrscheinlich IP-Aliasing. Das geht gerade mit RedHat sehr gut. Voraussetzung ist, daß deine vorhandene Netzwerkkarte eine eigene IP hat, z.B. 192.168.0.1  -  es ist bei RedHat und anderen LINUX-Maschinen prinzipiell auch für die 127.0.0.1 möglich. Für die Erzeugung eines IP-Alias nimmst du entweder "ifconfig" oder "ip". Mit "ifconfig" sieht die Befehlszeile so aus:
   ifconfig eth0:1 192.168.0.10
"eth0" ist in diesem Beispiel die Netzwerkkarte, die bereits eine 192.168.0.1 hat. "eth0:1" ist der erste Alias für diese Karte, "eth0:2" könnte ein zweiter sein usw. Möglich ist auch
   ifconfig lo:1 192.168.0.10
"lo" ist die loopback-Adresse 127.0.0.1.

Damit kannst du bereits arbeiten, allerdings ist dieser Alias nach dem nächsten reboot auch wieder futsch. Um ihn dauerhaft zu machen und bei Systemstart zur Verfügung zu haben, muß du an die entsprechenden Scripts herangehen. Das Script für die im Beispiel genannte Netzwerkkarte ist
   /etc/sysconfig/network-scripts/ifcfg-eth0
Das kopierst du dir in das neue Script
   /etc/sysconfig/network-scripts/ifcfg-eth0:1
und änderst die darin enthaltene IP samt Broadcast-Adresse usw.

Es ist _nicht_ erforderlich, daß alle IP-Aliase demselben (Sub-)Netz angehören.

Grüße aus Berlin

Christoph S.

PS: ich bin grade am Überlegen, ob ich das Thema IP-Aliasing in einem kleinen Artikel zusammenfassen sollte und hab mich in den letzten Tagen intensiv damit beschäftigt.