Dokumentation

Hier wird erklärt, wie du einige Apps und Einstellungen einrichtest, verwaltest oder veränderst.

Grundlegendes

Linux-Spezifisch

Domains zu apache2 hinzufügen

In dieser Anleitung erfährst du, wie du Domains (bzw. Aliase) zu einem Apache2-Webserver hinzufügst.

Dafür habe ich ein kleines Skript entwickelt. Du kannst es mit

wget https://emilschlampp.de/downloads/domain.sh

herunterladen.

Du solltest die Integrität des Skriptes verifizieren, bevor du es ausführst!

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!

Skript ausführen

Als nächstes muss das Skript ausführbar gemacht werden:
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>

HTTPS mit Certbot aktivieren (Optional)

Unter Debian-Derivaten lässt sich Certbot mit apt installieren:
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

Automatische HTTPS-Weiterleitung (Optional)

Wenn man nun auch möchte, dass man automatisch auf die sichere Seite weitergeleitet wird, lässt sich das mit einem kleinen Eintrag zwischen die <VirtualHost>-Abschnitten in der Datei /etc/apache2/sites-available/<Domain>.conf erledigen:

RewriteEngine on

RewriteCond %{SERVER_NAME} = <Domain>

RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]