Für die VirtualHost-Konfiguration eines Apache-Webservers gibt es eine einheitliche Verzeichnisstruktur, an die man sich halten sollte. Einzelne VirtualHost-Konfigurationsdateien befinden sich auf Debian-basierenden Distributionen grundsätzlich im Verzeichis /etc/apache2/sites-available/
. Wenn ein VirtualHost aktiviert wird, wird einfach ein SymLink im Verzeichnis /etc/apache2/sites-enabled/
angelegt.
Zum komfortablen De- und Aktivieren von einzelnen VirtualHosts gibt es die Apache-Tools a2ensite
und a2dissite
, die jeweils als Parameter den Namen der VirtualHost-Konfigurationsdatei aus dem ersten Verzeichnis erwarten:
- VirtualHost aktivieren:
# a2ensite domainname.tld.conf
- VirtualHost deaktivieren:
# a2dissite domainname.tld.conf
Um eine neue VirtualHost-Konfiguration zu erstellen wird im Verzeichnis /etc/apache2/sites-available/
einfach eine neue Datei mit dem Dateinamen domainname.tld.conf
erstellt. Diese enthält optimalerweise zwei <VirtualHost>
-Sektionen: eine für normale Verbindungen auf Port 80 (HTTP) und einen für verschlüsselte Verbindungen auf Port 443 (HTTPS). Bei der VirtualHost-Konfiguration für HTTPS ist der einzige Unterschied, dass mit IfModule
überprüft wird, ob das SSL-Modul aktiviert ist, und dass die Pfade zum X.509-Zertifikat, dem privaten Schüssel und gegebenenfalls dem Intermediate-Zertifikat mit angegeben sind.
Nachdem man den neuen VirtualHost erstellt und mit a2ensite
aktiviert hat, muss man lediglich noch die Apache-Konfiguration mit # systemctl reload apache2
neu laden damit der VirtualHost einsatzbereit ist; ein Neustart ist nicht notwendig.