acmetool

ansible-role-acmetool

Установите, настройте и запустите acmetool для генерации TLS сертификатов Let's Encrypt.

acmetool будет настроен на использование режима redirector. Он будет слушать порт 80 и перенаправлять (HTTP 308) все, что не является запросом на вызов проверки.

Смотрите acme на GitHub для получения подробной информации.

Требования

  • Необходим флаг become: true, так как большинство действий нужно выполнять от имени root, остальные действия выполняются от имени acme, который будет создан ролью.

  • Вам нужно открыть порт 80/TCP, чтобы acmetool мог принимать запросы на проверку.

  • Поскольку по умолчанию используется режим redirector, HTTP сервер не требуется. Вы можете установить любой сервер, который хотите использовать после выполнения этой роли, чтобы он мог использовать сгенерированные сертификаты.

  • Выберите вашего провайдера и укажите его API-адрес в acmetool_server, см. ниже.

  • Требуется пакет cron для автоматического обновления сертификатов.

Переменные роли

Обязательные

# Электронная почта, используемая для регистрации доменов в LetsEncrypt.
acmetool_email: "[email protected]"
# список доменов для регистрации, разделённых пробелами.
acmetool_domains: "www.example.com example.com"

Прочие

# Сервер CA. По умолчанию используется сервер acme-staging для тестирования.
# Вам нужно изменить это на производственный сервер :
# https://acme-v01.api.letsencrypt.org/directory
acmetool_server: "https://acme.example.com/directory"

# Измените это на RSA, если ваш сервер не поддерживает EC ключи (например, murmur).
acmetool_key_type: "ecdsa"

# Если вы не доверяете acmetool запускать хуки от имени root (sudo), установите это значение в false.
acmetool_enable_hooks: false

Смотрите значения по умолчанию для полного списка.

Пример плейбука

- hosts: all
  roles:
    - { role: "L-P.acmetool", become: true }

Поскольку на Debian службы автоматически включаются и запускаются с их умолчательными настройками при установке, nginx не сможет установить и оставит dpkg в полом состоянии.
Чтобы избежать этого, вы можете выполнить следующий плейбук между установкой acmetool и nginx. Он будет выполнен только в том случае, если nginx еще не настроен.

- hosts: all
    become: true
    tasks:
    - name: Остановить acmetool
      tags: "nginx"
      command: "service acmetool stop"
      args:
        creates: "/etc/nginx/nginx.conf"

Вы можете адаптировать это для любой другой службы, которая дает такую же ошибку.

Лицензия

MIT

О проекте

Install acmetool on Ubuntu 16.04

Установить
ansible-galaxy install L-P/ansible-role-acmetool
Лицензия
mit
Загрузки
345
Владелец