NoFollow Free!
SHIFT Weblog

Dieses Blog ist ein Online-Magazin für erfahrene Website-Entwickler und Webdesigner, die PHP und Webdesign lieben.

Allgemein

Subdomain für localhost einrichten

ie9

Beim Zugriff auf die Dateien des lokalen Servers gibt man normalerweise http://localhost/[Unterordner] ein. Ich habe lange nach einer Lösung gesucht, um auf einem Windows-Apache-Server eine Subdomain zu erstellten: http://[Unterordner].localhost/. Auch andere Domainnamen sind möglich. Hier beschreibe ich, wie es geht.

Einige Informationen vorweg: Ich benutze das Paket XAMPP für die lokale Testumgebung. Mein Rootverzeichnis für den Server liegt auf C:\xampp\htdocs\. Gebe ich in der Adresszeile http://localhost/shiftedwork/ ein, so werden die Daten aus C:\xampp\htdocs\shiftedwork geladen. Mein Ziel ist es, mit der Eingabe von http://local.shiftedwork.de/ auf meinem lokalen Ordner (…\htdocs\shiftedwork) zu landen.

Schritt 1 – Windows Hosts-Datei konfigurieren

Als erstes müssen wir Windows mitteilen, dass wir bei der Eingabe von local.shiftedwork.de auf die lokale Testumgebung weitergeleitet werden. Dazu müssen wir die hosts-Datei konfigurieren. Diese befindet sich bei fast allen Windows-Versionen in dem Verzeichnis C:\windows\System32\drivers\etc\. Die Datei “hosts” hat keine Dateiendung, kann aber problemlos mit einem Texteditor geöffnet werden (Nein, Microsoft Word ist kein Texteditor..). Mißachtet die ersten Kommentarzeilen (diese fangen mit der Raute ‘#’ an) und schaut auf den ersten Eintrag. Dort steht

127.0.0.1       localhost

Diesen Eintrag sollte man so stehen lassen – er bedeutet, dass bei der Eingabe der Domain “localhost” auf die IP-Adresse 127.0.0.1 umgeleitet wird – das ist (meistens) die Adresse für die lokale Apache-Testumgebung.  Analog dazu erstellen wir nun einen weiteren Eintrag in einer neuen Zeile. Diese beginnt mit der lokalen IP-Adresse der Testumgebung, dann eine Leerzeile und dann den Namen der Domain, die wir später eingeben möchten um umgeleitet zu werden. Für mein Vorhaben sieht die hosts-Datei nun (abgesehen von den Kommentaren am Anfang) nun so aus:

127.0.0.1    localhost
127.0.0.1    local.shiftedwork.de

Speichert die Datei wieder ab und startet das Betriebssystem neu.

Schritt 2: Apache konfigurieren

Jetzt müssen wir noch den Apache-Server so konfigurieren, dass bei der Verarbeitung der Domain auf den richtigen Ordner umgeleitet wird. Das Zauberwort hierfür heisst vhosts (Virtual Hosts). Zunächst sollte man erst einmal nachschauen, ob die vhosts-Erweiterung geladen wird. Geht dazu in das Verzeichnis eurer Apache-Installation (Bei xampp lautet dieser C:\xampplite\apache) und wechselt von dort in den Ordner conf. Dort befindet sich die Datei “httpd.conf”, die auch mit einem Texteditor öffnet. Sucht nun einen Abschnitt, in dem am Anfang vieler Zeilen “LoadModule” oder “#LoadModule” steht. Auch hier bedeutet eine Raute vor einem Eintrag wieder, dass es auskommentiert wurde. Sucht nun die Zeile

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

und entfernt ggf. die Raute am Anfang, um diese Zeile in einen gültigen Eintrag zu verwandeln.

Sucht nun, fast am Ende der Datei, die Zeile

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

und achtet darauf, dass der Include-Befehl nicht auskommentiert ist.

Speichert die Datei ab und wendet euch wieder dem Ordner zu, in dem die httpd.conf-Datei liegt. In diesem Ordner befindet sich ein Ordner namens “extra” (Vollständiger Pfad bei einer Standard-xampp-Installation: C:\xampplite\apache\conf\extra). Wechselt in diesen Ordner und öffnet die Datei httpd-vhosts.conf mit einem Texteditor.

Wieder sehen wir am Anfang viele Kommentarzeilen, so dass wir fast übersehen dass dort eine Zeile ist in der “NameVirtualHost *:80″ steht. Entfernt die Raute am Anfang der Zeile, um aus dem Kommentar einen Eintrag zu machen. Im unteren Teil seht ihr schon eine Beispielkonfiguration, diese könnt ihr entfernen und nach folgendem Schema neue virtuelle Hosts hinzuzufügen:

<VirtualHost *:80>
 ServerAdmin [EMail-Adresse des Admins]
 DocumentRoot [Absoluter Pfad zum gewünschten Verzeichnis]
 ServerName [URI des Browsers (die auch in der hosts-Datei steht)]

 <Directory "[Absoluter Pfad zum gewünschten Verzeichnis]">
 Options Indexes FollowSymLinks Includes ExecCGI
 AllowOverride All
 Order allow,deny
 Allow from all
 </Directory>
</VirtualHost>

Meine Hosts-Datei sieht nun so aus:


#
# Use name-based virtual hosting.
#
NameVirtualHost *:80

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
 ServerAdmin info@shiftedwork.de
 DocumentRoot C:/xampp/htdocs/shiftedwork
 ServerName local.shiftedwork.de

 <Directory "C:/xampp/htdocs/shiftedwork">
 Options Indexes FollowSymLinks Includes ExecCGI
 AllowOverride All
 Order allow,deny
 Allow from all
 </Directory>
</VirtualHost>

<VirtualHost *:80>
 ServerAdmin info@localhost
 DocumentRoot C:/xampp/htdocs/
 ServerName localhost

 <Directory "C:/xampp/htdocs/">
 Options Indexes FollowSymLinks Includes ExecCGI
 AllowOverride All
 Order allow,deny
 Allow from all
 </Directory>
</VirtualHost>

Es gibt bei den Einträgen einiges zu beachten: Wichtig ist, dass der letzte Block immer auf das allgemeine htdocs-Verzeichnis zeigt. Ansonsten werden alle Anfragen zu eurem neuen virtuellem Host umgeleitet. Außerdem habe ich die Erfahrung gemacht, dass Apache Probleme macht wenn man bei der Verzeichnisangabe den Backslash (“\”) als Ordnertrenner nutzt. Benutzt hier nur den normalen Slash. Achtet auch darauf, dass jede Pfadangabe mit einem Slash endet.

Speichert die Datei wieder ab und startet Apache neu. Jetzt solltet ihr ohne Probleme eure neue Subdomain erreichen können.

 

Kommentare

Auf dieses Thema gibt es 3 Reaktionen

  1. Samuel Herzog

    Danke für den Beitrag,
    weiß noch wie lang und aussichtslos der Kampf für mich erschien, als ich das zum ersten Mal umsetzte.

    Umso unbezahlbarer das Lächeln und die Vorteile nachdem es geschafft war : )
    Posts wie diese hätten definitiv geholfen ;)

  2. Willich nichtsagen

    Es hat echt alles reibungslos geklapt!
    Ich hab so lange nach einem guten tutorial über das gesucht, was du hier in einfachen worten erklärst.
    DAUMEN HOCH!!

  3. Chris

    ist zwar schon eine ganze Weile her der Beitrag, aber er hat geholfen. Dankeschön!

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

 

