Xampp – Virtual Hosts richtig einrichten

Dieser Beitrag wurde vor mehr als 13 Jahren veröffentlicht. Daher kann es sein, dass sein Inhalt oder ein Teil davon nicht mehr aktuell ist.

In diesem Artikel möchte ich euch ein bisschen in die erweiterte Handhabung von Xampp einführen. Es geht um die Umgestaltung der Domains und das Einrichten von neuen Root-Verzeichnissen. Hierdurch wird die Arbeit unter bestimmten Umständen um ein Wesentliches erleichtert.

Xampp Logo

Für gewöhnlich hat man bei XAMPP bekanntermaßen Adressen wie http://localhost/ oder auch http://localhost/unterordner/, doch das ist auf Dauer etwas umständlich. Viel angenehmer wäre doch, wenn man statt http://localhost/kaiserkiwi/ eine Adresse wie (vs steht hier für Virtual Server) hat.

So muss man nicht lange überlegen, wie nun der Ordner heißt, sondern hat gleich seine Domain nur anstelle von .de, com, .net oder ähnlichem ein .vs

Um das zu bewerkstelligen muss man in 3 Dateien kleinere Änderungen vornehmen. Und den Apache-Server dann neu starten. Dies geht relativ leicht über das Kontrollpanel von XAMPP. Ohne den Neustart des Apache-Servers würden die Änderungen nicht vollständig übernommen und es kann zu Fehlern kommen.

Wenn wir davon ausgehen, dass XAMPP auf der Partition D: im Hauptverzeichnis installiert wurde, sind das folgende Dateien welche später bearbeitet werden müssen um einen VirtualHost zu erzeugen:

  • D:\XAMPP\apache\conf\httpd.conf
  • D:\XAMPP\apache\conf\extra\httpd-vhosts.conf
  • C:\Windows\System32\drivers\etc\hosts

Nehmen wir an, wir wollen aus der Adresse http://localhost/kaiserkiwi/ die Adresse machen. Mit dieser Aufgabe werde ich Sie jetzt durch dieses kleine Tutorial führen.

Als erstes öffnen wir die httpd.conf un navigieren zu Zeile 176. In dieser müsste DocumentRoot "D:/XAMPP/htdocs" stehen. Der Pfad ändert sich natürlich je nach Installationsort von XAMPP. Unter diese Zeile fügen wir folgendes ein:

DocumentRoot "D:/XAMPP/kaiserkiwi"

Auch hier ändert sich der Pfad je nach Installationsort.

Als nächstes öffnen wir die Datei httpd-vhosts.conf, hier dürften derzeit nur Einträge sein, welche ein # vorangestellt haben – also auskommentiert wurden. Diese Bereiche sind Beispiele für die Erstellung von VirtualHosts. Darunter fügen wir nun unseren Code ein. Dieser sieht dann wie folgt aus:

NameVirtualHost 127.0.0.1

<VirtualHost 127.0.0.1>
    ServerName www.kaiserkiwi.vs
    ServerAlias kaiserkiwi.vs
    AddType text/html .shtml
    AddHandler server-parsed .shtml
    DocumentRoot "D:/XAMPP/kaiserkiwi"
    <Directory "D:/XAMPP/kaiserkiwi">
    Options Indexes FollowSymLinks
    Options +Includes
#   Options +
    AllowOverride FileInfo
    AllowOverride All
    Order allow,deny
    Allow from all
    DirectoryIndex index.html index.htm index.php
    </Directory>
</VirtualHost>

Unter ServerName und ServerAlias wird die gewünschte Adresse sowohl mit als auch ohne www. Der Ordnerpfad wird an den Stellen DocumentRoot und <Directory> bestimmt. Die restlichen Einstellungen sind lediglich Formsachen, welche nicht weiter beachtet werden sollten, wenn man sich damit nicht wirklich auskennt.

Diese Konfiguration lässt auf jeden Fall einige Freiheiten mehr als eine gewöhnlich Konfiguration. Was sinnvoll ist, da man ja schließlich Zuhause nicht selbst eingeschränkt werden möchte. Die beste Methode ist es allerdings die Einstellungen an den Webserver anzupassen, doch dafür muss man sich schon etwas besser mit der Materie auskennen.

Zu guter Letzt bearbeiten wir die hosts-Datei, welche im Grunde nichts mit XAMPP zu tun hat. Diese Datei ist von Natur aus bereits auf dem System in diesem Ordner. Mit dieser verwaltet man Extraregeln für die Weiterleitung von Domains. So kann man zum Beispiel in dieser Datei einstellen, dass Die Yahoosuche auf Google weiterleitet oder ähnliches.

Ähnliches tun wir jetzt auch mit unserem VirtualHost. In der Hosts-Datei muss man sowohl die Adresse, welche umzuleiten ist, also auch die an die es weitergeleitet werden soll angeben. Die kleine Schwierigkeit – das Zil muss als IP-Adresse angegeben werden. Wenn man einmal statt http://localhost einfach 127.0.0.1 eingibt, kommt man auf die gleiche Seite wie bei den sonstigen Aufrufen.

Diese IP-Adresse nutzen wir auch in der Hosts-Datei. Der zweite Parameter wird die Adresse sein, welche wir in der httpd-vhosts.conf bestimmt haben. Wieder mit und ohne www. Bisher müsste bereits ein Eintrag drin sein, das wäre dann dieser:

127.0.0.1    localhost

Es ist natürlich auch gut möglich, dass bereits einige andere Einträge von zum Beispiel einem Anti-Virenprogramm eingefügt wurden, doch der Eintrag welchen wir benötigen, steht in den meisten Fällen ganz oben. Unter diesen Eintrag fügen wir dann folgendes ein:

127.0.0.1    kaiserkiwi.vs www.kaiserkiwi.vs

Nun muss nur noch der Apache-Server neu gestartet werden und schon kann man die Seite aufrufen. Wenn der Ordner noch leer ist, bekommt man lediglich eine leere Verzeichnisübersicht angezeigt. Durch einfügen der Dateien ist die Seite dann wie gewohnt nutzbar. Die MySQL-Daten bleiben so erhalten, ebenso wie alles andere – lediglich die Adresse ändert sich.

5 Kommentare

  1. Danke Wishu! Das ist mal eine super Beschreibung für einen Dummy! Hat alles wunderbar funktioniert.

    Beste Grüsse
    Marc

  2. Kann man da anstatt .vs auch .de schreiben für den privaten gebrauch?
    Und kann man so auch sub domains machen?

    • Zu beidem, ja. vs habe ich nur immer für mich genommen. Was du da zu stehen hast, ist an sich egal. Du könntest so theoretisch auch facebook.com zu einer lokalen Seite umleiten.

  3. Hi habe deine Anleitung heute auch einmal ausprobiert.

    Server startet einwandfrei.

    Wenn ich jetzt meine Seite mit xxxxx.vs aufrufe, bekomme ich die Fehlermeldung.

    „Zugriff verweigert!

    Der Zugriff auf das angeforderte Verzeichnis ist nicht möglich. Entweder ist kein Index-Dokument vorhanden oder das Verzeichnis ist zugriffsgeschützt.

    Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
    Error 403
    xxxxxxxx.vs
    Apache/2.4.17 (Win32) OpenSSL/1.0.2d PHP/5.6.19

    Woran kann das liegen???

    Wolfgang

    • Auch bei mir kommt exakt die selbe Fehlermeldung. Bitte um Hilfe!