Noch einmal VHosts

Alles, was den Apache betrifft, kann hier besprochen werden.

Noch einmal VHosts

Postby MikeA » 04. February 2007 15:55

Ich habe versucht mich durch Lesen der Handbücher und der Foren schlau zu machen, aber irgendwie finde ich nicht die richtige Lösung.

Ist-Zustand:
Ich habe einen lokalen Server 192.168.*.* mit Apache.
Weiterhin habe ich 3 Domains die im Inet auf eine DynDomain umgeleitet werden. Die DynDomain leitet dann alle Anfragen auf meinen lokalen Apache hier im LAN. Soweit funzt das auch, jedoch landen alle Requests egal von welcher Domain auf einer Seite.
Nun wollte ich ausprobieren ob man durch VHosts den Apache so einrichten kann daß es für jede Domain eine eigene/n Seite/Bereich gibt.
Viele Threads sagen daß man dies mit Hilfe des DNS einrichten kann.
Jedoch habe ich kein DNS um das zu Verwalten, zumal alles von draussen kommt.

Bei einigen Tests ist der Request dann in den VHost Bereich gelandet, aber die anderen auch. Also irgendwie krieg ich es nicht hin, oder es geht einfach nicht in meinem Umfeld.

Ist die Frage ob der HTML-Header durch die DynDNS Umleitung noch den ursprünglichen Eintrag hat, und die ursprünglich angewählte Domain noch enthält.

Kann mir jemand bitte mit einer Beispielkonfig auf die Sprünge helfen. Oder aber bestätigen daß ich auf dem Holzweg bin und das so nicht geht.

Vielen Dank und nicht böse sein wegen dem 10000sten VHost Thread.

Danke
MikeA
 
Posts: 2
Joined: 16. September 2005 12:55

Postby Fallout » 08. February 2007 15:13

Hi,

schade, daß dieses Thema nicht besonders aktiv beantwortet wird. Ich habe dazu auch noch eine Frage:
Ich habe die Konfiguration, wie sie MikeA beschrieben hat, erfolgreich eingerichtet (Beschreibung folgt unten).
Kurzes Schema als Übersicht:
Code: Select all
erstername.dyndns.org   \
zweitername.dyndns.org   >--- IP-Adresse --- apache --- !:Hauptseite (meine Frage ;-)
drittername.dyndns.org  /                       |
                               _______________vhosts______________
                              /                 |                 \
              erstername.dyndns.org   zweitername.dyndns.org   drittername.dyndns.org

Zu meiner Frage: Der Aufruf der jeweiligen vhosts über den domain-alias (xxx.dyndns.org) mit dessen Inhalt funktioniert. Jetzt dachte ich mir, daß ich ja dann beim Aufruf _ohne_ einen dieser Domainaliase sondern mit der tatsächlichen IP-Adresse die nicht-virtualisierte tatsächlich konfigurierte Webseite bekommen müßte. Aber leider habe ich dies bis jetzt noch nicht hinbekommen. Entweder bekomme ich unter allen Aufrufen nur die Hauptseite angezegit, oder aber zwar die virtualisierten jeweiligen Hosts jedoch auch den ersten dieser wenn ich mittels der IP-Adresse aufrufe.
Hat dazu jemand einen guten Hinweis? :-) (die vhosts statt mit *:80 auf jeweilige namen xxx.dyndns.org:80 setzen und NameVirtualHost ebenfalls entsprechend brachte den gleichen Effekt)

Nun zur eingehenden Frage wegen der Konfiguration (ganz kurz und knapp ;-):
Vorausgesetzt ist, daß Du Deine vhosts konfiguriert hast (jeweils mit dem Eingang <VirtualHost *:80> und natürlich die Servernamen entsprechend deinen Domain-Aliasen) . Dann sind eigentlich nur noch 2 Dinge wichtig:
- In jeder vhost-Konfiguration muß enthalten sein: UseCanonicalName On
- in der listen.conf (falls Deine apache Konfiguration modular ist - ansonsten in der httpd.conf o. ä.) muß enthalten sein: NameVirtualHost *:80

So eingerichtet bekomme ich unter dem jeweiligen Domain-Alias auch tatsächlich den Inhalt des entsprechenden vhosts ausgespuckt.

Beispielkonfiguration:
Code: Select all
Listen *:80
DocumentRoot "/srv/www"
<Directory "/srv/www">
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>
NameVirtualHost *:80
<VirtualHost *:80>
    ServerName domain1.dyndns.org
    DocumentRoot /srv/www/domain1.dyndns.org
    HostnameLookups Off
    UseCanonicalName On
    <Directory "/srv/www/domain1.dyndns.org">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerName domain2.dyndns.org
    DocumentRoot /srv/www/domain2.dyndns.org
    HostnameLookups Off
    UseCanonicalName On
    <Directory "/srv/www/domain2.dyndns.org">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerName domain3.dyndns.org
    DocumentRoot /srv/www/domain3.dyndns.org
    HostnameLookups Off
    UseCanonicalName On
    <Directory "/srv/www/domain3.dyndns.org">
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
Fallout
 
Posts: 2
Joined: 08. February 2007 14:14

Postby Wiedmann » 08. February 2007 15:40

Zu meiner Frage: Der Aufruf der jeweiligen vhosts über den domain-alias (xxx.dyndns.org) mit dessen Inhalt funktioniert. Jetzt dachte ich mir, daß ich ja dann beim Aufruf _ohne_ einen dieser Domainaliase sondern mit der tatsächlichen IP-Adresse die nicht-virtualisierte tatsächlich konfigurierte Webseite bekommen müßte.

Wenn du VHosts im Apache aktivierst, gibt es nur noch diese. Und wenn du namebased VHosts hast, dann übernimmt der Erste den du definierst die Aufgabe von dem was du "die nicht-virtualisierte tatsächlich Webseite" nennst. (Wird dein Defaulthost)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Fallout » 08. February 2007 16:02

Ahhhh, ok - vielen Dank. Habe jetzt einen "_masterhost.conf" vhost angelegt und es funktioniert endlich so, wie ich es mir vorgestellt hatte ;-)
Fallout
 
Posts: 2
Joined: 08. February 2007 14:14


Return to Apache

Who is online

Users browsing this forum: No registered users and 4 guests