Weitere Artikel der Kategorie Allgemein

Allgemein, Webdesign

UI Design: 13 Schritte zum besseren Formular

Formulare im Internet sind der Schlüssel zur Kommunikation und Interaktion. Kaum eine Webseite kommt ohne sie aus, und nicht selten werden Formulare zur ersten Kontaktaufnahme genutzt. Es ist jedoch so, dass die Internetnutzer eigentlich keine Lust haben, Formulare auszufüllen. Es wird als lästig empfunden, und die Aufgabe eines Webdesigners sollte es sein, das Formular so

Weiterlesen ›

Allgemein, SEO

Irrtümer der Suchmaschinenoptimierung

Natürlich möchte jeder Webseitenbetreiber, dass seine Site bei Suchmaschinen wie Google “ganz oben” steht. Aufgrund der schieren Masse an Webseiten ist dies teilweise unmöglich – hier soll gezielte Suchmaschinenoptimierung Abhilfe schaffen. Doch von offizieller Seite  (z.B. Google)  wird dem Webseitenbetreiber nicht verraten, welchen Regeln der Indexierung und Listung die Suchergebnisseite folgt. Einige Basisregeln sind allgemein

Weiterlesen ›

Allgemein

VZ-Netzwerke: Es ist nicht alles Gold, was glänzt

So sehr ich soziale Netzwerke auch mag, aber unter der Fülle an Auswahl hat man sicherlich mehr oder weniger geliebte Anlaufpunkte. In Deutschland gehören wohl ohne Frage Facebook und die VZ-Netzwerke zu den Webseiten, die besonders oft angeklickt werden. Mit der Gefahr, mich als Mitläufer zu outen, muss ich sagen dass ich bei “meinVZ” nur

Weiterlesen ›