usegalaxy_eu.certbot
Ansible Rolle: Certbot (für Let's Encrypt)
Installiert und konfiguriert Certbot (für Let's Encrypt).
Anforderungen
Wenn Sie aus dem Quellcode installieren, ist Git erforderlich. Sie können Git mit der Rolle geerlingguy.git
installieren.
Rollenvariablen
Die Variable certbot_install_from_source
steuert, ob Certbot aus Git oder über das Paketmanagement installiert werden soll. Letzteres ist der Standard, daher ist die Variable standardmäßig auf nein
gesetzt.
certbot_auto_renew: true
certbot_auto_renew_user: "{{ ansible_user }}"
certbot_auto_renew_stunde: 3
certbot_auto_renew_minute: 30
Standardmäßig konfiguriert diese Rolle einen Cron-Job, der unter dem angegebenen Benutzerkonto zu der angegebenen Stunde und Minute jeden Tag ausgeführt wird. Die Standardwerte führen certbot renew
(oder certbot-auto renew
) über Cron jeden Tag um 03:30:00 unter dem Benutzer aus, den Sie in Ihrem Ansible-Playbook verwenden. Es wird empfohlen, einen benutzerdefinierten Benutzer/Stunde/Minute festzulegen, damit die Erneuerung in einer verkehrsarmen Zeit und von einem Nicht-Root-Benutzerkonto durchgeführt wird.
Installation aus Quelle (Git)
Falls gewünscht, können Sie Certbot aus dem Git-Quell-Repository installieren. Dies kann in mehreren Fällen nützlich sein, insbesondere wenn ältere Distributionen keine Certbot-Pakete anbieten (z. B. CentOS < 7, Ubuntu < 16.10 und Debian < 8).
certbot_install_from_source: nein
certbot_repo: https://github.com/certbot/certbot.git
certbot_version: master
certbot_keep_updated: ja
Optionen für das Certbot Git-Repository. Um aus dem Quellcode zu installieren, setzen Sie certbot_install_from_source
auf ja
. Dadurch wird das konfigurierte certbot_repo
geklont, wobei die Einstellung certbot_version
beachtet wird. Wenn certbot_keep_updated
auf ja
gesetzt ist, wird das Repository jedes Mal aktualisiert, wenn diese Rolle ausgeführt wird.
certbot_dir: /opt/certbot
Das Verzeichnis, in das Certbot geklont wird.
DNS-Anbieter
Wenn Sie einen DNS-Anbieter wie Cloudflare oder ähnliches verwenden, sind die folgenden Variablen verfügbar:
certbot_dns_provider: cloudflare
certbot_dns_credentials:
api_token: ihr_dns_anbieter_api_token
certbot_dns_provider_propagation_seconds: 60
Gültige Optionen für certbot_dns_credentials
variieren je nach DNS-Anbieter. Siehe certbot --help all
für Details.
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: server
vars:
certbot_auto_renew_user: ihr_benutzername_hier
certbot_auto_renew_minute: 20
certbot_auto_renew_hour: 5
# certbot_agree_tos: "--agree-tos" # Kommentieren Sie mich ein, um zuzustimmen
roles:
- geerlingguy.certbot
Nach der Installation können Sie Zertifikate mit dem Skript certbot
(oder certbot-auto
) erstellen, das standardmäßig im konfigurierten certbot_dir
installiert wird (bei Verwendung von Git). Hier sind einige Beispielbefehle zur Konfiguration von Zertifikaten mit Certbot:
# Automatisch Zertifikate für alle Apache-virtuellen Hosts hinzufügen (vorsichtig verwenden!).
/opt/certbot/certbot-auto --apache
# Zertifikate generieren, aber die Apache-Konfiguration nicht ändern (sicherer).
/opt/certbot/certbot-auto --apache certonly
Standardmäßig fügt diese Rolle einen Cron-Job hinzu, der alle installierten Zertifikate einmal täglich zu der von Ihnen gewählten Stunde und Minute erneuert.
Sie können die automatische Erneuerung testen (ohne das Zertifikat tatsächlich zu erneuern) mit dem Befehl:
/opt/certbot/certbot-auto renew --dry-run
Siehe vollständige Dokumentation und Optionen auf der Certbot-Website.
Lizenz
MIT / BSD
Autorinformationen
- Diese Rolle wurde 2016 von Jeff Geerling erstellt, Autor von Ansible for DevOps.
- Sie wurde von Galaxy Europe weiter modifiziert und gewartet.
Certbot with custom additions
ansible-galaxy install usegalaxy_eu.certbot