4.12.1. IP basierte virtuelle Webserver
Bei einer IP-basierten Unterscheidung müssen auf der Maschine mehrere Netzwerkinterface mit verschiedenen IP-Nummern konfiguriert sein. Je nach den Sicherheitsanforderungen und den vorhandenen Ressourcen des Systems können entweder getrennte Webserverprozesse aufgesetzt oder ein Server für alle IP-Nummern konfiguriert werden.
Um einen Webserver auf eine IP-Nummer zu binden, nutzt man die Listen Anweisung.
Listen [IP-NUMMER:]PORTNUMMER
Um diese Anweisung mehrfach einsetzen zu können, kann man für jeden Server eine Konfigurationsumgebung schaffen. Hierfür dient die <VirtualHost> Umgebung.
Ein Beispiel:
<VirtualHost ERSTER.SERVER>
   ServerAdmin webmaster@ERSTER.SERVER
   DocumentRoot /WEBSERVER/ERSTER.SERVER/htdocs
   ServerName ERSTER.SERVER
   ErrorLog /WEBSERVER/ERSTER.SERVER/logs/error_log
   TransferLog /WEBSERVER/ERSTER.SERVER/logs/access_log
</VirtualHost>
 
<VirtualHost ANDERER.SERVER:PORT>
   ServerAdmin webmaster@ANDERER.SERVER
   DocumentRoot /WEBSERVER/ANDERER.SERVER/htdocs
   ServerName ANDERER.SERVER
   ErrorLog /WEBSERVER/ANDERER.SERVER/logs/error_log
   TransferLog /WEBSERVER/ANDERER.SERVER/logs/access_log
</VirtualHost>
 
<VirtualHost _default_:*>
   ServerAdmin webmaster@REST.SERVER
   DocumentRoot /WEBSERVER/REST.SERVER/htdocs
   ServerName REST.SERVER
   ErrorLog /WEBSERVER/REST.SERVER/logs/error_log
   TransferLog /WEBSERVER/REST.SERVER/logs/access_log
</VirtualHost>