VirtualHost

Aus Cowwwiki
Zur Navigation springen Zur Suche springen

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>