Dieses Tutorial erklärt, wie man via Let’s Encrypt seine Webserver Domain absichern kann und die Seite per https:// aufrufbar macht.
Abhängigkeiten für Certbot
Mit dem Certbot können wir schnell und einfach unser SSL Zertifikat erstellen lassen. Ebenfalls bietet es Auto-Renew. und Dry-Run Features zum testen.
Um den Certbot auf seinem Webserver zu installieren, müssen wir diese Abhängigkeiten installiert haben:
sudo apt install certbot python3-certbot-apache
Webserver und Firewall vorbereiten
Sind diese installiert, prüfen wir unsere Apache Einstellungen:
nano /etc/apache2/sites-available/<DOMAIN>.conf
Diese sollte ca. so aussehen (Natürlich mit eurer Domain, nicht meiner):

Um nun 100% Sicher zu sein, dass wirklich alles stimmt und die Syntax OK ist, können wir sie mit diesem Befehl prüfen:
sudo apache2ctl configtest
Der letzte Check (optional, wenn Ihr UFW benutzt) – ist, dass wir einmal prüfen, ob „Apache Full“ durch unsere Firewall kommunizieren kann:
sudo ufw status
In der Liste sollte unser „Apache Full“ zu sehen sein:

Wenn Ihr nur „Apache“ oder „Apache Secure“ dort seht, könnt Ihr diese mit folg. Befehl entfernen:
sudo ufw delete allow 'Apache'
Und mit diesem Befehl „Apache Full“ einfügen:
sudo ufw allow 'Apache Full'
Let’s Encrypt Zertifikat ausstellen
Mit dem folg. Befehl erstellt Ihr (fast) automatisch ein Zertifikat für euren Webserver:
sudo certbot --apache
Akzeptiert die EULA und gebt den Domain Namen ein. Wählt, ob Ihr www. oder ohne www. vorziehen wollt. Danach werdet Ihr gefragt, was mit Anfragen ohne https:// passieren soll.
Meine Empfehlung: Aktiviert NUR https:// Traffic, damit Ihr immer auf der sicheren Seite seid. Unverschlüsselter http:// Verkehr kann mitgelesen werden!
Nachdem Ihr den Dialog erfolgreich abgeschlossen habt, könnt Ihr die Seite mit https://NAME.COM aufrufen.

Certbot Auto-Renew prüfen
Dadurch, dass Zertbot einen Cronjob anlegt, werden Zertifikate kurz vor Ablauf neu generiert, damit Ihr immer ein gültiges Let’s Encrypt Zertifikat habt. Um den Job zu prüfen, könnt Ihr diesen Befehl nutzen:
sudo systemctl status certbot.timer
Ihr solltet nun unter „Active“ active (waiting) in grün sehen:

Zertifkat Ausstellung prüfen
Zum Schluss prüfen wir noch, ob unser Certbot auch nach Ablauf des Zertifikates – neue Zertifikate ausstellen kann. Dieser Befehl simuliert eine Zertifikat-Ausstellung:
certbot renew --dry-run
Nun prüft Certbot ob das Erneuern des Zertifikats funktioniert. Bei der Rückmeldung „Congratulations, all renewals succeeded.“ – hat alles geklappt!
