Pixelfans

14 Feb 2011

localhost via virtualbox - auch mit Domainauflösung

Bei der Webentwicklung kommt es immer wieder auf gründliches und möglichst allumfassendes Testen an.

Was sieht meine Webseite in einem älteren Browser aus, funktioniert mein JavaScript Code auch in einem anderen Betriebssystem, etc? Wer dabei lokal entwickelt, muss auf Dienste wie browsershots u.ä. leider verzichten und kommt deshalb um virtuelle Maschinen (VM) aller Art nicht drumrum.

Die Virtualbox ist da schon recht komfortabel und über ein GUI zu administrieren, was ich sehr bevorzuge. In wenigen Minuten ist ein neues System installiert, mit einem Netzwerkadapter ausgestattet und im www unterwegs.

Damit bin ich also genauso weit wie mit o.g. Browsershots. Ich kann Webseiten testen, die sich bereits auf einem Liveserver befinden. Leider ist das nur die halbe Miete.

Gebe ich aber nun z.B. http://localhost/pixelfans/ im Browser meiner virtuellen Maschine ein, bekomme ich eine Fehlermeldung, weil mein virtueller Freund innerhalb seiner eigenen Grenzen nach dem Verzeichnis /pixelfans sucht und das logischerweise dort nicht existiert. Die VM sollte also auf meinem echten - physischen - Rechner nach dem Verzeichniss suchen, das weiß sie nur leider noch nicht.

Ein kurzer Blick in die aktuelle virtuelle Konfiguration verrät mir, dass mein Gateway - also der echte Rechner - die IP 10.0.2.2 besitzt. Folglich führt mich der Aufruf http://10.0.2.2/pixelfans/ zum Ziel und meine lokale Webseite wird angezeigt. Soweit so gut.

Um beim Entwicklen und Testen nah am Livesystem zu sein, bietet sich häufig an, auch unter xampp bzw. wampp vermeintliche Domainnamen oder sogar Subdomains zu etablieren. In meinem Fall bekomme ich nun zwar mein Verzeichniss /pixelfans mit allen Inhalten ausgeliefert, es sieht aber total zerhackt aus weil jegliche referenzierten Daten, wie Stylesheets, Scripte und Bilder fehlen. Die sucht mein virtueller Browser nämlich unter http://pixelfans.dev/... und findet nix, weil er noch nicht weiß, wohin er diese Anfrage routen soll.

Helfen wir ihm, indem wir in der hosts-Datei der virtuellen Maschine einige Zeilen ergänzen, die wir aus der eigenen hosts-Datei der physischen Maschine fast vollständig kopieren können.

In der physischen hosts-datei steht also

127.0.0.1 pixelfans.dev
127.0.0.1 http://www.pixelfans.dev
127.0.0.1 labs.pixelfans.dev

und in die virtuelle hosts-Datei tragen wir also Folgendes ein:

10.0.2.2 pixelfans.dev
10.0.2.2 http://www.pixelfans.dev
10.0.2.2 labs.pixelfans.dev

Speichern, Browser aktualisieren, Bingo fertig!

Im Übrigen weiß wikipedia sehr gut, wo sich die hosts-Datei auf unterschiedlichsten Systemen befindet.

Nach einer kurzen Recherchen dazu, habe ich erfahren, dass die IP 10.0.2.2 der Standard ist. Man kann sich also den Blick in die Konfiguration sparen und sie analog verwenden. Unter Umständen muss in der VM noch das Virtualbox-Paket "Guest Additions" nachinstalliert werden, das macht virtualbox aber auf Wunsch von alleine und man hat damit keine Nervereien

geschrieben von carsten


Kommentare

Kommentar verfassen

Dieser Eintrag kann nicht mehr kommentiert werden.