Benutzer-Werkzeuge

Webseiten-Werkzeuge


lets_encrypt

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
lets_encrypt [2017/03/10 21:26]
root [Certbot]
lets_encrypt [2018/10/23 19:34] (aktuell)
root [Zertifikat ohne Plugin verlängern]
Zeile 111: Zeile 111:
  
      
 +====== HowTo ======
 +
 +===== Zertifikat ohne Plugin verlängern =====
 +
 +  * Bei der Installation von certbot über einen Packagemanager wird in der Regel auch ein Cron-Scrip für die Erneuerung der Zertifikate installiert
 +
 +Im Fall von Debian sieht das so aus:
 +<code>
 +/usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew
 +</code>
 +
 +Im Prinzip ist es certbot renew. \\
 +Renew setzt aber Voraus das es ein Plugin im Webserver nutzen kann um Authentifzierung und Installation der Zertifikate durchführen zu können und das bei der Erst-Installation des Zertifikats diese Methode genutzt wurde.
 +\\ \\
 +Um eine andere Authentifizierungsmethode zu nutzen um das Zertifikat zu erneuern kann der cron-Job diesen Befehl ausführen:
 +<code>
 +certbot certonly -n --<Methode> [Optional notwendige Optionen] -d <Domain> | grep 'Certificate not yet due' || systemctl restart <someservice>
 +</code>
 +
 +  * -n -> Non-Interactive -> Frage nicht den Benutzer nach Eingaben -> alle notwendigen Eingaben müssen in Form von Parametern vorhanden sein
 +  * <code>--<Method></code> -> Authentifizierungsmethode -> z.B. webroot
 +  * [Optional notwendige Optionen] -> Die Optionen die notwendig sind damit certonly mit der gewählten Authentifizierungsmethode ohne Benutzerinteraktion arbeiten kann. Vorher auf der Kommandozeile manuell testen, die Option -n gibt aus welche Optionen ggf. nötig sind
 +  * -d <Domain> -> die Domain für die Aktion durchgeführt werden soll (ggf. mehrfach angeben wenn mehrere Domains)
 +  * der Rest -> certbot liefert als Return-Value immer 0 zurück, auch wenn es nichts geändert hat. D.h. auch wenn kein neues Zertifikat bezogen wurde würde ggf. ein daran hängender Dienst neugestartet. Das grep prüft ob das Zertifikat nicht erneuert wurde und nur wenn es nicht-nicht erneuert wurde (also erneuert wurde) wird der Dienst im Befehl nach || neugestartet
 +
 +Beispiel:
 +<code>
 +certbot certonly -n --webroot -w /var/www/someforum/ -d forum.test.de | grep 'Certificate not yet due' || systemctl restart apache2.service
 +</code>
 +
 +Obiges Beispiel erneuert das Zertifikat für Domain forum.test.de, mit Authentifizierungsmethode webroot, der Pfad um die Authentifizierungsdaten zu hinterlegen ist /var/www/someforum/ und wenn das Zertifikat erneuert wurde wird apache neugestartet.
 +
 +
 +<WRAP center round important 60%>
 +Vor certbot muss der Pfad gestellt werden wo certbot installiert ist -> im Fall von Debian /usr/bin/
 +</WRAP>
 +
 ====== Troubleshooting ====== ====== Troubleshooting ======
  
Zeile 157: Zeile 194:
  
  
 +===== Zertifikate werden nicht automatisch verlängert =====
  
 +  * Cron-Job nicht vorhanden 
 +  * Es wurde eine andere Authentifizierungsmethode als "--apache" gewählt (aka. das erste Zertifikat für die Domain wurde nicht per certbot run bzw. nur certbot erstellt) 
 +      * certbot renew - das ist der Befehl der durch das per Default installierte cron-Script genutzt wird, kann  Zertifikate nur erneuern wenn es ein Plugin für den Webserver hat und darüber die Authentifizierung und Installation des Zertifikates machen kann 
 +      * Lösung siehe Howto -> Zertifikat ohne Plugin erneuern
lets_encrypt.1489177601.txt.gz · Zuletzt geändert: 2017/03/10 21:26 von root