Artikelformat
28. September 2007

Linux Apache Virtual Host

Apache Virtual Host – namensbasiert

Ablauf Domainamfrage (im Browser) bis Darstellung der Inhalte durch ApacheDomainverwalter oder unser DNS Server Bind übernimmt Auflösung der Domains bzw. DNS-Routing und
bei Anfrage wird Domain an IP geleitet und Apache ordnet Domainnamen dem vhost-Verzeichnis zu.

Beispiel Grundvariante Apache Virtual Host

<VirtualHost *>
ServerName www.Domain.tld
ServerAlias Domain.tld *.Domain.tld
DocumentRoot /home/webserver/Domain-Verzeichnis
</VirtualHost>

Erweitertes Beispiel mit meheren Domains bzw. Apache Virtual Host

NameVirtualHost *
<VirtualHost *>
# Email Serveradmin
ServerAdmin webmaster@localhost

# Pfad des Webservers für alle Hosts
DocumentRoot /home/webserver/

# Direktiven für Apache
# Options FollowSymLinks = Symlinks folgen;
# Ich arbeite meist mit der Erlaubnis
# Options -Indexes = Keine Auflistung von Verzeichnissen unter Apache;
# Ich arbeite grundsätzlich ohne Listung
# Allow from all = Zugriff von überall;
# Bsp. Einschränkung: Allow from 192.168.1.2/255.255.255.0
# RedirectMatch ^/$ /apache2-default/= automatische Weiterleitung
# aller rein in Verzeichnis kommender Anfragen nicht in dieses Verzeichnis;
<Directory />
Options FollowSymLinks
AllowOverride None
Options -Indexes
Allow from all
</Directory>

# Verzeichnis für cgi-Skripte
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
# Apache Virtual Host Direktiven für cgi
<Directory “/usr/lib/cgi-bin”>
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

# vHost Verzeichnis und Name des Logfiles
ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

# Host benutzerdefiniertes Log
CustomLog /var/log/apache2/access.log combined
ServerSignature On

# Standard “Extra”-Verzeichnis unter Debian, somit optional
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>

<VirtualHost *>
#  Host Domain 1 Bsp. CMS Typo3
ServerName www.Domain1.tdl
ServerAlias Domain1.tdl *.Domain1.tdl
DocumentRoot /home/webserver/Typo3
</VirtualHost>

<VirtualHost *>
# Apache Virtual Host Domain 2 Bsp. CMS Exponent
ServerName www.Domain2.tdl
ServerAlias Domain2.tdl *.Domain2.tdl
DocumentRoot /home/webserver/Exponent
</VirtualHost>

<VirtualHost *>
# Host Domain 3 Bsp. CMS WordPress
ServerName www.Domain3.tdl
ServerAlias Domain3.tdl *.Domain3.tdl
DocumentRoot /home/webserver/Wordpress
</VirtualHost>