software:letsencrypt

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
Letzte ÜberarbeitungBeide Seiten der Revision
software:letsencrypt [2021/02/05 13:13] – [Apache] stsoftware:letsencrypt [2022/03/16 22:06] – [Benutzung] st
Zeile 16: Zeile 16:
 :!: Da letsencrypt hat die [[https://community.letsencrypt.org/t/how-to-stop-using-tls-sni-01-with-certbot/83210|Methode TLS-SNI-01 entfernt]], daher ist nun mindestens **certbot --version >= 0.28** nötig. :!: Da letsencrypt hat die [[https://community.letsencrypt.org/t/how-to-stop-using-tls-sni-01-with-certbot/83210|Methode TLS-SNI-01 entfernt]], daher ist nun mindestens **certbot --version >= 0.28** nötig.
  
-==== Debian 10 ====+==== Debian 10 + 11 ====
  
 <code bash>apt install certbot python3-certbot-apache python3-certbot-nginx</code> <code bash>apt install certbot python3-certbot-apache python3-certbot-nginx</code>
Zeile 51: Zeile 51:
 **generisch**: **generisch**:
 <code bash> <code bash>
-./letsencrypt-auto certonly --rsa-key-size 3072 -d DOMAIN.tld -d www.DOMAIN.tld+certbot --rsa-key-size 3072 -d DOMAIN.tld -d www.DOMAIN.tld
 </code> </code>
  
-bei Apache + standalone-Variante vorher Webserver stoppen: +==== Hooks ====
-<code>letsencrypt certonly --pre-hook "systemctl stop apache2" --post-hook "systemctl start apache2" --rsa-key-size 3072 -d DOMAIN.tld -d www.DOMAIN.tld </code>+
  
 +Die wichtigsten hooks:
 +  * pre-hook + post_hooks (Befehle die vorher bzw. nachher laufen)
 +  * deploy_hooks (nach erfolgreicher Verlängerung z.B. zur Installation des Zertifikats)
  
 +Beispiel: bei standalone-Variante Webserver lighttpd (der keine Integration hat) stoppen ((allerdings wäre hier die Methode webroot sinnvoller)):
 +<code bash>certbot certonly --pre-hook "systemctl stop lighttpd" --post-hook "systemctl start lighttpd" --rsa-key-size 3072 -d DOMAIN.tld -d www.DOMAIN.tld </code>
 +
 +Es können auch mehrere Befehle (innerhalb eines hooks) angegeben werden: <code>--pre-hook "service apache2 stop ; service postfix stop"</code>
  
 ==== Zertifikate verlinken ==== ==== Zertifikate verlinken ====
Zeile 114: Zeile 120:
 pre_hook = systemctl stop apache2 pre_hook = systemctl stop apache2
 </file> </file>
 +
 +===== Integrationen =====
  
 ==== Apache ==== ==== Apache ====
 +
 +<code bash>apt install python3-certbot-apache</code>
 +
 +<code bash>certbot certonly --apache --deploy-hook "systemctl restart apache2" -d $Domain</code>
  
 /etc/letsencrypt/renewal/$Domain.conf /etc/letsencrypt/renewal/$Domain.conf
Zeile 124: Zeile 136:
 </file> </file>
  
-Es können auch mehrere Befehle (Dienste) angegeben werden: 
  
-<code>--pre-hook "service apache2 stop ; service postfix stop"</code>+==== nginx ====
  
 +<code bash>apt install python3-certbot-nginx</code>
  
- +<code bash>certbot certonly --nginx --deploy-hook "systemctl restart nginx" -d $Domain</code>
-==== nginx ==== +
- +
-apt install python3-certbot-nginx+
  
 /etc/letsencrypt/renewal/$Domain.conf /etc/letsencrypt/renewal/$Domain.conf
Zeile 149: Zeile 158:
 $Domain = /var/www/default/html $Domain = /var/www/default/html
 </file> </file>
 +
  
 ==== cronjob ==== ==== cronjob ====
Zeile 161: Zeile 171:
 0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew 0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew
 </file> </file>
 +
 +
 +==== deploy_hooks reparieren (mit ansible) ====
 +
 +Die Verlängerung der Zertifikate funktioniert aber der Service der sie benutzt wird oft nicht vor Ablauf des Zertifikats neu gestartet?
 +Dafür sind die hooks da, inbesondere der deploy_hook.
 +
 +Falls diese fehlen korrigiert das folgende playbook die deploy_hook (und optional noch die pre_hook or post_hook):
 +
 +[[https://gist.github.com/stefanux/11955353ea4f8002b73e433cbb5dc72e|gist]]:
 +<html><script src="https://gist.github.com/stefanux/11955353ea4f8002b73e433cbb5dc72e.js"></script></html>
 +