usegalaxy_eu.certbot
Rol de Ansible: Certbot (para Let's Encrypt)
Instala y configura Certbot (para Let's Encrypt).
Requisitos
Si se instala desde el código fuente, se requiere Git. Puedes instalar Git usando el rol geerlingguy.git
.
Variables del Rol
La variable certbot_install_from_source
controla si se debe instalar Certbot desde Git o mediante gestión de paquetes. Esta última es la opción por defecto, por lo que la variable predeterminada es no
.
certbot_auto_renew: true
certbot_auto_renew_user: "{{ ansible_user }}"
certbot_auto_renew_hour: 3
certbot_auto_renew_minute: 30
Por defecto, este rol configura un trabajo cron para que se ejecute bajo la cuenta de usuario proporcionada a la hora y minuto dados, todos los días. Por defecto, ejecuta certbot renew
(o certbot-auto renew
) a través de cron todos los días a las 03:30:00 por el usuario que uses en tu playbook de Ansible. Se recomienda que configures un usuario/hora/minuto personalizado para que la renovación se realice durante un período de baja actividad y sea hecha por una cuenta de usuario que no sea root.
Instalación desde el código fuente de Git
Puedes instalar Certbot directamente desde su repositorio de código fuente de Git si lo deseas. Esto puede ser útil en varios casos, especialmente cuando distribuciones más antiguas no tienen paquetes de Certbot disponibles (por ejemplo, CentOS < 7, Ubuntu < 16.10 y Debian < 8).
certbot_install_from_source: no
certbot_repo: https://github.com/certbot/certbot.git
certbot_version: master
certbot_keep_updated: yes
Opciones del repositorio de Certbot. Para instalar desde el código fuente, establece certbot_install_from_source
a yes
. Esto clona el certbot_repo
configurado, respetando la configuración de certbot_version
. Si certbot_keep_updated
se establece en yes
, el repositorio se actualizará cada vez que este rol se ejecute.
certbot_dir: /opt/certbot
El directorio en el que se clonará Certbot.
Proveedores de DNS
Si usas un proveedor de DNS como Cloudflare o similar, las siguientes variables están disponibles:
certbot_dns_provider: cloudflare
certbot_dns_credentials:
api_token: tu_token_api_proveedor_dns
certbot_dns_provider_propagation_seconds: 60
Las opciones válidas para certbot_dns_credentials
varían según el proveedor de DNS. Consulta certbot --help all
para más detalles.
Dependencias
Ninguna.
Ejemplo de Playbook
- hosts: servidores
vars:
certbot_auto_renew_user: tu_nombre_de_usuario_aqui
certbot_auto_renew_minute: 20
certbot_auto_renew_hour: 5
# certbot_agree_tos: "--agree-tos" # Descomenta para aceptar
roles:
- geerlingguy.certbot
Después de la instalación, puedes crear certificados usando el script certbot
(o certbot-auto
), que por defecto se instala dentro del certbot_dir
configurado (cuando se usa Git). Aquí hay algunos comandos de ejemplo para configurar certificados con Certbot:
# Agregar automáticamente certificados para todos los virtualhosts de Apache (usa con precaución).
/opt/certbot/certbot-auto --apache
# Generar certificados, pero no modificar la configuración de Apache (más seguro).
/opt/certbot/certbot-auto --apache certonly
Por defecto, este rol añade un trabajo cron que renovará todos los certificados instalados una vez al día a la hora y minuto que elijas.
Puedes probar la auto-renovación (sin renovar realmente el certificado) con el siguiente comando:
/opt/certbot/certbot-auto renew --dry-run
Consulta la documentación completa y las opciones en el sitio web de Certbot.
Licencia
MIT / BSD
Información del Autor
- Este rol fue creado en 2016 por Jeff Geerling, autor de Ansible for DevOps.
- Ha sido modificado y mantenido por Galaxy Europe.
Certbot with custom additions
ansible-galaxy install usegalaxy_eu.certbot