Apache: VirtualHosts

von Thomas Lange

Für die VirtualHost-Konfiguration eines Apache-Webservers gibt es eine einheitliche Verzeichnisstruktur, an die man sich halten sollte. Einzelne VirtualHost-Konfigurationsdateien befinden sich 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 Aktivieren und Deaktivieren 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 Verfasser

Hi. Mein Name ist Thomas und ich bin nicht gut im Schreiben von Vorstellungen. Ich mag die IT und liebe es mit GNU\Linux zu arbeiten. Auf diesem Blog gibt es Beiträge über die verschiedensten Dinge, die mich beschäftigen oder interessieren (dieses Blogsystem ist eine Eigenentwicklung). Deine Fragen, Ergänzungen und Korrekturen zu Inhalten kannst du mir gerne per Mail mitteilen. 😊