Apache: VirtualHosts

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.

Der Autor

Hi. Ich bin Thomas. Hier veröffentliche ich in unregelmäßgen Abständen mehr oder weniger interessante Beiträge über Dies und Jenes, hauptsächlich über Computer und IT. Außerdem mag ich die Linux-Kommandozeile, vor allem wenn ich darauf mit (m)einer mechanischen Tastatur herumhacken kann. 😀