Hier wird erklärt, wie du einige Apps und Einstellungen einrichtest, verwaltest oder veränderst.
Dafür habe ich ein kleines Skript entwickelt. Du kannst es mit
wget https://emilschlampp.de/downloads/domain.sh
herunterladen.
Die Integrität verifizierst anhand der Dateisignaturen:
root@system:~$ sha256sum domain.sh
510d437a3298d9c96b19f109e0b3b460e0050409d0a01e5c25d4c9af5904db2a domain.sh
Sollte dort etwas anderes stehen, prüfe, ob du das Skript richtig heruntergeladen hast!
root@system:~$ chmod +x domain.sh
Und zuletzt kann es ausgeführt werden:
root@system:~$ ./domain.sh
Zuletzt bleibt nur noch die Domain einzugeben. Das Skript erledigt alles von selbst und legt eine Konfiguration unter /etc/apache2/sites-available/<Domain>.conf an.
Der Dokumentenroot befindet sich unter /var/www/<Domain>
root@system:~$ apt install certbot
Als nächstes muss man das Zertifikat beantragen:
root@system:~$ certbot certonly -d <Domain>
Um den Server mit HTTPS zu verwenden, muss eine entsprechende Konfiguration angelegt werden:
root@system:~$ nano /etc/apache2/sites-available/<Domain>-ssl.conf
Dort fügt man dann folgenden Code ein:
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/<Domain>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ServerName <Domain>
SSLCertificateFile /etc/letsencrypt/live/<Domain>/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/<Domain>/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>
Um die Seite zu aktivieren, kann man a2ensite verwenden:
a2ensite <Domain>
Und sollte nun den Webserver neustarten:
service apache2 restart
RewriteEngine on RewriteCond %{SERVER_NAME} = <Domain>
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]