Skip to main content

Certbot – Let’s encrypt Zertifikate automatisch erneuern unter Debian 9 Stretch

Ich habe bereits eine Anleitung geschrieben, wie ihr mit Certbot schnell Zertifikate erstellen könnt. In dieser Anleitung geht es nun darum, wie ihr diese Zertifikate automatisch erneuern lassen könnt.

Das automatische Erneuern lässt sich mit folgendem Befehl durchführen

Wenn ihr den Befehl testen wollt, dann könnt ihr ihn einfach in der Console eingeben mit folgendem Parameter:

Dies bewirkt, dass das Update nur simuliert wird und keine Änderung an den Zertifikaten vorgenommen wird.

Ich habe bei mir den Webserver nginx laufen. Daher verwende ich hier für die Beispiele immer diesen Webserver. Certbot lässt sich jedoch ebenso für apache2 oder andere Webserver nutzen.

Nun gibt es 2 Varianten, wie ihr die Zertifikate updaten könnt. Ihr müsst die Variante wählen, die ihr bereits zum Erstellen der Zertifikate genutzt habt oder die Datei „/etc/letsencrypt/renewal/eure_domain.conf“ anpassen.

Wenn ihr nicht wisst, welche Variante ihr wählen müsst, dann könnt ihr folgende Datei öffnen und nachschauen:

Dort sollte nun stehen:

1. Standalone

Wenn ihr den Webserver als „Standalone“ installiert habt, dann müsst ihr folgenden Befehl ausführen:

Der Befehl bewirkt, dass der nginx Server zuerst gestoppt wird, bevor das Zertifikat erneuert wird. Danach wird der Server wieder gestartet. Dies ist notwendig, da sonst der benötigte Port bereits von nginx belegt wird.

2.Webroot

Bei der Variante „Webroot“ muss dieser Befehl verwendet werden:

Bei dieser Variante bleibt nginx dauerhaft online.

Crontab anlegen

Nachdem ihr den obigen Befehl erfolgreich ausprobiert habt, legen wir jetzt einen Cronjob an, damit dieser automatisch ausgeführt wird.

Das geht mit

Wenn ihr noch keinen Crontab angelegt habt, dann sollte folgende Meldung erscheinen. Hier drückt ihr einfach „1“.

cert_3

Nun solltet ihr folgendes sehen.

cert_4

Fügt am Ende der Datei folgende Zeile ein:

Standalone

Webroot

Die erste Zeile ist notwendig, da später der Service „nginx“ gestartet werden soll. Dazu müssen hier erst die passenden Umgebungsvariablen gesetzt werden.

Erklärung

Das Skript wird also immer am 1. Tag jeden Monats nachts um 4:00 gestartet.

Quelle:

https://certbot.eff.org/docs/using.html#renewal

Christian

Christian

Ich studiere derzeit Informatik und betreibe in meiner Freizeit diesen Blog.
Auf die Idee kam ich, als ich Anleitungen zum Thema Debian gesucht habe. Leider waren viele Anleitungen veraltet und daher nutzlos.

Da kam ich auf die Idee selbst Anleitungen zu schreiben.
Wenn meine Anleitungen auch veraltet sein sollten, dann schreibt mir das bitte und ich versuche sie zu aktualisieren.

Wer mich (finanziell) unterstützen möchte, der kann mir hier gerne etwas spenden 🙂
PayPal
https://paypal.me/goNeuland
BTC
1GHRnh6DvdPE4FFpxGbEQu6m4sgnrjpoxM
ETH
0x53d3005663026F96e7cCCa39D14fA487e1072318

Danke 🙂
Christian

Christian

Ich studiere derzeit Informatik und betreibe in meiner Freizeit diesen Blog. Auf die Idee kam ich, als ich Anleitungen zum Thema Debian gesucht habe. Leider waren viele Anleitungen veraltet und daher nutzlos. Da kam ich auf die Idee selbst Anleitungen zu schreiben. Wenn meine Anleitungen auch veraltet sein sollten, dann schreibt mir das bitte und ich versuche sie zu aktualisieren. Wer mich (finanziell) unterstützen möchte, der kann mir hier gerne etwas spenden :) PayPal https://paypal.me/goNeuland BTC 1GHRnh6DvdPE4FFpxGbEQu6m4sgnrjpoxM ETH 0x53d3005663026F96e7cCCa39D14fA487e1072318 Danke :)

Kommentar zu “Certbot – Let’s encrypt Zertifikate automatisch erneuern unter Debian 9 Stretch”

  1. Hallo mit dem Befehl „certbot renew –dry-run“ hatte ich so meine Probleme.

    ERROR:
    Attempting to renew cert from /etc/letsencrypt/renewal/DOMAIN.conf produced an unexpected error: Failed authorization proc edure. www.DOMAIN.com (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.DOMAIN.com/.well-known/acme-challenge/wwoQ3_MwarLECvHB24drpN0MuZVkrR67XKoSiMf3aE156: "

    Lösung brachte folgendes in den vHosts:

    location ~ /.well-known {
    allow all;
    root /var/www/letsencrypt/;
    }

    Grüße

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.