L-P.acmetool
ansible-role-acmetool
Zainstaluj, skonfiguruj i uruchom acmetool, aby generować certyfikaty TLS Let's Encrypt.
acmetool zostanie skonfigurowany w trybie redirector. Będzie nasłuchiwał na porcie 80 i przekierowywał (HTTP 308) wszystko, co nie jest zapytaniem o wyzwanie.
Szczegóły znajdziesz w acme na GitHubie.
Wymagania
- Wymagane jest - become: true, ponieważ większość działań musi być wykonywana jako root, a reszta jako- acme, który zostanie utworzony przez rolę.
- Musisz otworzyć port 80/TCP, aby - acmetoolmógł obsługiwać wyzwania.
- Ponieważ tryb - redirectorjest używany domyślnie, nie jest wymagany żaden serwer HTTP. Możesz zainstalować dowolny serwer, który chcesz używać po uruchomieniu tej roli, aby mógł korzystać z wygenerowanych certyfikatów.
- Wybierz swojego dostawcę i ustaw jego punkt końcowy API w - acmetool_server, zobacz poniżej.
- Pakiet - cronjest wymagany do automatycznego odnawiania.
Zmienne roli
Wymagane
# Adres używany do rejestracji domen w LetsEncrypt.
acmetool_email: "[email protected]"
# lista domen do zarejestrowania oddzielona spacjami.
acmetool_domains: "www.example.com example.com"
Inne
# Serwer CA. Domyślnie jest to serwer acme-staging do celów testowych.
# Musisz zmienić to na serwer produkcyjny:
# https://acme-v01.api.letsencrypt.org/directory
acmetool_server: "https://acme.example.com/directory"
# Zmień to na RSA, jeśli twój serwer nie obsługuje kluczy EC (np. murmur).
acmetool_key_type: "ecdsa"
# Jeśli nie ufasz acmetool, aby uruchamiać hooki jako root (sudo), ustaw to na false.
acmetool_enable_hooks: false
Zobacz domyślne wartości dla pełnej listy.
Przykład Playbooka
- hosts: all
  roles:
    - { role: "L-P.acmetool", become: true }
Ponieważ w Debianie usługi są automatycznie włączane i uruchamiane z ich domyślną konfiguracją po zainstalowaniu, nginx będzie miał problem z instalacją i zostawi dpkg w półzepsutym stanie.
Aby tego uniknąć, możesz uruchomić następujący play między instalacją acmetool a nginx. Uruchomi się on tylko, jeśli nginx nie jest jeszcze skonfigurowany.
- hosts: all
    become: true
    tasks:
    - name: Zatrzymaj acmetool
      tags: "nginx"
      command: "service acmetool stop"
      args:
        creates: "/etc/nginx/nginx.conf"
Możesz to dostosować do każdej innej usługi, która ma ten sam problem.
Licencja
MIT
ansible-galaxy install L-P.acmetool