L-P.acmetool
ansible-role-acmetool
Installer, configurer et exécuter acmetool
pour générer des certificats TLS Let's Encrypt.
acmetool
sera configuré pour utiliser son mode redirector
. Il écoutera sur le port 80 et redirigera (HTTP 308) tout ce qui n'est pas une demande de défi.
Consultez acme sur GitHub pour plus de détails.
Exigences
become: true
est requis car la plupart des actions doivent être exécutées en tant que root, le reste sera exécuté sousacme
qui sera créé par le rôle.Vous devez ouvrir le port 80/TCP pour que
acmetool
puisse servir des défis.Comme le mode
redirector
est utilisé par défaut, aucun serveur HTTP n'est nécessaire pour fonctionner. Vous pouvez installer le serveur de votre choix après avoir exécuté ce rôle afin qu'il puisse utiliser les certificats générés.Choisissez votre fournisseur et définissez son point d'accès API dans
acmetool_server
, voir ci-dessous.Le package
cron
est requis pour le renouvellement automatique.
Variables de rôle
Requis
# Adresse utilisée pour enregistrer des domaines auprès de LetsEncrypt.
acmetool_email: "[email protected]"
# liste d'espaces des domaines à enregistrer.
acmetool_domains: "www.example.com example.com"
Autres
# Serveur CA. Cela utilise par défaut le serveur acme-staging à des fins de test.
# Vous devez le changer pour le serveur de production :
# https://acme-v01.api.letsencrypt.org/directory
acmetool_server: "https://acme.example.com/directory"
# Changez ceci en RSA si votre serveur ne prend pas en charge les clés EC (ex. murmur).
acmetool_key_type: "ecdsa"
# Si vous ne faites pas confiance à acmetool pour exécuter des hooks en tant que root (sudo), définissez ceci sur false.
acmetool_enable_hooks: false
Voir les paramètres par défaut pour la liste complète.
Exemple de Playbook
- hosts: all
roles:
- { role: "L-P.acmetool", become: true }
Parce que sur Debian, les services sont automatiquement activés et démarrés avec leur configuration par défaut lors de leur installation, nginx échouera à s'installer et laissera dpkg dans un état semi-cassé.
Pour éviter cela, vous pouvez exécuter le play suivant entre l'installation de
acmetool et nginx. Il ne s'exécutera que si nginx n'est pas encore configuré.
- hosts: all
become: true
tasks:
- name: Arrêter acmetool
tags: "nginx"
command: "service acmetool stop"
args:
creates: "/etc/nginx/nginx.conf"
Vous pouvez adapter cela pour tout autre service qui échoue de la même manière.
Licence
MIT