jaywink.letsencrypt
Ansible LetsEncrypt
LetsEncrypt証明書を自動化するためのロールです。
安定性: ベータ版。
必要なAnsibleバージョン: 2.x
何をしますか?
このロールは公式のCertbotクライアントを取得し、インストールして、選択したドメインの証明書を発行または更新します。
機能は以下の通りです:
- Ubuntu 14.04およびDebian 8、Debian 9でテスト済み
- 1つのドメインのみを対象
certonly
モードのみで実行
PRを歓迎します。追加機能の提案をお待ちしています。
インストール
以下のコマンドでGalaxyから直接ロールをインストールできます:
ansible-galaxy install jaywink.letsencrypt
詳細
Cerbotクライアントの場所とバージョン
Ubuntu 14.04, Debian 8
- クライアントは
/opt/certbot
にrootとしてインストールされます - 各実行は証明されたリリースバージョンからCertbotクライアントコードを取得します。特定のCertbotバージョンを設定するには、
letsencrypt_certbot_version
変数を使用します。
Debian 9
- クライアントはAPTを通じてレポジトリの最新バージョンに従って標準のプラットフォームの場所にインストールされます。
知っておくべきこと
新しい証明書を取得する前に停止し、後で再起動するサービスのリストは、
letsencrypt_pause_services
変数を使用して設定できます。certonly
モードが使用され、つまり自動的なWebサーバーのインストールは行われません証明書発行後、
/etc/letsencrypt/live/<ドメイン名>
にありますヒント:これをApache2の設定で使用してください。例として、メインロールの中で使用できます。ただし、LetsEncryptロールが実行されていない状態で仮想ホストをアクティブにしてApache2を起動しないように注意してください!
SSLCertificateFile /etc/letsencrypt/live/{{ letsencrypt_domain }}/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/{{ letsencrypt_domain }}/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/{{ letsencrypt_domain }}/chain.pem
注意!このロールが証明書リクエストに失敗した場合、サービスが停止されている可能性がありますので注意してください。
以前に証明書をリクエストした場合、このロールは自動的に更新を試みます。これを無効にするには、
letsencrypt_force_renew
をfalse
に設定してください。この場合、証明書が更新の対象でない場合は更新は行われません。証明書と一緒に
www.
サブドメインが自動的にリクエストされます。- この動作を無効にするには、
letsencrypt_request_www
をfalse
に設定してください。
- この動作を無効にするには、
必要条件
以下の環境でテスト済み:
- Ubuntu 14.04およびDebian 8、Debian 9
- Apache2およびNginx
- Ansible 2.x
ロール変数
必須
letsencrypt_domain
- 証明書の対象となるドメイン。letsencrypt_email
- 証明書の所有者としてのあなたのメールアドレス。
オプション
letsencrypt_certbot_args
- Certbotに渡される追加のコマンドライン引数--letsencrypt_certbot_default_args
と組み合わさります。letsencrypt_certbot_default_args
- デフォルトの引数が何かはdefaults/main.yml
を参照してください。他のプラグインを使用するために引数を上書きすることもできます。letsencrypt_certbot_verbose
- Certbotのコンソール出力を有効にします(デフォルトはtrue
)。letsencrypt_certbot_version
- 特定のCertbotバージョンを設定します(Gitタグまたはブランチ)。私たちがサポートするCertbotの最低バージョンは0.6.0です。Debian 9には影響しません。letsencrypt_force_renew
- 常に更新を試みるかどうかを設定し、デフォルトはtrue
です。letsencrypt_pause_services
- Certbot呼び出し時に停止/再起動するサービスのリスト。letsencrypt_request_www
-www.
を自動的に要求します(デフォルトはtrue
)。
例プレイブック
このロールは、メインサイトロールの直前に含めると最も効果的です。例えば、以下のように個別のプレイブックで使用することもできます。
このロールは、ターゲットホストでroot権限が必要です。
---
- hosts: myhost
become: yes
become_user: root
roles:
- role: ansible-letsencrypt
letsencrypt_email: email@example.com
letsencrypt_domain: example.com
letsencrypt_pause_services:
- apache2
ライセンス
MIT
作者情報
Jason Robinson (@jaywink) - mail@jasonrobinson.me - https://jasonrobinson.me - https://twitter.com/jaywink
このロールを拡張するためのStefan Grönke (@gronke) に特別な感謝を捧げます。
寄稿者の完全なリストについては、CONTRIBUTORSを参照してください。
ansible-galaxy install jaywink.letsencrypt