Wie richte ich einen virtuellen Host in einem Apache Webserver ein?
Konfigurationsdatei erstellen
Zuerst erstellen wir die Konfigurationsdatei. Dies können wir mit VIM oder Nano erledigen:
vim /etc/apache2/sites-available/server.andydunkel.net.conf
Der Name ist frei wählbar, ich wähle hierbei den Domainnamen als Dateinamen.
Inhalt der Konfigurationsdatei
Die Datei befüllen wir mit folgenden Inhalt, welchen wir natürlich anpassen. Hier können wir das Verzeichnis festlegen, die Log-Dateien. Mittels „AllowOverride all“ schalten wir zudem die Möglichkeit für .htaccess Dateien frei.
<VirtualHost *:80> ServerAdmin andy.dunkel@ekiwi.de ServerName server.andydunkel.net ServerAlias server.andydunkel.net DocumentRoot /var/www/server.andydunkel.net ErrorLog ${APACHE_LOG_DIR}/server_andydunkel_error.log CustomLog ${APACHE_LOG_DIR}/server_andydunkel.log combined <Directory "/var/www/server.andydunkel.net"> AllowOverride All </Directory> </VirtualHost>
Die Einstellungen hier sind für die unverschlüsselte Http-Verbindung. Für verschlüsselte SSL-Verbindungen empfiehlt sich anschließend die Nutzung von LetsEncrypt, welches automatisch eine Konfiguration auf Basis der unverschlüsselten erstellt.
<IfModule mod_ssl.c> <VirtualHost *:443> ServerAdmin andy.dunkel@ekiwi.de ServerName server.andydunkel.net ServerAlias server.andydunkel.net DocumentRoot /var/www/server.andydunkel.net ErrorLog ${APACHE_LOG_DIR}/server_andydunkel_error.log CustomLog ${APACHE_LOG_DIR}/server_andydunkel.log combined SSLCertificateFile /etc/letsencrypt/live/h2981482.stratoserver.net/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/h2981482.stratoserver.net/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf </VirtualHost> </IfModule>
Aktivierung der Konfiguration
Die Konfiguration muss anschließend noch aktiviert werden:
a2ensite server.andydunkel.net.conf
Anschließend starten wir den Server neu:
systemctl restart apache2
Besitzer zuordnen
Wollen wir WordPress oder andere dynamische Inhalte darin laufen lassen, welche Dateien verändern oder ablegen, sollten wir den Besitzer, des oben festlegten Verzeichnisses, auf den Webserver abändern.
chown www-data:www-data -R *