Knowledgebase:Einrichten von Virtual Hosts bei Apache

From Cloudrexx Development Wiki
Jump to: navigation, search

Was ist ein Virtual Host?

Virtual Hosts werden dazu benutzt auf einem Server mehrere Domains oder IP-Adressen zu betreiben.

Dabei gibt es zwei Varianten von Virtual Hosts, diese sind IP-Based Virtual Host und Name-Based Virtual Host.
IP-basierte virtuelle Hosts verwenden die IP-Adresse der Verbindung, um den korrekten virtuellen Host zur Bedienung einer Anfrage zu ermitteln. Folglich benötigen Sie eine IP-Adresse für jeden virtuellen Host. Bei der Verwendung von namensbasierten virtuellen Hosts verlässt sich der Server darauf, dass der Client den Hostnamen als Bestandteil der HTTP-Header angibt. Durch Anwendung dieser Technik können sich mehrere verschiedene Hosts die gleiche IP-Adresse teilen.
Die Verwendung von namensbasierten virtuellen Hosts ist gewöhnlich einfacher. Sie müssen lediglich Ihren DNS-Server darauf einstellen, jeden Hostnamen auf die richtige IP-Adresse abzubilden, und dann den Apache HTTP Server so konfigurieren, dass er die verschiedenen Hostnamen erkennt. Namensbasierte virtuelle Hosts entschärfen auch den Bedarf an knappen IP-Adressen. Daher sollten Sie namensbasierte virtuelle Hosts verwenden, sofern kein besonderer Grund dafür existiert, IP-basierte virtuelle Hosts zu wählen.

Einrichten unter Windows

Öffnen Sie die vHost-Datei vom Apacheserver ihres XAMPPs unter: C:\XAMPP\apache\conf\extra\httpd-vhosts.conf, fügen Sie dort in der untersten Zeile:

################################################
# VirtualHost's
################################################
<VirtualHost *:80> 
    ServerName ihredomain.com
    DocumentRoot "<rootfolder(meist: htdocs)>/<contrexxfolder>"
</VirtualHost>

Optional zu den Virtual Hosts unter Windows

Optional könne Sie, wenn Sie möchten localhost durch einen beliebigen Domainnamen, den Sie im Browser eingeben, ersetzen. Indem Sie folgende Schritte befolgen:

Öffnen Sie die Hosts-Datei auf ihrem Computer mit einem Texteditor. Die Datei finden Sie unter: C:\Windows\System32\drivers\etc\hosts, fügen Sie dort in der untersten Zeile folgendes ein: 127.0.0.1 ihredomain.com www.ihredomain.com

Nun können Sie mit ihrem Browser über ihren gewählten Domainnamen auf ihre Website zugreifen. (Dies funktioniert aber nur lokal.)

Einrichten unter Linux Ubuntu

Im Verzeichnis /etc/apache2/sites-available/ befindet sich die Datei default. Diese kann man als Vorlage für die weiteren virtuellen Hosts verwenden. Für jeden virtuellen Host wird dann eine eigene Datei angelegt.
Auch sollte die default-Site nicht deaktiviert werden, da die darin enthaltene "NameVirtualHost"-Direktive erst den Betrieb von Virtual Hosts möglich macht.
Im Folgenden wird die Standardkonfigurationsdatei des Virtuellen Hosts "default" erklärt, die einzelnen Direktiven sind Links in die deutschsprachige Apache-Dokumentation, wo weitere Informationen verfügbar sind. Am Besten speichert man den Inhalt dieser Datei neu unter /etc/apache2/sites-available/.
Schriben Sie nun folgendes in /etc/apache2/sites-available/<virtualhostname> :

################################################
# VirtualHost's
################################################
<VirtualHost *:80> 
    ServerName ihredomain.com
    DocumentRoot "<rootfolder>(meist: htdocs)/<contrexxfolder>"
</VirtualHost>

Der <virtualhostname> Dateiname muss zwingend auf .conf enden!

Optinal zu den Virtual Hosts unter Ubuntu

Optional könne Sie, wenn Sie möchten localhost durch einen beliebigen Domainnamen, den Sie im Browser eingeben, ersetzen. Indem Sie folgende Schritte befolgen:

Öffnen Sie die Hosts-Datei auf ihrem Computer: gedit /opt/lampp/etc/httpd.conf, fügen Sie dort in der untersten Zeile folgendes ein: 127.0.0.1 ihredomain.com www.ihredomain.com

Nun können Sie mit ihrem Browser über ihren gewählten Domainnamen auf ihre Website zugreifen. (Dies funktioniert aber nur lokal.)