Jump to navigation
25 Oktober
Mass-Virtual-Hosting
Wer schonmal mit den Virtual Hosts beim Apachen rumgespielt hat, weiß wie lästig es ab einer bestimmten Anzahl von Virtual Hosts wird, die httpd.conf für jeden neuen Eintrag abzuändern und den Webserver jedesmal neu zu starten.
Besonders lästig ist das wohl für Webhosting-Anbieter, die mit einer großen Anzahl gleichartiger virtueller Hosts hantieren müssen.
Bei einer hohen Anzahl von namensbasierten virtuellen Hosts leidet zudem die Performance, da bei jedem Aufruf immer die Liste Hostnamen durchgegangen werden muss.
Hier bietet sich der Einsatz des Apache-Modusl mod_vhost_alias an.
Die Hauptvorteile beim Einsatz von mod_vhost_alias sind:
Man kann für die einzelnen virtuellen Hosts keine getrennten Logfiles anlegen.
Die Idee hinter diesem Modul besteht darin, den Hostnamen nicht in die Serverkonfiguration aufzunehmen, sondern auf das Dateisystem auszulagern.
In der Serverkonfiguration wird der Ort angegeben, an dem die einzelnen virtuellen Hosts liegen.
Beispielsweise im Verzeichnis /vhosts/
Innerhalb dieses Verzeichnisses werden dann einfach die jeweiligen Verzeichnisse für die virtuellen Hosts angelegt, z.B /vhosts/www.domain.tld/ und /vhosts/www.anderedomain.tld.
Diese Domains müssen dann nur noch im DNS Server eingetragen werden.
Windows Beispiel:
Linux Beispiel:
<Location /cgi-bin> wird nur dann benötigt, wenn die virtuellen Hosts auch eigene CGI-Anwendungen ausführen dürfen.
Dafür muss dann innerhalb der virtuellen Host Verzeichnisse ein cgi-bin Verzeichnis bereitgestellt werden, bzw. vorhanden sein.
Besonders lästig ist das wohl für Webhosting-Anbieter, die mit einer großen Anzahl gleichartiger virtueller Hosts hantieren müssen.
Bei einer hohen Anzahl von namensbasierten virtuellen Hosts leidet zudem die Performance, da bei jedem Aufruf immer die Liste Hostnamen durchgegangen werden muss.
Hier bietet sich der Einsatz des Apache-Modusl mod_vhost_alias an.
Die Hauptvorteile beim Einsatz von mod_vhost_alias sind:
- Die Konfigurationsdatei ist kürzer und der Webserver startet schneller und benötigt weniger Hauptspeicher.
- Zusätzliche virtuelle Hosts können durch einfaches erzeugen neuer Verzeichnisse im Dateisystem und Einträgen im DNS Server erstellt werden.
- Der Apache Webserver muss nach dem Hinzufügen neuer virtueller Hosts nicht mehr neugestartet werden.
Man kann für die einzelnen virtuellen Hosts keine getrennten Logfiles anlegen.
Die Idee hinter diesem Modul besteht darin, den Hostnamen nicht in die Serverkonfiguration aufzunehmen, sondern auf das Dateisystem auszulagern.
In der Serverkonfiguration wird der Ort angegeben, an dem die einzelnen virtuellen Hosts liegen.
Beispielsweise im Verzeichnis /vhosts/
Innerhalb dieses Verzeichnisses werden dann einfach die jeweiligen Verzeichnisse für die virtuellen Hosts angelegt, z.B /vhosts/www.domain.tld/ und /vhosts/www.anderedomain.tld.
Diese Domains müssen dann nur noch im DNS Server eingetragen werden.
Windows Beispiel:
UseCanonicalName Off VirtualDocumentRoot "F:/Apache/Apache2/vhosts/%0" <Location /cgi-bin> Options ExecCGI SetHandler cgi-script </Location>
Linux Beispiel:
UseCanonicalName Off VirtualDocumentRoot /usr/local/apache/vhosts/%0 <Location /cgi-bin> Options ExecCGI SetHandler cgi-script </Location>
<Location /cgi-bin> wird nur dann benötigt, wenn die virtuellen Hosts auch eigene CGI-Anwendungen ausführen dürfen.
Dafür muss dann innerhalb der virtuellen Host Verzeichnisse ein cgi-bin Verzeichnis bereitgestellt werden, bzw. vorhanden sein.
tags: Mass Virtual Hosting
18:22:30 25.10.2004 Holger Struck -
Kategorie: Tipps/Tricks
TrackBack
Trackback
There are currently no trackbacks for this item.
Use this TrackBack url to ping this item (right-click, copy link target).
If your blog does not support Trackbacks you can manually add your trackback by using this form.
Kommentare
Frank Hirsch:
14.09.2006 09:47:16
Kommentar schreiben
Kommentar wird nach Überprüfung freigeschaltet

hatte bei meinem "mass virtual host" auf suse linux 10.0 mit Apache 2.2.0 ein Problem mit den CGI's wenn der Hauptserver ebenfalls ein cgi-bin hatte. Nachdem ich in der Hauptkonfiguration die Konfiguration für das cgi-bin heraugenommen hatte, landeten alle Anfragen auch tatsächlich im Richtigen, für jeden vhost dynamisch definierten Verzeichnis.