Ziel dieses Tutorial ist eine weiter Domain oder Subdomain (dev.example.com) mit eigenem DocumentRoot dem Webserver Apache hinzufügen.
01. Backup erstellen
Mach ein Backup von /etc/apache2
# cp -r /etc/apache2 /var/backups/apache2_original
Falls nachträglich etwas schief geht, kannst du das Backup unter /var/backups/apache2_original jederzeit wieder einspielen!
02. DocumentRoot erstellen
Normalerweise befindet sich DocumentRoot auf /var/www/html falls keine eigenen Regeln vergeben wurden. Wir erstellen nun einen Ordner unter /var/www/html, welcher auf die neue Webseite zeigt:
# mkdir dev.example.com
03. Seiten unter /etc/apache2 definieren
Unter /etc/apache2/sites-available erstellen wir nun zwei weitere Dokumente, welche auf die neue Domain oder Subdomain verweisen. Eine Datei verweist dabei auf VirtualHost *:80 und eine auf VirtualHost *:443. Aktiviere nach dem Erstellen der beiden Dateien die virtuellen Hosts mit a2ensite dev.example.com. Dieser Befehl macht nicht anderes, als die beiden Dateien nach /etc/apache2/sites-enabled zu kopieren. Dies kann auch manuell erledigt werden. Am Ende den Webserver noch neu starten:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/dev.example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} = dev.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/dev.example.com
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ServerName dev.example.com
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/dev.example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/dev.example.com/privkey.pem
</VirtualHost>
<IfModule>

04. example.com und dev.example.com haben nun separate DocumenRoot
hier am Beispiel mit meiner Testdomain jirah.ch und dev.jirah.ch. Falls du ein SSL-Zertifikat benötigst, müssen die DNS Einträge auf den Server (IP) zeigen.