Nginx mit Let's Encrypt auf einem KVM-Server installieren
In dieser Anleitung wird gezeigt, wie du auf einem KVM-Server unter Linux Nginx installierst, eine Domain konfigurierst und anschließend ein kostenloses SSL-Zertifikat von Let's Encrypt einrichtest.
Nginx mit Let's Encrypt auf einem KVM-Server installieren
Mit Nginx und einem kostenlosen SSL-Zertifikat von Let's Encrypt lässt sich eine Website innerhalb weniger Minuten sicher über HTTPS bereitstellen.
Voraussetzungen
Vor Beginn sollten folgende Voraussetzungen erfüllt sein:
- Ein KVM-Server mit Ubuntu oder Debian
- Root-Zugriff oder ein Benutzer mit sudo-Rechten
- Eine registrierte Domain
- Die Domain zeigt bereits auf die IP-Adresse des Servers
- Port 80 (HTTP) und Port 443 (HTTPS) sind in der Firewall freigegeben
Schritt 1: System aktualisieren
Zunächst sollte das System auf den aktuellen Stand gebracht werden:
apt update && apt upgrade -y
Schritt 2: Nginx installieren
Installiere Nginx über die Paketverwaltung:
apt install nginx -y
Anschließend prüfen, ob der Dienst läuft:
systemctl status nginx
Nginx starten und beim Systemstart aktivieren:
systemctl enable --now nginx
Schritt 3: Firewall konfigurieren
Falls UFW verwendet wird:
ufw allow 'Nginx Full' ufw reload
Alternativ müssen die Ports 80 und 443 in der jeweiligen Firewall freigegeben werden.
Schritt 4: Domain konfigurieren
Erstelle eine neue Konfigurationsdatei:
nano /etc/nginx/sites-available/meinedomain.de
Beispielkonfiguration:
server {
listen 80;
server_name meinedomain.de www.meinedomain.de;
root /var/www/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
Datei speichern und aktivieren:
ln -s /etc/nginx/sites-available/meinedomain.de /etc/nginx/sites-enabled/
Konfiguration prüfen:
nginx -t
Nginx neu laden:
systemctl reload nginx
Schritt 5: Certbot installieren
Let's Encrypt-Zertifikate werden mit Certbot erstellt.
Ubuntu / Debian:
apt install certbot python3-certbot-nginx -y
Schritt 6: SSL-Zertifikat erstellen
Führe folgenden Befehl aus:
certbot --nginx -d meinedomain.de -d www.meinedomain.de
Während der Einrichtung werden einige Fragen gestellt:
- E-Mail-Adresse angeben
- Nutzungsbedingungen akzeptieren
- HTTPS-Weiterleitung aktivieren (empfohlen)
Nach erfolgreicher Ausstellung passt Certbot die Nginx-Konfiguration automatisch an.
Schritt 7: Zertifikat testen
Öffne die Website im Browser:
https://meinedomain.de
Ein gültiges SSL-Zertifikat sollte nun aktiv sein.
Automatische Verlängerung prüfen
Let's Encrypt-Zertifikate sind 90 Tage gültig. Certbot richtet normalerweise automatisch eine Verlängerung ein.
Test der automatischen Erneuerung:
certbot renew --dry-run
Wenn keine Fehler erscheinen, funktioniert die automatische Verlängerung korrekt.
Fehlerbehebung
Zertifikat kann nicht erstellt werden
Prüfe, ob die Domain korrekt auf den Server zeigt:
ping meinedomain.de
Port 80 nicht erreichbar
Kontrolliere die Firewall:
ufw status
Nginx-Konfiguration fehlerhaft
Konfiguration testen:
nginx -t
Anschließend die gemeldeten Fehler korrigieren und Nginx neu laden:
systemctl reload nginx
Fazit
Mit Nginx und Let's Encrypt lässt sich auf einem KVM-Server schnell und kostenlos eine HTTPS-gesicherte Website bereitstellen. Durch die automatische Zertifikatsverlängerung bleibt die SSL-Verschlüsselung dauerhaft aktuell und erfordert in der Regel keine weitere Wartung.
