jaywink.letsencrypt

Build-Status Ansible Galaxy Lizenz

Ansible LetsEncrypt

Eine Rolle zur Automatisierung von LetsEncrypt-Zertifikaten.

Stabilität: Beta.

Erforderliche Ansible-Version: 2.x

Was macht es?

Diese Rolle installiert den offiziellen Certbot-Client und stellt ein Zertifikat für Ihre gewählte Domain aus oder erneuert es.

Funktionalität:

  • Getestet auf Ubuntu 14.04 und Debian 8, Debian 9
  • Nur eine Domain pro Rolleneinbeziehung
  • Läuft nur im certonly Modus

Pull-Requests sind willkommen, um zusätzliche Funktionen hinzuzufügen.

Installation

Sie können die Rolle direkt von Galaxy wie folgt installieren:

ansible-galaxy install jaywink.letsencrypt

Einzelheiten

Cerbot-Client-Standort und Version

Ubuntu 14.04, Debian 8
  • Der Client wird als Root in /opt/certbot installiert.
  • Jeder Lauf zieht den Certbot-Client-Code von einer stabilen Versionsfreigabe. Sie können eine spezifische Certbot-Version mit der Variable letsencrypt_certbot_version festlegen.
Debian 9
  • Der Client wird über APT an den standardmäßigen Plattformstandort gemäß der neuesten Version in den Repositories installiert.

Wichtige Informationen

  • Eine Liste von Diensten, die vor der Beantragung und (Wieder-)Inbetriebnahme eines neuen Zertifikats gestoppt werden sollen, kann mit der Variablen letsencrypt_pause_services konfiguriert werden.

  • Der Modus certonly wird verwendet, was bedeutet, dass keine automatische Webserver-Installation erfolgt.

  • Nach der Ausstellung des Zertifikats finden Sie es in /etc/letsencrypt/live/<domainname>

    • Tipp: Verwenden Sie dies in Ihrer Apache2-Konfiguration, z.B. in Ihrer Hauptrolle. Stellen Sie sicher, dass Sie Apache2 nicht starten, während der virtuelle Host aktiv ist, ohne zuerst die LetsEncrypt-Rolle auszuführen!

      SSLCertificateFile /etc/letsencrypt/live/{{ letsencrypt_domain }}/cert.pem
      SSLCertificateKeyFile /etc/letsencrypt/live/{{ letsencrypt_domain }}/privkey.pem
      SSLCertificateChainFile /etc/letsencrypt/live/{{ letsencrypt_domain }}/chain.pem
      
  • Hinweis! Wenn diese Rolle im Zertifikatsantragsteil fehlschlägt, könnten Sie Dienste gestoppt haben – seien Sie vorsichtig!

  • Wenn das Zertifikat zuvor beantragt wurde, versucht diese Rolle automatisch, es zu erneuern, wenn möglich. Deaktivieren Sie diese Funktionalität, indem Sie letsencrypt_force_renew auf false setzen. In diesem Fall wird keine Erneuerung versucht, wenn das Zertifikat nicht zur Erneuerung fällig ist.

  • Eine www.-Subdomain wird automatisch zusammen mit dem Zertifikat angefordert.

    • Um dieses Verhalten zu deaktivieren, setzen Sie letsencrypt_request_www in Ihren Variablen auf false.

Anforderungen

Getestet mit den folgenden:

  • Ubuntu 14.04 und Debian 8, Debian 9
  • Apache2 und Nginx
  • Ansible 2.x

Rollenvariablen

Erforderlich

  • letsencrypt_domain - Domain, für die das Zertifikat ist.
  • letsencrypt_email - Ihre E-Mail-Adresse als Zertifikatsinhaber.

Optional

  • letsencrypt_certbot_args - Zusätzliche Befehlszeilenargumente, die an Certbot übergeben werden sollen – werden mit letsencrypt_certbot_default_args kombiniert. Siehe die Certbot-Dokumentation für Argumente, die Sie übergeben können.
  • letsencrypt_certbot_default_args - Bitte sehen Sie defaults/main.yml, was die Standardargumente sind. Sie können alle Argumente für Certbot überschreiben, z.B. um ein anderes Plugin zu verwenden.
  • letsencrypt_certbot_verbose - Lassen Sie Certbot Ausgaben auf der Konsole machen (Standard true).
  • letsencrypt_certbot_version - Setzen Sie eine spezifische Certbot-Version, z.B. ein Git-Tag oder einen Branch. Beachten Sie, dass die niedrigste unterstützte Version von Certbot 0.6.0 ist. Hat keine Auswirkung auf Debian 9.
  • letsencrypt_force_renew - Ob die Erneuerung immer versucht werden soll, Standard ist true.
  • letsencrypt_pause_services - Liste von Diensten, die während des Aufrufs von Certbot gestoppt/starten werden sollen.
  • letsencrypt_request_www - Automatische Anfrage von www. (Standard true).

Beispiel-Playbook

Diese Rolle funktioniert am besten, wenn sie direkt vor Ihrer Hauptstartrolle eingefügt wird, z.B. oder sie kann in einem individuellen Playbook verwendet werden, z.B. wie folgt.

Diese Rolle sollte Root-Rechte auf dem Zielhost erhalten.

---
- hosts: myhost
  become: yes
  become_user: root
  roles:
    - role: ansible-letsencrypt
      letsencrypt_email: [email protected]
      letsencrypt_domain: example.com
      letsencrypt_pause_services:
        - apache2

Lizenz

MIT

Autor Informationen

Jason Robinson (@jaywink) - mail@jasonrobinson.me - https://jasonrobinson.me - https://twitter.com/jaywink

Besonderer Dank an Stefan Grönke (@gronke) für seine Arbeit zur Erweiterung dieser Rolle.

Siehe CONTRIBUTORS für eine vollständige Liste der Mitwirkenden.

Über das Projekt

A role to automate LetsEncrypt certificates.

Installieren
ansible-galaxy install jaywink.letsencrypt
Lizenz
Unknown
Downloads
6.1k
Besitzer
Pythonista and Djangonaut. Federated social web hacker. Author of Socialhome. Extinction Rebel.