jaywink.letsencrypt

Estado de Construcción Ansible Galaxy Licencia

Ansible LetsEncrypt

Un rol para automatizar los certificados LetsEncrypt.

Estabilidad: beta.

Versión de Ansible requerida: 2.x

¿Qué hace?

Este rol descarga el cliente Certbot, lo instala y emite o renueva un certificado para tu dominio elegido.

La funcionalidad es la siguiente:

  • Probado en Ubuntu 14.04 y Debian 8, Debian 9
  • Solo un dominio por rol
  • Solo funciona en modo certonly

Las solicitudes de Pull son bienvenidas para incluir más funcionalidad.

Instalación

Puedes instalar el rol directamente desde Galaxy de la siguiente manera:

ansible-galaxy install jaywink.letsencrypt

Detalles

Ubicación y versión del cliente Cerbot

Ubuntu 14.04, Debian 8
  • El cliente se instalará en /opt/certbot como root.
  • Cada ejecución obtendrá el código del cliente Certbot de una versión probada. Puedes establecer una versión específica de Certbot usando la variable letsencrypt_certbot_version.
Debian 9
  • El cliente se instalará a través de APT en la ubicación estándar de la plataforma según la última versión en los repositorios.

Cosas a saber

  • Una lista de servicios que se detendrán antes y se reiniciarán después de obtener un nuevo certificado puede ser configurada usando la variable letsencrypt_pause_services.

  • Se utiliza el modo certonly, que significa que no se instalará automáticamente el servidor web.

  • Después de emitir el certificado, lo encontrarás en /etc/letsencrypt/live/<nombre_dominio>

    • Consejo: usa esto en tu configuración de Apache2, por ejemplo, en tu rol principal. ¡Solo asegúrate de no intentar iniciar Apache2 con el virtualhost activo sin que el rol LetsEncrypt se esté ejecutando primero!

      SSLCertificateFile /etc/letsencrypt/live/{{ letsencrypt_domain }}/cert.pem
      SSLCertificateKeyFile /etc/letsencrypt/live/{{ letsencrypt_domain }}/privkey.pem
      SSLCertificateChainFile /etc/letsencrypt/live/{{ letsencrypt_domain }}/chain.pem
      
  • ¡Nota! Si este rol falla en la parte de solicitud del certificado, es posible que hayas detenido servicios, ¡ten cuidado!

  • Si el certificado ya ha sido solicitado antes, este rol intentará renovarlo automáticamente, si es posible. Desactiva esta funcionalidad configurando letsencrypt_force_renew a false. En este caso, no se intentará la renovación si el certificado no está listo para renovación.

  • Un subdominio www. será solicitado automáticamente junto con el certificado.

    • Para desactivar este comportamiento, configura letsencrypt_request_www a false en tus variables.

Requisitos

Probado con lo siguiente:

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

Variables del Rol

Requeridas

  • letsencrypt_domain - Dominio para el cual es el certificado.
  • letsencrypt_email - Tu correo electrónico como propietario del certificado.

Opcionales

  • letsencrypt_certbot_args - Argumentos adicionales de línea de comando para pasar a Certbot, se combinarán con letsencrypt_certbot_default_args. Consulta la documentación de Certbot para los argumentos que puedes pasar.
  • letsencrypt_certbot_default_args - Consulta defaults/main.yml para ver cuáles son los argumentos predeterminados. También puedes sobreescribir todos los argumentos para Certbot, por ejemplo, para usar otro complemento, configurándolos con esta variable.
  • letsencrypt_certbot_verbose - Hacer que Certbot muestre salida en consola (predeterminado true).
  • letsencrypt_certbot_version - Establecer una versión específica de Certbot, por ejemplo, una etiqueta o rama de git. Ten en cuenta que la versión más baja de Certbot que soportamos es 0.6.0. No tiene efecto en Debian 9.
  • letsencrypt_force_renew - Si se debe intentar la renovación siempre, por defecto true.
  • letsencrypt_pause_services - Lista de servicios para detener/iniciar mientras se llama a Certbot.
  • letsencrypt_request_www - Solicitar www. automáticamente (predeterminado true).

Ejemplo de Playbook

Este rol funciona mejor cuando se incluye justo antes de tu rol principal del sitio. O se puede usar en un playbook individual, por ejemplo, como se muestra a continuación.

Este rol debe convertirse en root en el host de destino.

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

Licencia

MIT

Información del Autor

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

Un agradecimiento especial a Stefan Grönke (@gronke) por su trabajo en la expansión de este rol.

Consulta CONTRIBUTORS para ver la lista completa de contribuyentes.

Acerca del proyecto

A role to automate LetsEncrypt certificates.

Instalar
ansible-galaxy install jaywink.letsencrypt
Licencia
Unknown
Descargas
6.1k
Propietario
Pythonista and Djangonaut. Federated social web hacker. Author of Socialhome. Extinction Rebel.