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>