Diese Seite hier wird zwar direkt bei Strato gehostet, allerdings leite ich eine Subdomain an meinen heimischen Mac. Dies geht in der Kombination Strato/Fritz!Box recht einfach.
Zuerst bei Strato zur Domain-Verwaltung und bei der gewünschten Domain auf "verwalten" klicken.Unter Internet > Freigaben > Dynamic DNS lässt sich der Strato-Account sehr einfach anlegen.
Noch die gewünschten Ports an den gewünschten Server weiterleiten.
Fertig.
Was, wenn ich nun noch eine zweite Sub-Domain anlegen will, die ebenfalls in mein Heimnetz und/oder ebenfalls auf meinen Server geleitet werde soll?
Auch keine große Sache...
Zweite Subdomain bei Strato anlegen
Wir legen wie vorhin eine weitere Subdomain bei Strato an.In der Verwaltung der Subdomain aktivieren wir allerdings nicht wieder Dynamic DNS, sondern ändern den CNAME-Record (Canonical Name; Anerkannter Name).
Danach (oder nach spätestens 24 Stunden) leiten die im Beispiel angelegten Subdomains daheim.apfel-z.net und heim.apfel-z.net beide auf denselben Server bei mir zu Hause und würden beim Aufruf im Browser dieselbe Website anzeigen (vorausgesetzt natürlich, meine Firewall lässt Port 80 zu einem Server durch, auf dem Apache eine Website ausliefert).
Nun soll die Subdomain daheim.apfel-z.net allerdings eine andere Website als heim.apfel-z.net ausliefern.
Zweite Subdomain am Mac einrichten
In meinem Fall handelt es sich um einen macMini mit MacOS X 10.6
An der Vorgehensweise mit Apache sollte sich in weiteren MacOS-X-Versionen allerdings nicht viel geändert haben.
Status Quo
Standard-Webroot ist das Verzeichnis /Library/WebServer/Documents/
Sowohl die Anfragen an daheim.apfel-z.net wie auch an heim.apfel-z.net landen hier.
Wir legen einen neuen Ordner heim.apfel-z.net in diesem Verzeichnis an, in welchem die Website für diese Suddomain lagern soll.
Danach noch eine kleine Änderung in der Apache-Konfiguration:
Sicherstellen, dass das vhost-Modul aktiv (also nicht mit # auskommentiert) ist:
Ebenso sicherstellen, dass die httpd-vhosts.conf geladen wird und nicht auskommentiert ist:
Zwar könnte man die folgende Konfiguration auch direkt in der httpd.conf machen und auf die httpd-vhosts.conf verzichten, der Ordnung und Übersichtlichkeit zu liebe lagere ich allerdings lieber aus.
Virtuelle Hosts anlegen
Für jede Subdomain benötigen wir einen <wikitext><VirtualHost *:80/></wikitext>-Eintrag, wobei man beachten sollte, dass der erste Eintrag der Fallback-Eintrag für nicht spezifizierte Subdomains und Zugriffe aus dem lokalen Netzwerk via IP-Adresse darstellt.
In unserem Fall:
ServerAdmin webmaster@xyz.net
DocumentRoot "/Library/WebServer/Documents"
ServerName apfel-z.net
ServerAlias daheim.apfel-z.net
ErrorLog "/private/var/log/apache2/daheim.apfel-z.net-error_log"
CustomLog "/private/var/log/apache2/daheim.apfel-z.net-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@xyz.net
DocumentRoot "/Library/WebServer/Documents/heim.apfel-z.net"
ServerName apfel-z.net
ServerAlias heim.apfel-z.net
ErrorLog "/private/var/log/apache2/heim.apfel-z.net-error_log"
CustomLog "/private/var/log/apache2/heim.apfel-z.net-access_log" common
</VirtualHost>
Etwas unschön ist in diesem Fall, dass ich auf diese Art über die Adresse http://daheim.apfel-z.net/heim.apfel-z.net/ Zugriff auf das Root-Verzeichnis der zweiten Sub-Domain bekomme, weil daheim.apfel-z.net alles im Documents-Ordner ausliefert und heim.apfel-z.net im Documents-Ordner liegt.
Die zweite Subdomain in einem anderen Ordner als den Documents-Ordner abzulegen hatte bei mir nicht funktioniert, da Apache wohl keine Zugriffsrechte außerhalb des Documents-Ordner hat.
Deshalb empfehle ich, auch die "Haupt-Subdomain" in einem Unterordner innerhalb des Documents-Ordner abzulegen:
ServerAdmin webmaster@xyz.net
DocumentRoot "/Library/WebServer/Documents/daheim.apfel-z.net"
ServerName apfel-z.net
ServerAlias daheim.apfel-z.net
ErrorLog "/private/var/log/apache2/daheim.apfel-z.net-error_log"
CustomLog "/private/var/log/apache2/daheim.apfel-z.net-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@xyz.net
DocumentRoot "/Library/WebServer/Documents/heim.apfel-z.net"
ServerName apfel-z.net
ServerAlias heim.apfel-z.net
ErrorLog "/private/var/log/apache2/heim.apfel-z.net-error_log"
CustomLog "/private/var/log/apache2/heim.apfel-z.net-access_log" common
</VirtualHost>
Der Documents-Ordner enthält nun also nur noch die beiden Verzeichnisse daheim.apfel-z.net und heim.apfel-z.net. Der vorherige Inhalt des Documents-Ordners wurde in daheim.apfel-z.net verschoben.
Apache über die Systemeinstellungen > Freigaben > Webfreigabe neu starten (Haken kurz raus und wieder rein) und die Sache sollte laufen.
Nicht wundern, wenn das Ergebnis nicht gleich wie gewünscht sein sollte: Es kann bis zu 24 Stunden dauern, bis die bei Strato angelegten DNS-Einträge sich im gesamten Internet verbreitet haben.
Die zweite Subdomain hatte bei mir einen Tag lang trotz aller Konfiguration am Mac dasselbe angezeigt wie die erste Subdomain. Dies ist ein normales Verhalten.
Wie ruft man die weitere Subdomain lokal auf?
Arbeite ich lokal am Server, gelange ich bei der Eingabe von localhost oder 127.0.0.1 zur ersten Subdomain.Wie gelange ich zur zweiten Subdomain, ohne den Umweg raus in's Internet über den Domain-Namen machen zu müssen? Durch einen weiteren <wikitext><VirtualHost *:80/></wikitext>-Eintrag in der vhosts-Datei:
ServerAdmin webmaster@xyz.net
DocumentRoot "/Library/WebServer/Documents/heim.apfel-z.net"
ServerName meinserver.local
ServerAlias heim.localhost
ErrorLog "/private/var/log/apache2/heim.apfel-z.net-error_log"
CustomLog "/private/var/log/apache2/heim.apfel-z.net-access_log" common
</VirtualHost>
...und eine Erweiterung der hosts-Datei:
# Hinzufügen:
127.0.0.1 heim.localhost
![]() ![]() ![]() ![]() |
|
Erstellt am: 02.12.2015 unter den Kategorien Selbstgehostet Grundlagen Online Aufgebohrt . | Kommentieren |