Du entscheidest, welche Dienste wir zur Analyse, Personalisierung und für externe Inhalte aktivieren dürfen.
Wir verwenden Cookies und ähnliche Technologien auf unserer Website, um Inhalte zu personalisieren, externe Medien einzubinden und die Nutzung einzelner Bereiche besser zu verstehen.
Notwendige Cookies
Diese Einträge sichern Grundfunktionen wie Sicherheit, Stabilität und Formularverarbeitung.
Optionale Bereiche
AnalyseMarketingPersonalisierungExterne Medien
Die Datenverarbeitung kann mit deiner Einwilligung oder auf Basis berechtigter Interessen erfolgen. In den Cookie-Einstellungen kannst du jeder optionalen Kategorie widersprechen oder sie gezielt freigeben.
Einige Services verarbeiten personenbezogene Daten in Drittländern. Mit deiner Einwilligung akzeptierst du auch diese Übermittlung. Weitere Informationen findest du in unserer Datenschutzerklärung.
Deine Auswahl kann später jederzeit erneut geöffnet und angepasst werden. · 1.0.2
Certbot auf einem Linux Server einrichten – Sichere deine Websites mit Let's Encrypt SSL
Entdecke, wie du deine Website mit kostenlosen SSL-Zertifikaten via Certbot und Let's Encrypt absicherst für sichere Datenübertragung → Jetzt mehr erfahren
29. September 20266 Min. Lesezeit4 Aufrufe0 hilfreich
Einführung
SSL-Zertifikate sind ein essenzieller Bestandteil des Internets und sorgen dafür, dass Daten sicher zwischen Client und Host übertragen werden können. In dieser Anleitung zeigen wir dir, wie du das Open-Source-Tool Certbot einrichtest, um kostenlose SSL-Zertifikate von der gemeinnützigen Zertifizierungsstelle Let's Encrypt anzufordern.
FAQ
Häufig gestellte Fragen
Du brauchst einen Linux Server und eine eigene Domain mit Zugriff auf die DNS-Einstellungen. Für jede Root-Domain oder Subdomain musst du einen A-DNS-Eintrag anlegen, der auf die IP-Adresse deines Linux-Servers zeigt.
Mit dem Befehl sudo apt install certbot.
Certbot ist ein Open-Source-Tool, mit dem du kostenlose SSL-Zertifikate von der gemeinnützigen Zertifizierungsstelle Let's Encrypt anforderst.
Nginx wird empfohlen, da es ein performanter und beliebter Open-Source-Webserver ist. Hilfe zur Einrichtung findet sich in der Linux-Reverse-Proxy-Anleitung.
Feedback
War dieser Artikel hilfreich?
Deine Rückmeldung hilft uns, Inhalte besser zu priorisieren und zu überarbeiten.
0 von 0 Rückmeldungen fanden diesen Artikel hilfreich.
Persönliche Hilfe
Die Anleitung reicht nicht?
Unser ZAP-Support kennt dein Produkt — beschreib kurz dein Anliegen und wir helfen dir persönlich weiter.
Navigation
Software
Vorbereitung
Um Certbot nutzen zu können, brauchst du einen Linux Server und eine Domain, die dir gehört. Du musst Zugriff auf die DNS-Einstellungen der Domain haben und musst für jede Root-Domain oder Subdomain, die du verwenden möchtest, einen A DNS-Eintrag anlegen, der auf die IP-Adresse deines Linux Servers zeigt.
Certbot bietet außerdem zusätzliche Plugins, mit denen du Zertifikate für Domains mit nur einem Klick einrichten kannst – kompatibel mit verschiedenen Webservern wie Nginx oder Apache. Wir empfehlen Nginx, da es ein performanter und beliebter Open-Source-Webserver ist. Hilfe zur Einrichtung findest du in unserer Linux Reverse Proxy Anleitung.
Installation
Starte mit der Installation des Open-Source-Pakets Certbot, mit dem du kostenlose SSL-Zertifikate von Let's Encrypt anfordern kannst.
Code
sudo apt install certbot
Nachdem Certbot installiert ist, kannst du Zertifikate für deine Domain(s) anfordern. Let's Encrypt und Certbot bieten verschiedene ACME-Challenges, um den Besitz der Domain zu verifizieren.
Wir empfehlen dringend die Standardmethode HTTP-01, da sie automatische Erneuerungen ermöglicht. Falls du damit Probleme hast, kannst du alternativ die DNS-01 Methode nutzen, die manuell ist und keine automatische Erneuerung unterstützt, da sie auf der Verifizierung über einen TXT DNS-Eintrag basiert.
Tipp
Nutze Webserver-Plugins
Wenn du einen Webserver wie Nginx, Apache oder deinen eigenen Webserver nutzt, empfehlen wir dir, direkt zum Abschnitt Webserver-Plugins weiter unten zu springen. Dort zeigen wir, wie du zusätzliche Certbot-Plugins für diese Webserver nutzt, um eine „One-Click“-Installation zu machen und Zertifikate anzufordern, ohne den Webserver stoppen zu müssen.
HTTP-01 Challenge
Mit installiertem Certbot kannst du jetzt Zertifikate für deine Domain(s) anfordern. In diesem Beispiel verwenden wir den Standalone-Modus, bei dem Certbot einen temporären Webserver startet, um die notwendigen Aktionen durchzuführen. Das bedeutet, dass du Port 80 in deiner Firewall öffnen musst und keine anderen Webserver oder Dienste auf Port 80 laufen dürfen, damit der temporäre Webserver starten und die Challenge abgerufen werden kann (daher der Name HTTP in der Challenge).
Im folgenden Befehl nutzt du den Parameter --standalone, um Certbot mitzuteilen, dass du den temporären Webserver verwenden möchtest.
Nach Ausführung des Befehls wirst du möglicherweise durch eine erste interaktive Einrichtung geführt, bei der du eine E-Mail-Adresse für die Zertifikatskommunikation eingeben musst, gefolgt von einer optionalen Mailingliste und den AGB, denen du zustimmen musst.
Certbot generiert nun eine ACME-Challenge und hostet sie über den temporären Webserver. Die Let's Encrypt Server versuchen dann, diese von deinem Server abzurufen. Bei Erfolg werden die Zertifikate erstellt und unter /etc/letsencrypt/live/[deine_domain] gespeichert.
Du kannst die SSL-Zertifikate jetzt überall dort nutzen, wo du sie brauchst, indem du einfach den lokalen Pfad zu den Zertifikaten angibst.
TXT DNS-Eintrag
Falls du Probleme hast, deine Domain über die HTTP-01 Methode zu verifizieren, kannst du alternativ die DNS-01 Methode nutzen, bei der du einen TXT DNS-Eintrag mit einem von Let's Encrypt vorgegebenen Wert anlegen musst.
Wie bereits erwähnt, unterstützt diese Methode keine automatische Erneuerung, außer du richtest deine eigene Infrastruktur dafür ein. Deshalb empfehlen wir, wenn möglich die HTTP-01 Methode zu verwenden.
Im folgenden Befehl nutzt du den Parameter --preferred-challenges, um Certbot mitzuteilen, dass du die DNS-01 Methode verwenden möchtest.
Nach Ausführung des Befehls wirst du möglicherweise durch eine erste interaktive Einrichtung geführt, bei der du eine E-Mail-Adresse für die Zertifikatskommunikation eingeben musst, gefolgt von einer optionalen Mailingliste und den AGB, denen du zustimmen musst.
Certbot gibt dir nun Anweisungen, wie du einen TXT DNS-Eintrag mit einem bestimmten Wert anlegen musst. Der Ziel-Hostname ist typischerweise _acme-challenge. gefolgt von deiner Domain (in diesem Beispiel wäre das _acme-challenge.zapdocs.example.com). Den Wert findest du in der Konsole.
Nachdem du den Eintrag erstellt hast, drücke Enter, um fortzufahren. Wenn alles korrekt ist und sich der Eintrag verbreitet hat, werden die Zertifikate erstellt und unter /etc/letsencrypt/live/[deine_domain] gespeichert.
Info
Bitte hab Geduld, da DNS-Änderungen manchmal etwas Zeit brauchen, um sich zu verbreiten. Normalerweise dauert das nur wenige Minuten, in seltenen Fällen kann es aber auch länger dauern.
Du kannst die SSL-Zertifikate jetzt überall dort nutzen, wo du sie brauchst, indem du einfach den lokalen Pfad zu den Zertifikaten angibst.
Webserver-Plugins
Certbot bietet verschiedene zusätzliche Webserver-Plugins, die das Zertifikatsmanagement noch einfacher machen, da die Plugins automatisch die relevanten Server-Blöcke anpassen. Um ein Plugin zu nutzen, fügst du einfach den passenden Parameter zu deinem certbot Befehl hinzu.
Beide Methoden nutzen die HTTP-01 Challenge und funktionieren im Grunde gleich. Wenn eines der Plugins verwendet wird, sucht Certbot zuerst den Server-Block, der die angefragte Domain als server_name enthält. Dann generiert Certbot eine ACME-Challenge und fügt temporär einen location /.well-known/acme-challenge/... Block in die Server-Block-Konfiguration ein.
Die Let's Encrypt Server versuchen dann, die Challenge von deinem Server abzurufen. Bei Erfolg wird dein Zertifikat generiert und die Server-Block-Konfiguration des Webservers automatisch angepasst, um HTTPS (Port 443) zu nutzen und die Pfade zu den neuen Zertifikaten einzutragen.
Nginx Plugin
Bevor du das Plugin nutzt, stelle sicher, dass es installiert ist.
Code
sudo apt install python3-certbot-nginx
Um das Nginx Plugin zu verwenden, nutze den Parameter --nginx in deinem Befehl wie folgt.
Wenn du automatische „One-Click“-Anpassungen der Server-Blöcke durch Certbot deaktivieren möchtest, kannst du den Parameter certonly hinzufügen, z.B. certbot certonly.
Apache Plugin
Bevor du das Plugin nutzt, stelle sicher, dass es installiert ist.
Code
sudo apt install python3-certbot-apache
Um das Apache Plugin zu verwenden, nutze den Parameter --apache in deinem Befehl wie folgt.
Wenn du automatische „One-Click“-Anpassungen der Server-Blöcke durch Certbot deaktivieren möchtest, kannst du den Parameter certonly hinzufügen, z.B. certbot certonly.
Webroot Plugin
Wenn du deinen eigenen lokalen Webserver betreibst, der keine traditionellen Webserver-Softwares nutzt, möchtest du vielleicht die Webroot-Methode verwenden, um deinen Webserver weiterlaufen zu lassen, ohne ihn stoppen zu müssen.
Um das Webroot Plugin zu nutzen, verwende den Parameter --webroot in deinem Befehl. Zusätzlich musst du den Pfad zu deinem Webserver-Root-Verzeichnis mit -w [dein_webserver_pfad] (kurz für --webroot-path) angeben.
Ein häufiger Webroot-Pfad ist /var/www/html. Du kannst diese Methode auch für Webserver wie Nginx oder Apache nutzen, wenn du den Webserver weiterlaufen lassen möchtest, ohne automatische Server-Block-Anpassungen wie bei den nativen Plugins.
Automatische Erneuerung
In den meisten Fällen richtet Certbot die automatische Erneuerung der Zertifikate für dich ein – entweder über einen Cronjob oder einen systemd-Timer. Du kannst das mit folgendem Befehl testen, der die Erneuerung im Trockenlauf simuliert:
Code
certbot renew --dry-run
Tipp
Wie bereits erwähnt, unterstützt die DNS-01 Methode keine automatische Erneuerung via Certbot, außer du richtest deine eigene Infrastruktur dafür ein. Deshalb empfehlen wir, wenn möglich die HTTP-01 Methode.
Wenn alles wie erwartet funktioniert, sollte der Test erfolgreich sein. Möchtest du die automatische Erneuerung prüfen oder anpassen, findest du den entsprechenden Cronjob oder Timer in /etc/crontab/, /etc/cron.*/* oder über systemctl list-timers.
Manuelle Cronjob-Einrichtung
Falls die automatische Erneuerung nicht eingerichtet ist, kannst du sie selbst per Cronjob anlegen. Öffne dazu die Crontab mit crontab -e. Falls du das zum ersten Mal machst, wirst du aufgefordert, einen Editor auszuwählen – wähle die erste Option /bin/nano.
Im geöffneten Nano-Editor fügst du folgende Zeile hinzu, um die Erneuerung täglich um 6 Uhr morgens lokal auszuführen:
Code
0 6 * * * certbot renew
Speichere die Datei und beende Nano mit CTRL + X, bestätige mit Y und drücke ENTER.
Abschluss
Du hast Certbot erfolgreich für deine Domain(s) eingerichtet – egal ob im Standalone-Modus, per Webroot oder mit einem der Plugins – und sorgst so für sichere Datenübertragung via HTTPS auf deiner Website. Bei Fragen oder Problemen steht dir unser Support-Team täglich zur Seite! 🙂
Server-Hosting ab 2,49 €/Mo., sofort online, DDoS-Schutz inklusive.