Christoph Schnauß: Apache Virueller-Server-Cocktail

Beitrag lesen

hallo Sven,

[Fri Dec 17 17:08:22 2004] [error] VirtualHost _default_:80 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results     .
ich werde daraus nicht schlau... - immerhin habe ich überall :80 als Ports dahintergeschrieben

Was nicht wirklich zwingend nötig ist, es sei denn, du willst deine virtuellen hosts über verschiedene ports ansprechen.

und NameVirtualHost dürfte ich für _default_ nicht brauchen

Jau, _genau das_ ist es.

Weiß jemand, was der will?

Ja, steht ja deutlich da: du kannst IP-basierte und namensbasierte virtuelle hosts nicht einfach so durcheinanderwürfeln. Allerdings kannst du sehr wohl beide in _einer_ httpd.conf notieren. Beispiel steht in meinem Apache-Artikel, Abschnitt virtuelle hosts

Konkret ist es die Reihenfolge. Schreib mal deine httpd.conf so:
 <VirtualHost _default_:80>
     ServerName irgendeinDefaultServer
     # Defaultserver für alle Querys,  die nicht über
     # 121.122... oder 111.112... reinkommen (die Hostnamen
     # sind jetzt im Grunde genommen auch egal)
 </VirtualHost>

NameVirtualHost 121.122.123.124:80
<VirtualHost 121.122.123.124:80>
    ServerName xyz.tld
    ServerAlias xyz.tld ...
    # standartserver für 121.122.123.124
</VirtualHost>
<VirtualHost 121.122.123.124:80>
    ServerName sonstwas.xyz.tld
    ServerAlias sonstwas.xyz.tld
    # exemplarischer Namensbasierter Virtueller Host für 121.122.123.124
</VirtualHost>
NameVirtualHost 111.112.113.114:80
<VirtualHost 111.112.113.114:80>
    ServerName abc.tld
    # standartserver für 111.112.113.114
</VirtualHost>
<VirtualHost 111.112.113.114:80>
    ServerName sonstwas.abc.tld
    # exemplarischer Namensbasierter Virtueller Host für 111.112.113.114
</VirtualHost>

Eine zweite Möglichkeit besteht darin, die Virtualhost-Angaben in eine bzw. zwei eigene Datei(en) auszulagern. Beispielsweise schreibst du in "virthost1.conf" deinen IP-basierten virtuellen host hinein, und in "virthost2.conf" deine namensbasierten virtuellen hosts. Beide Konfigurationsschnipsel bindest du dann mit "Include" in deine httpd.conf ein.

Grüße aus Berlin

Christoph S.