Lokale (LAN) Multi-Device Virtual Host-Entwicklungsumgebung für Webprojekte

Geschrieben am von Daniel Koch

Für die Arbeit an unterschiedlichen Webprojekten bietet sich, bei der Verwendung des Webservers Apache, eine Entwicklungsumgebung mit sog. virtuellen Hosts an. Damit ist es möglich, für jedes Projekt eine eigene Projektumgebung zu definieren. Neben einem dedizierten Document Root können auch alle übrigen Konfigurationsparameter individuell eingestellt werden.

Eine Beispiel-Standardkonfiguration sieht wie folgt aus:

<VirtualHost *:80>
 ServerAdmin webmaster@host.foo.com
 DocumentRoot /www/docs/host.foo.com
 ServerName host.foo.com
 ErrorLog logs/host.foo.com-error_log
 TransferLog logs/host.foo.com-access_log
</VirtualHost>

Ergänzt man den ServerName nun noch in der hosts-Konfigurationsdatei (bei Mac OS X unter: /private/etc/) und leitet alle Anfragen auf den localhost um, gelangen alle ServerName-HTTP-Anfragen im gewünschten Document Root des jeweiligen virtuellen Host:

127.0.0.1 host.foo.com

Möchte man nun während der Entwicklung oder zu Test- und Qualitätszwecken mit unterschiedlichen Geräten auf den lokalen Rechner zugreifen stellt sich das Problem, dass die lokal definierten ServerNames nicht erreichbar sind.

Abhilfe schafft hier eine kleine Änderung in der Konfiguration des virtuellen Hosts; anstatt Wildcard (*) muss einfach die aktuelle IP, des Host-Rechners im Netzwerk, eingetragen werden:

<VirtualHost 192.168.100.1:80>
 ...
</VirtualHost>

Nun kann der virtuelle Host (ServerName) über die IP http://192.168.100.1/ erreicht werden. Auch die Nutzung von Tools wie Adobe Shadow sind nun möglich.
Wichtig ist, solange keine explizite Weiterleitung eingestellt wird, dass sich die beiden Geräte im selben Netzwerk befinden müssen.

Wer MAMP Pro nutzt, kann diese Einstellung in dem Einstellungsmenü des virtuellen Host unter „Allgemein“ vornehmen.

Bild Einstelldialog von MAMP PRO in Version 2.0.5, VHOST-Porteinstellung