usegalaxy_eu.certbot
Ansibleロール: Certbot(Let's Encrypt用)
Certbot(Let's Encrypt用)をインストールして設定します。
要件
ソースからインストールする場合は、Gitが必要です。geerlingguy.git
ロールを使用してGitをインストールできます。
ロール変数
certbot_install_from_source
という変数は、Gitまたはパッケージ管理からCertbotをインストールするかどうかを制御します。デフォルトはパッケージ管理からのインストールのため、デフォルト値はno
です。
certbot_auto_renew: true
certbot_auto_renew_user: "{{ ansible_user }}"
certbot_auto_renew_hour: 3
certbot_auto_renew_minute: 30
デフォルトでは、このロールは指定されたユーザーアカウントで、毎日指定された時間および分にcronジョブを設定します。デフォルトでは、Ansibleプレイブックで使用するユーザーによって、毎日03:30:00にcertbot renew
(またはcertbot-auto renew
)がcron経由で実行されます。更新はトラフィックが少ない期間に、非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
Gitリポジトリオプションです。ソースからインストールするには、certbot_install_from_source
をyes
に設定します。これにより、設定されたcertbot_repo
がクローンされ、certbot_version
設定が尊重されます。certbot_keep_updated
がyes
に設定されている場合、ロールが実行されるたびにリポジトリが更新されます。
certbot_dir: /opt/certbot
Certbotがクローンされるディレクトリです。
DNSプロバイダー
CloudflareなどのDNSプロバイダーを使用している場合、以下の変数が使用可能です。
certbot_dns_provider: cloudflare
certbot_dns_credentials:
api_token: your_dns_provider_api_token
certbot_dns_provider_propagation_seconds: 60
certbot_dns_credentials
の有効なオプションはDNSプロバイダーによって異なります。詳細はcertbot --help all
を参照してください。
依存関係
なし。
例のプレイブック
- hosts: servers
vars:
certbot_auto_renew_user: your_username_here
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
デフォルトでは、このロールは、選択した時間と分に、インストールされたすべての証明書を毎日1回更新するcronジョブを追加します。
証明書を実際に更新せずに自動更新をテストするには、次のコマンドを使用します。
/opt/certbot/certbot-auto renew --dry-run
完全なドキュメントとオプションは、Certbotのウェブサイトを参照してください。
ライセンス
MIT / BSD
作成者情報
- このロールは2016年にJeff Geerlingによって作成されました。彼はAnsible for DevOpsの著者です。
- Galaxy Europeによってさらに修正およびメンテナンスが行われています。
Certbot with custom additions
ansible-galaxy install usegalaxy_eu.certbot