jaywink.letsencrypt
Ansible LetsEncrypt
Rola do automatyzacji certyfikatów LetsEncrypt.
Stabilność: beta.
Wymagana wersja Ansible: 2.x
Co to robi?
Ta rola zainstaluje oficjalnego klienta Certbot, zainstaluje go i wyda lub odnowi certyfikat dla wybranego domeny.
Funkcjonalność obejmuje:
- Testowanie na Ubuntu 14.04 i Debianie 8, Debianie 9
- Tylko jedna domena na rolę
- Działa tylko w trybie
certonly
PR-y są mile widziane, aby dodać więcej funkcji.
Instalacja
Możesz zainstalować rolę bezpośrednio z Galaxy w następujący sposób:
ansible-galaxy install jaywink.letsencrypt
Szczegóły
Lokalizacja i wersja klienta Cerbot
Ubuntu 14.04, Debian 8
- Klient zostanie zainstalowany w
/opt/certbot
jako root - Każde uruchomienie pobierze kod klienta Certbot z udostępnionej wersji. Możesz ustawić konkretną wersję Certbot, używając zmiennej
letsencrypt_certbot_version
.
Debian 9
- Klient zostanie zainstalowany przez APT w standardowej lokalizacji zgodnie z najnowszą wersją w repozytoriach.
Ważne informacje
Lista usług, które należy zatrzymać przed uzyskaniem nowego certyfikatu i (ponownie) uruchomić po jego uzyskaniu, może być skonfigurowana przy użyciu zmiennej
letsencrypt_pause_services
.Używany jest tryb
certonly
, co oznacza, że nie ma automatycznej instalacji serwera webowego.Po wydaniu certyfikatu można go znaleźć w
/etc/letsencrypt/live/<nazwa_domeny>
Wskazówka, użyj tego w swojej konfiguracji Apache2, na przykład w swojej głównej roli. Upewnij się, aby nie próbować uruchamiać Apache2 z aktywnym wirtualnym hostem bez uprzedniego uruchomienia roli LetsEncrypt!
SSLCertificateFile /etc/letsencrypt/live/{{ letsencrypt_domain }}/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/{{ letsencrypt_domain }}/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/{{ letsencrypt_domain }}/chain.pem
Uwaga! Jeśli ta rola nie powiedzie się w części związanej z żądaniem certyfikatu, mogłeś zatrzymać usługi - zachowaj ostrożność!
Jeśli certyfikat był wcześniej żądany, ta rola automatycznie spróbuje go odnowić, jeśli to możliwe. Wyłącz tę funkcjonalność, ustawiając
letsencrypt_force_renew
nafalse
. W takim przypadku nie będzie podejmowana próba odnowienia, jeśli certyfikat nie wymaga odnowienia.Subdomena
www.
zostanie automatycznie zażądana wraz z certyfikatem.- Aby wyłączyć to zachowanie, ustaw
letsencrypt_request_www
nafalse
w swoich zmiennych.
- Aby wyłączyć to zachowanie, ustaw
Wymagania
Testowane z następującymi:
- Ubuntu 14.04 i Debian 8, Debian 9
- Apache2 i Nginx
- Ansible 2.x
Zmienne roli
Wymagane
letsencrypt_domain
- Domena, dla której jest certyfikat.letsencrypt_email
- Twój e-mail jako właściciela certyfikatu.
Opcjonalne
letsencrypt_certbot_args
- Dodatkowe argumenty wiersza poleceń, które mają być przekazane do Certbotu - będą połączone zletsencrypt_certbot_default_args
. Zobacz dokumentację Certbota w jakich argumentach możesz skorzystać.letsencrypt_certbot_default_args
- Zobaczdefaults/main.yml
, jakie są domyślne argumenty. Możesz również dodać, aby nadpisać wszystkie argumenty dla Certbota, na przykład używając innego pluginu, ustawić je za pomocą tej zmiennej.letsencrypt_certbot_verbose
- Spraw, aby Certbot wyświetlał dane w konsoli (domyślnietrue
).letsencrypt_certbot_version
- Ustaw konkretną wersję Certbota, na przykład tag lub gałąź git. Należy zauważyć, że najniższa wspierana wersja Certbota to 0.6.0. Nie ma to wpływu na Debiana 9.letsencrypt_force_renew
- Czy zawsze próbować odnowić certyfikat, domyślnietrue
.letsencrypt_pause_services
- Lista usług do zatrzymania/uruchomienia podczas wywoływania Certbota.letsencrypt_request_www
- Automatycznie żądajwww.
(domyślnietrue
).
Przykładowa książka
Ta rola działa najlepiej, gdy jest dołączona tuż przed główną rolą twojej witryny, na przykład. Lub może być używana w indywidualnej książce, na przykład jak poniżej.
Ta rola powinna uzyskać uprawnienia roota na docelowym hoście.
---
- hosts: myhost
become: yes
become_user: root
roles:
- role: ansible-letsencrypt
letsencrypt_email: [email protected]
letsencrypt_domain: example.com
letsencrypt_pause_services:
- apache2
Licencja
MIT
Informacje o autorze
Jason Robinson (@jaywink) - mail@jasonrobinson.me - https://jasonrobinson.me - https://twitter.com/jaywink
Szczególne podziękowania dla Stefana Grönke (@gronke) za jego pracę nad rozwijaniem tej roli.
Zobacz CONTRIBUTORS, aby uzyskać pełną listę współpracowników.
ansible-galaxy install jaywink.letsencrypt