Axel Richter: vhosts + apache2 laufen nciht richtig!!

Beitrag lesen

Hallo,

  1. bei Starto habe ich für die Domains als Weiterleitung einfach die IP meines Servers angegeben (hoffe das ist richtig^^)

Also wenn jemand http://xxx.server4you.de/ oder http://www.domain1.de/ oder http://domain2.de/ anfordert, dann wird er _immer_ weitergeleitet zu http://123.231.132.12? Wenn ja, dann kann es nicht gehen.

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot /usr/local/apache2/htdocs
    ServerName xxx.server4you.de
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@domain1.de
    DocumentRoot /srv/www/vhosts/domain1
    ServerName domain1.de
    ServerAlias www.domain1.de
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@domain2.de
    DocumentRoot /srv/www/vhosts/domain2
    ServerName domain2.de
</VirtualHost>

Diese absolut korrekte VirtualHost-Konfiguration setzt darauf, dass das DNS alle diese Hostnamen zu _einer_ IP auflöst, nämlich zu der Deines Servers. Die HTTP-Anforderungen, die darauf hin bei Deinem Server ankämen, sähen dann so aus:

GET / HTTP/1.1[CRLF]
Host: xxx.server4you.de[CRLF]

oder

GET / HTTP/1.1[CRLF]
Host: www.domain1.de[CRLF]

oder

GET / HTTP/1.1[CRLF]
Host: domain2.de[CRLF]

Deine Weiterleitung sieht _immer_ so aus:

GET / HTTP/1.1[CRLF]
Host: 123.231.132.12[CRLF]

dann lande ich aber immer im /usr/local/apache2/htdocs also dem ersten DocumentRoot...

Ja, denn Wird kein passender virtueller Host gefunden, dann wird der erste angegeben virtuelle Host verwendet, dessen IP-Adresse paßt. Und bei Deinem Server kommt als Hostname immer die IP aus der Weiterleitung an.

Du musst erreichen, dass alle Deine VirtualHosts vom DNS zu Deiner Server-IP aufgelöst werden, so dass die oben beispielhaft angeführten HTTP-Anforderungen an diesr IP:Port80 ankommen. Eine Weiterleitung zu immer einer IP bringt da nichts.

viele Grüße
Axel