Mit Let's Encrypt und Certbot lässt sich unter Debian 13 innerhalb weniger Minuten ein kostenloses SSL-Zertifikat für Apache2 einrichten und automatisch verlängern.
In diesem Beitrag zeige ich Schritt für Schritt, wie du Certbot unter Debian 13 installierst und direkt mit Apache2 verwendest.
Voraussetzungen
Bevor du beginnst, sollten folgende Punkte erfüllt sein:
- Debian 13 Server installiert
- Apache2 läuft bereits
- Eine Domain zeigt auf den Server
- Port 80 und 443 sind erreichbar
- Root- oder sudo-Zugriff vorhanden
Prüfen:
apache2 -v
oder
sudo systemctl status apache2
System aktualisieren
Zunächst das System auf den aktuellen Stand bringen:
sudo apt update sudo apt upgrade -y
Certbot installieren
Unter Debian 13 befindet sich Certbot direkt in den Paketquellen.
Installation:
sudo apt install certbot python3-certbot-apache -y
Prüfen:
certbot --version
Beispiel:
certbot 3.x.x
Apache-Konfiguration prüfen
Vor der Zertifikatserstellung sollte Apache fehlerfrei laufen.
Konfiguration testen:
sudo apachectl configtest
Ausgabe:
Syntax OK
Anschließend Apache neu laden:
sudo systemctl reload apache2
VirtualHost kontrollieren
Für jede Domain sollte ein eigener VirtualHost vorhanden sein.
Beispiel:
sudo nano /etc/apache2/sites-available/example.com.conf
Inhalt:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com
ErrorLog ${APACHE_LOG_DIR}/example-error.log
CustomLog ${APACHE_LOG_DIR}/example-access.log combined
</VirtualHost>
Site aktivieren:
sudo a2ensite example.com.conf sudo systemctl reload apache2
Firewall prüfen
Falls UFW verwendet wird:
sudo ufw status
Erforderliche Freigaben:
sudo ufw allow 80/tcp sudo ufw allow 443/tcp
Alternativ:
sudo ufw allow "Apache Full"
SSL-Zertifikat erstellen
Für eine Domain:
sudo certbot --apache -d example.com
Für mehrere Domains:
sudo certbot --apache \ -d example.com \ -d www.example.com
Beispiel einer erfolgreichen Ausstellung
Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/example.com/fullchain.pem Key is saved at: /etc/letsencrypt/live/example.com/privkey.pem
HTTPS-Weiterleitung aktivieren
Certbot fragt normalerweise:
Please choose whether or not to redirect HTTP traffic to HTTPS
Empfehlung:
2: Redirect
Dadurch werden Besucher automatisch auf HTTPS umgeleitet.
Zertifikate anzeigen
Installierte Zertifikate:
sudo certbot certificates
Beispiel:
Found the following certs: Certificate Name: example.com
Automatische Verlängerung testen
Let's Encrypt Zertifikate sind 90 Tage gültig.
Certbot richtet automatisch einen Timer ein.
Status prüfen:
sudo systemctl status certbot.timer
Beispiel:
Active: active (waiting)
Test der automatischen Verlängerung
Dry-Run durchführen:
sudo certbot renew --dry-run
Erfolgreiche Ausgabe:
Congratulations, all simulated renewals succeeded.
Certbot-Timer prüfen
Nächsten Ausführungszeitpunkt anzeigen:
systemctl list-timers | grep certbot
Zertifikat manuell verlängern
Normalerweise nicht notwendig:
sudo certbot renew
Zertifikat für weitere Domains hinzufügen
Später zusätzliche Domains einbinden:
sudo certbot --apache \ -d example.com \ -d www.example.com \ -d blog.example.com
Apache SSL-Konfiguration anzeigen
Nach erfolgreicher Installation erzeugt Certbot automatisch eine SSL-Konfiguration.
Beispiel:
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile
/etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile
/etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
Zertifikat löschen
Vorhandene Zertifikate auflisten:
sudo certbot certificates
Löschen:
sudo certbot delete
Häufige Fehler
Timeout während der Validierung
Prüfen:
curl http://example.com
Firewall kontrollieren:
sudo ufw status
Port 80 bereits belegt
Prüfen:
sudo ss -tulpn | grep :80
Apache-Konfigurationsfehler
Test:
sudo apachectl configtest
DNS zeigt noch auf alten Server
Prüfen:
dig example.com
oder
host example.com
Sicherheitstipps
HSTS aktivieren
In der SSL-Konfiguration:
Header always set Strict-Transport-Security \ "max-age=31536000; includeSubDomains"
Modul aktivieren:
sudo a2enmod headers sudo systemctl reload apache2
SSL-Konfiguration testen
Sehr empfehlenswert:
- Qualys SSL Labs
- Mozilla Observatory
Damit lassen sich Schwachstellen und veraltete TLS-Konfigurationen erkennen.
Mit Certbot und Let's Encrypt lässt sich unter Debian 13 innerhalb weniger Minuten eine sichere HTTPS-Verschlüsselung für Apache2 einrichten. Die Installation erfolgt direkt aus den Debian-Paketquellen, die Zertifikate werden automatisch verlängert und Certbot übernimmt auf Wunsch sogar die komplette Apache-Konfiguration inklusive HTTPS-Weiterleitung.
Gerade für Blogs, Firmenwebseiten, Webanwendungen oder interne Portale ist dies der schnellste und einfachste Weg zu einer modernen und sicheren TLS-Verschlüsselung.