certbot

Ansible Роль: Certbot (для Let's Encrypt)

Статус сборки

Устанавливает и настраивает Certbot (для Let's Encrypt).

Требования

Если установка производится из исходников, необходим Git. Вы можете установить Git, используя роль geerlingguy.git.

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

Переменная certbot_install_from_source контролирует, будет ли Certbot установлен из Git или через пакетный менеджер. Последний вариант является значением по умолчанию, поэтому переменная по умолчанию имеет значение no.

certbot_auto_renew: true
certbot_auto_renew_user: "{{ ansible_user }}"
certbot_auto_renew_hour: 3
certbot_auto_renew_minute: 30

По умолчанию эта роль настраивает cron-задание, которое запускается под указанной учетной записью пользователя в заданный час и минуту каждый день. По умолчанию команда certbot renew (или certbot-auto renew) выполняется через cron каждый день в 03:30:00 от имени пользователя, указанного в вашем Ansible плейбуке. Лучше всего установить пользователь/час/минуту так, чтобы обновление происходило в период низкой нагрузки и выполнялось не от имени root.

Установка из исходников Git

Если необходимо, вы можете установить Certbot из его Git-репозитория. Это может быть полезно в нескольких случаях, особенно когда у старых дистрибутивов нет доступных пакетов Certbot (например, CentOS < 7, Ubuntu < 16.10 и Debian < 8).

certbot_install_from_source: no
certbot_repo: https://github.com/certbot/certbot.git
certbot_version: master
certbot_keep_updated: yes

Опции репозитория Certbot Git. Чтобы установить из исходников, установите certbot_install_from_source в yes. Это клонирует указанный certbot_repo, соблюдая установку certbot_version. Если certbot_keep_updated установлено в yes, репозиторий обновляется каждый раз при запуске этой роли.

certbot_dir: /opt/certbot

Каталог, в который будет клонирован Certbot.

DNS-провайдеры

Если вы используете DNS-провайдера, такого как Cloudflare или аналогичный, доступны следующие переменные:

certbot_dns_provider: cloudflare
certbot_dns_credentials:
    api_token: ваш_api_токен_dns_провайдера
certbot_dns_provider_propagation_seconds: 60

Допустимые параметры для certbot_dns_credentials зависят от DNS-провайдера. Смотрите certbot --help all для подробностей.

Зависимости

Нет.

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

- hosts: servers

  vars:
    certbot_auto_renew_user: ваше_имя_пользователя
    certbot_auto_renew_minute: 20
    certbot_auto_renew_hour: 5
    # certbot_agree_tos: "--agree-tos" # Раскомментируйте, чтобы согласиться
  roles:
    - geerlingguy.certbot

После установки вы можете создавать сертификаты, используя скрипт certbot (или certbot-auto), который по умолчанию устанавливается в указанный certbot_dir (при использовании Git). Вот несколько примерных команд для настройки сертификатов с помощью Certbot:

# Автоматически добавьте сертификаты для всех виртуальных хостов Apache (используйте с осторожностью!).
/opt/certbot/certbot-auto --apache

# Сгенерируйте сертификаты, но не изменяйте конфигурацию Apache (безопаснее).
/opt/certbot/certbot-auto --apache certonly

По умолчанию эта роль добавляет cron-задание, которое будет обновлять все установленные сертификаты раз в день в выбранный вами час и минуту.

Вы можете протестировать автообновление (без фактического обновления сертификата) с помощью команды:

/opt/certbot/certbot-auto renew --dry-run

Смотрите полную документацию и параметры на сайте Certbot.

Лицензия

MIT / BSD

Информация об авторе

Установить
ansible-galaxy install usegalaxy-eu/ansible-certbot
Лицензия
mit
Загрузки
8600
Владелец