Certbot ist ein von der Electronic Frontier Foundation (EFF) entwickeltes Open-Source-Tool, das dazu dient, SSL/TLS-Zertifikate automatisch zu erstellen, zu aktualisieren und zu verwalten. Certbot unterstützt verschiedene Webserver, darunter Apache, Nginx.
Let's Encrypt ist eine Zertifizierungsstelle, die sich darauf spezialisiert hat, kostenlose SSL/TLS-Zertifikate auszustellen. Certbot hingegen ist ein Open-Source-Tool, das entwickelt wurde, um die Verwendung und Verwaltung dieser Let's Encrypt-Zertifikate auf Webservern zu erleichtern. Certbot ist speziell so konzipiert, dass es nahtlos mit Let's Encrypt zusammenarbeitet. Wenn du Certbot verwendest, werden die notwendigen Schritte für die Kommunikation mit Let's Encrypt-Servern, die Validierung der Domains und die Ausstellung von Zertifikaten automatisch durchgeführt.
Zunächst installierst du das Certbot-Script und das dazugehörige Phyton-Paket in einer Shell auf deinem Debian Server:
sudo apt install certbot python3-certbot-apache
Nach der Installation kannst du Certbot verwenden, um dein SSL/TLS-Zertifikat zu erhalten. Führe dazu den folgenden Befehl aus und gib apache als Parameter an:
sudo certbot --apache
Bei erstmaliger Verwendung erscheint nun folgende Ausgabe. Du musst zunächst einen Account anlegen und dazu deine E-Mail-Adresse angeben.
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel):
Als nächstes musst du die Nutzungsbedingungen akzeptieren. Setze dafür Y ab.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must agree in order to register with the ACME server. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y
Du wirst jetzt gefragt, ob du Neuigkeiten von der EFF per E-Mail erhalten möchtest. Das kannst du mit N verneinen.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: N
Dein Account wurde nun angelegt. Es ist aber noch keine Domain in der Konfiguration hinterlegt. Geben im letzten Schritt also deine Domain(s) an, für die das Zertifikat ausgestellt werden soll. Stelle sicher, dass der DNS-Record bereits auf deinen Server zeigt, damit Let's Encrypt die Domain verifizieren kann.
Account registered. No names were found in your configuration files. Please enter in your domain name(s) (comma and/or space separated) (Enter 'c' to cancel):
Das Script geht nun alle notwendigen Schritte für das SSL-Zertifikat durch. Dies kannst du in der Ausgabe verfolgen. Hat alles geklappt, erhältst du am Ende eine Erfolgsmeldung. Das Zertifikat wurde erfolgreich erstellt.
Requesting a certificate for domain.tld Performing the following challenges: http-01 challenge for domain.tld Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/000-default-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/000-default-le-ssl.conf Enabling available site: /etc/apache2/sites-available/000-default-le-ssl.conf Redirecting vhost in /etc/apache2/sites-enabled/000-default.conf to ssl vhost in /etc/apache2/sites-available/000-default-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://domain.tld - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Es dauert nun einige Minuten, bis die Website mit HTTPS erreichbar ist und ein gültiges SSL-Zertifikat angezeigt wird. Vergiss nicht, dass ein Let's Encrypt Zertifikat immer nur 90 Tage gültig ist und immer wieder verlängert werden muss.
Let’s Encrypt SSL-Zertifikate mit Certbot automatisch aktualisieren lassen
Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.

Über mich
Ich bin Janis (aka. EurenikZ), 26 Jahre alt und komme aus der Nähe von Frankfurt am Main. Ich habe eine abgeschlossene IHK-Ausbildung zum Fachinformatiker für Systemintegration und arbeite als Junior IT-Administrator in einem IT-Systemhaus. Neben meinem IT-Blog beschäftige ich mich viel mit diversen IT-Themen und meinen Webseiten sowie Telegram Bots und biete IT-Dienstleistungen an.