Mit dem Certbot-Script lassen sich kostenlose SSL-Zertifikate mit Let's Encrypt erstellen. Diese sind immer nur 90 Tage gültig, daher sollte man sie regelmäßig verlängern - oder automatisch per Cronjob verlängern lassen.
Zunächst solltest du überprüfen, ob Certbot einwandfrei funktioniert und das Zertifikat rein theoretisch verlängern würde. Dazu kannst du einen dry-run mit folgendem Befehl als Root-User ausführen:
sudo certbot renew --dry-run
Eine erfolgreiche Ausgabe sieht dann so aus:
root@vps:/home# sudo certbot renew --dry-run Saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Processing /etc/letsencrypt/renewal/domain.tld.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cert not due for renewal, but simulating renewal for dry run Plugins selected: Authenticator apache, Installer apache Simulating renewal of an existing certificate for domain.tld Performing the following challenges: http-01 challenge for domain.tld Waiting for verification... Cleaning up challenges - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - new certificate deployed with reload of apache server; fullchain is /etc/letsencrypt/live/domain.tld/fullchain.pem - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations, all simulated renewals succeeded: /etc/letsencrypt/live/domain.tld/fullchain.pem (success) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Mit folgendem Befehl kannst du deine Zertifikate nun manuell verlängern. Das funktioniert übrigens immer ab 30 Tage vor Ablauf.
sudo certbot renew
Diesen Befehl kannst du nun auch einfach in einen Cronjob einbinden. Ein Cronjob ist eine automatisierte Aufgabe in Unix-basierten Betriebssystemen, die zu bestimmten Zeitpunkten oder in bestimmten Intervallen ausgeführt wird. Es ermöglicht Befehle oder Skripte so zu planen, dass sie regelmäßig und wiederholt auf dem System ausgeführt werden.
Verwende dazu den folgendem Befehl, um den Cronjob-Editor zu öffnen:
crontab -e
Füge hier folgende Zeile ein. In diesem Beispiel wird der Befehl zur Verlängerung täglich um 3 Uhr morgens ausgeführt.
0 3 * * 0 sudo certbot renew
Dein Server wird jetzt jeden Sonntag um 3 Uhr morgens den Befehl sudo certbot renew ausführen, um mögliche SSL-Zertifikate zu verlängern.
Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.
Über mich
Ich bin Janis (aka. EurenikZ), 25 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.