VirtualHost
Der Apache2 Webserver unterstützt sog. VirtualHosts. VirtualHosts werden verwendet, wenn auf einem Webserver und einer IP-Adresse mehrere Webprojekte laufen sollen. Der Apache2 Webserver kann anhand des Domainaufrufes die Webprojekte unterscheiden und automatisch in ein anderes Verzeichnis navigieren.
So wird z. B. beim Aufruf von www.beispiel.de der Ordner /var/www/beispiel/index.html
aufgerufen, während beim Aufruf von www.example.com der Ordner /var/www/example/index.html
verwendet wird. Die VirtualHosts werden i. d. R. in der Apache-Config hinterlegt.
Installation
Natürlich muss der apache2 Webserver installiert sein. Falls noch nicht geschehen, kann dies mit
apt-get install apache2
nachgeholt werden.
Je nach Distribution gibt es für die VirtualHosts einen eigenen Bereich, z. B. lautet dieser bei Ubuntu /etc/apache2/sites-available
.
Hier wird pro VirtualHost je eine Datei angelegt (aus Übersichtlichtkeit).
Zuvor muss man die VirtualHosts aber aktivieren, indem man in der Datei /etc/apache2/sites-available/default
NameVirtualHost *
einkommentiert. Diese Datei auf keinen Fall löschen!!!
Neuen VirtualHost einrichten
Die Datei default ist standardmäßig immer vorhanden und kann als Vorlage für weitere VirtualHosts verwendet werden. Man findet sie unter /etc/apache2/sites-available
Man kann aber auch folgende Datei als Grundstruktur hernehmen, die ich an meine Konfiguration entsprechend angepasst haben:
<VirtualHost *>
ServerName mail02.netbens.de
ServerAdmin webmaster@netbens.de
DocumentRoot /var/www/horde/
<Directory /var/www/horde/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
und jetzt mit a2ensite
aktivieren und Apache mit
service apache2 reload
neu laden.