1. Mit deinem Server verbinden
ssh root@DEINE_SERVER_IP
Oder verwende das Web-Terminal im Sitequest-Dashboard.
2. Certbot installieren
Am einfachsten geht die Installation über snap:
apt update
apt install -y snapd
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot
3. Zertifikat erhalten
Für Nginx
certbot --nginx -d example.com -d www.example.com
Certbot wird automatisch:
- Prüfen, ob du Inhaber der Domain bist (per HTTP-Challenge auf Port 80)
- Das Zertifikat von Let's Encrypt erhalten
- Deine Nginx-Konfiguration automatisch für HTTPS anpassen
- Eine Weiterleitung von HTTP auf HTTPS einrichten
Für Apache
certbot --apache -d example.com -d www.example.com
Der Ablauf ist der gleiche — Certbot erkennt deine Apache Virtual Hosts und konfiguriert SSL automatisch.
4. HTTPS testen
Nachdem Certbot fertig ist, besuche https://example.com im Browser. Du solltest ein gültiges Zertifikat sehen — ohne Warnungen.
Alternativ kannst du per Kommandozeile testen:
curl -I https://example.com
In der Ausgabe sollte HTTP/2 200 stehen, ohne Zertifikatfehler.
5. Automatische Verlängerung
Let's-Encrypt-Zertifikate laufen nach 90 Tagen ab. Certbot installiert einen systemd-Timer (oder Cron-Job), der sie automatisch erneuert. Prüfe, ob der Timer aktiv ist:
systemctl list-timers | grep certbot
Teste die Verlängerung, ohne Änderungen vorzunehmen:
certbot renew --dry-run
Wenn der Testlauf erfolgreich ist, werden deine Zertifikate automatisch vor Ablauf erneuert.
6. Manueller Nur-Zertifikat-Modus
Wenn du ein Zertifikat erhalten möchtest, ohne deine Webserver-Konfiguration zu ändern:
certbot certonly --webroot -w /var/www/html -d example.com
Die Zertifikatsdateien werden in /etc/letsencrypt/live/example.com/ gespeichert:
| Datei |
Zweck |
fullchain.pem |
Zertifikat + Zwischenkette |
privkey.pem |
Privater Schlüssel |
cert.pem |
Nur Zertifikat |
chain.pem |
Nur Zwischenkette |
Binde diese manuell in deine Nginx- oder Apache-Konfiguration ein.
Nginx-SSL-Konfiguration
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# Moderne SSL-Einstellungen
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
# HSTS (optional, empfohlen)
add_header Strict-Transport-Security "max-age=63072000" always;
}
7. Wildcard-Zertifikate
Um ein Wildcard-Zertifikat (z.B. *.example.com) zu erhalten, verwende die DNS-Challenge:
certbot certonly --manual --preferred-challenges dns -d "*.example.com" -d example.com
Certbot wird dich auffordern, einen TXT-DNS-Eintrag zu erstellen. Das kannst du über den Sitequest DNS-Manager tun. Warte nach dem Hinzufügen kurz auf die DNS-Propagierung und drücke dann Enter.
Fehlerbehebung
"Challenge failed"-Fehler:
- Stelle sicher, dass der A-Record deiner Domain auf die IP deines Servers zeigt
- Stelle sicher, dass Port 80 offen ist und dein Webserver läuft
- Prüfe, ob ein anderer Dienst Port 80 blockiert
"Too many certificates"-Fehler:
- Let's Encrypt hat Rate Limits: 50 Zertifikate pro Domain pro Woche
- Verwende beim Testen das
--staging-Flag, um Limits zu vermeiden
Zertifikat wird nicht erneuert:
- Führe
certbot renew --dry-run zur Diagnose aus
- Prüfe den Systemd-Timer:
systemctl status snap.certbot.renew.timer
Nächste Schritte