88 Stimmen

Virtuelle Domains für Apache/XAMPP erstellen

Tutorial von Stefan Trost | Letztes Update am 01.05.2021 | Erstellt am 29.04.2012

Die Entwicklung einer Website geht meistens folgenden Weg: Zunächst testen wir unsere Internetseite auf unserem lokalen Rechner, wo wir zum Beispiel XAMPP benutzen. Danach soll die Seite auf unseren Server hochgeladen werden und unter einer Adresse wie example.com verfügbar sein. Vorher jedoch, beim testen, greifen wir über eine Adresse wie http://localhost/seiten/xyz auf unsere Seite über den Browser zu.

Linkstruktur auf Server und lokalem Rechner

Aus dieser Tatsache erwachsen jedoch einige Probleme: Die Linkstruktur auf dem Server und dem lokalen Rechner ist eine andere, die Links funktionieren nur, wenn sie relativ gesetzt sind. Wenn wir jedoch einen Link verwenden, in dem direkt unsere spätere Domain vorkommt, wird diese zwar später auf dem Server funktionieren, nicht aber beim testen.

Dieses Problem kann an vielen Stellen auftreten, denn nicht immer kann man relative Links verwenden. Nehmen wir zum Beispiel den Fall, dass wir Bilder und Script-Dateien auf einen anderen Server ausgelagert haben. Hier müssten wir die direkte Domain angeben, zum testen ist dies mehr als unvorteilhaft.

Virtuelle Domains

Zum Glück gibt es eine Lösung für dieses Problem: Virtuelle Domains, manchmal auch virtuelle Hosts oder Virtual Hosts genannt. Virtuelle Hosts ermöglich es uns, auf unserem lokalen Rechner Domains verfügbar zu machen, so dass wir, wenn wir eine dieser definierten Domains aufrufen, in einem von uns definierten Verzeichnis landen.

Nicht anders funktioniert das übrigens auch mit http://localhost. Auch localhost ist auf diese Weise definiert worden, so dass wir in dem entsprechenden Verzeichnis landen.

Virtuelle Domains definieren

Neben localhost möchten wir für unser Beispiel nun auch noch die Domain example.com und die Subdomain s.example.com definieren. Dazu müssen wir in drei Dateien Änderungen vornehmen.

C:\WINDOWS\system32\drivers\etc\hosts

Zunächst müssen wir die Host-Datei von Windows anpassen. Diese heißt hosts (ohne Dateiendung) und wir finden sie im Verzeichnis C:\WINDOWS\system32\drivers\etc der Windows Installation. In dieser Datei werden alle Zuordnungen von IP-Adressen zu Hostnamen angegeben. Die IP-Adresse 127.0.0.1 entspricht unserem eigenen Rechner.

127.0.0.1     localhost
127.0.0.1     example.com www.example.com
127.0.0.1     s.example.com

In der ersten Zeile finden wir hier schon unseren localhost. Den lassen wir stehen und schreiben darunter die Domains, die wir benötigen. Im Beispiel sind das example.com, www.example.com und unsere Subdomain s.example.com.

C:\xampp\apache\conf\http.conf

Als nächstes müssen wir noch zwei Dateien in unserer XAMPP Konfiguration anpassen. Wir finden die Datei http.conf in dem Ordner, in dem XAMPP installiert haben unter apache\conf\.

Diese Datei ist die Server-Konfiguration von Apache. Zunächst sollten wir nachschauen, ob die Datei schon folgende Zeile enthält:

NameVirtualHost 127.0.0.1

Wenn diese Zeile nicht in der http.conf steht oder auskommentiert ist, schreiben wir sie einfach ganz nach unten in die Datei oder entfernen die Auskommentierung.

Danach schauen wir nach folgender Zeile:

# Virtual hosts
Include "conf/extra/httpd-vhosts.conf"

Auch die Zeile mit "Include" ist unter Umständen auskommentiert oder nicht enthalten. Wenn dies der Fall ist, ändern wir die Zeile so, wie sie oben steht oder schreiben die Zeile noch in die http.conf hinzu.

C:\xampp\apache\conf\extra\httpd-vhosts.conf

Zuletzt müssen wir noch die Datei httpd-vhosts.conf anpassen, die wir in unser XAMPP Installation unter \apache\conf\extra ein Verzeichnis unter unserer vorherigen Datei finden.

In dieser Datei finden wir unsere virtuellen Hosts, unter anderem sollte hier auch schon localhost eingetragen sein. Genauso, wie auch localhost eingetragen ist, können wir unsere zusätzlichen Domains eintragen und das entsprechende Verzeichnis für die Domain angeben:

<VirtualHost www.example.com>
  ServerAdmin webmaster@localhost
  DocumentRoot "c:/xampp/htdocs/seiten/xyz"
  ServerName example.com
  ServerAlias example.com
</VirtualHost>

<VirtualHost s.example.com>
  ServerAdmin webmaster@localhost
  DocumentRoot "c:/xampp/htdocs/seiten/xyzs"
  ServerName s.example.com
  ServerAlias s.example.com
</VirtualHost>

Im Beispiel sehen wir das für die Domain www.example.com und die Subdomain s.example.com, die auf die unter DocumentRoot angegebenen Verzeichnisse zeigen sollen. Hier kann man einfach seine Verzeichnisse und Domains eintragen, die man anlegen möchte.

XAMPP neu Starten

Damit die Änderungen wirksam werden, müssen wir XAMPP neu starten. Dazu rufen wir das XAMPP Control Panel auf, das wir zum Beispiel über das Startmenü oder die Desktop Verknüpfung aufrufen können. Hier finden wir den Eintrag "Apache" "Running", wo wir einmal auf "Stop" klicken und danach wieder auf "Start".

Nachdem der Server neu gestartet wurde, sollten unsere neu angelegten Domains verfügbar sein.

HTTPS URLs

Die hier beschriebenen Schritte ermöglichen einen Aufruf der definierten URLs über das HTTP-Protokoll, also zum Beispiel über http://www.example.com. Wenn wir unsere Domain auch über HTTPS/SSL, also über https://www.example.com aufrufen möchten, sind weitere Schritte erforderlich. Welche das sind, erfahrt ihr in meinem Tutorial SSL/HTTPS für lokale Projekte einrichten. Dort erkläre ich auch, wie ihr ein eigenes SSL-Zertifikat für eure XAMPP-Server-Konfiguration erstellen könnt.

Probleme

Ich möchte an dieser Stelle noch auf ein Problem hinweisen: Diese Lösung ist am besten für Rechner geeignet, die nur zu Testzwecken benutzt werden und von denen die angelegten Domains nicht im Internet aufgerufen werden müssen.

Denn jedesmal, wenn wir eine unserer angelegten Domains aufrufen, werden wir automatisch auf unsere lokale Version der Seite umgeleitet, wir kommen nicht mehr auf die Version im Internet. Um diese zu erreichen, müssen wir unseren Hosteintrag in der host-Datei auskommentieren und den Browser neu starten:

#127.0.0.1   example.com

Das ist natürlich etwas umständlich und bisher ist mir auch keine bessere Lösung für diese Problematik bekannt. Sollte jemand etwas wissen, bitte posten.

AntwortenPositivNegativ

Über den Autor

AvatarSoftware von Stefan Trost finden Sie auf sttmedia.de. Benötigen Sie eine individuelle Software nach Ihren eigenen Wünschen? Schreiben Sie uns: sttmedia.de/kontakt
Profil anzeigen

 

Ähnliche Themen

PHP: Zeit und Performance messen

Tutorial | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.