Certbot installieren
Certbot richtet automatisch kostenlose SSL/TLS-Zertifikate von Let's Encrypt ein und konfiguriert damit HTTPS für deinen Webserver. Diese Anleitung geht von einem bereits installierten nginx auf Debian/Ubuntu aus.
Voraussetzungen
- Ein laufender nginx-Webserver mit eingerichtetem Server-Block für deine Domain
- Eine Domain, deren DNS A-Record bereits auf die IP-Adresse deines Servers zeigt
- Freigegebene Ports 80 und 443 in der Firewall
Installation
Paketquellen aktualisieren:
bashsudo apt updateCertbot inklusive nginx-Plugin installieren:
bashsudo apt install certbot python3-certbot-nginx -y
Zertifikat ausstellen
Certbot mit dem nginx-Plugin ausführen und dabei deine Domain(s) angeben:
bashsudo certbot --nginx -d deinedomain.de -d www.deinedomain.deFolge den interaktiven Anweisungen:
- E-Mail-Adresse für Sicherheits- und Ablaufbenachrichtigungen eingeben
- Nutzungsbedingungen von Let's Encrypt akzeptieren
- Optional: automatische Weiterleitung von HTTP auf HTTPS aktivieren (empfohlen)
Certbot passt die nginx-Konfiguration automatisch an und lädt nginx neu. Rufe anschließend
https://deinedomain.deim Browser auf, um das Zertifikat zu testen.
Die ausgestellten Zertifikate liegen danach unter:
/etc/letsencrypt/live/deinedomain.de/fullchain.pem
/etc/letsencrypt/live/deinedomain.de/privkey.pemAutomatische Verlängerung
Let's-Encrypt-Zertifikate sind nur 90 Tage gültig. Das certbot-Paket richtet dafür automatisch einen systemd-Timer bzw. Cronjob ein.
Automatische Verlängerung testen (führt keine echte Erneuerung durch):
bashsudo certbot renew --dry-runTimer-Status prüfen:
bashsudo systemctl status certbot.timer
Troubleshooting
- "Timeout during connect" / Validierung schlägt fehl: Stelle sicher, dass Port 80 erreichbar ist und dein DNS-Eintrag bereits korrekt auf die Server-IP zeigt (Propagation kann einige Minuten bis Stunden dauern).
- Zertifikat wird nicht erneuert: Prüfe die Logs unter
/var/log/letsencrypt/letsencrypt.logsowie den Status des Timers mitsudo systemctl status certbot.timer. - Mehrere Domains/Subdomains absichern: Führe
certbot --nginxerneut mit zusätzlichen-d-Parametern aus, um weitere Domains zum bestehenden oder einem neuen Zertifikat hinzuzufügen.