coopdevs.certbot_nginx

Certbot NGINX

これは、Ubuntu 16.04 および Ubuntu 18.04certbot と NGINX プラグインをインストールするためのシンプルな Ansible ロールです。

このロールは以下のことを行います:

  1. certbot の PPA リポジトリを追加します。
  2. certbotpython-certbot-nginx パッケージをインストールします。
  3. certbot パッケージは renew の cron ジョブと systemd タイマーを追加します(詳細情報)。
  4. 指定された domain_name に対して Let's Encrypt の SSL 証明書を生成します。

警告

すでに /etc/letsencrypt 内のファイルを指しているサイトが Nginx にインストールされている場合、証明書の作成タスクは失敗します()。

一般的に、Nginx をインストールおよび設定する他のロールの前にこのロールを実行することが推奨されます。

ロール変数

domain_name: www.mydomain.io
letsencrypt_email: [email protected]
certbot_nginx_cert_name: mycert # オプション
certbot_version: 0.31.0-1+ubuntu{{ ansible_distribution_version }}.1+certbot+1 # オプション
certbot_nginx_version: 0.31.0-1+ubuntu{{ ansible_distribution_version }}.1+certbot+1 # オプション

もし設定した場合、certbot_nginx_cert_name の値は certbot の --cert-name 引数に渡され、certbot delete などのコマンドで証明書を識別するために使用されます。 certbot certificates を実行すると、この名前で識別された証明書のリストが表示されます。この名前はまた、証明書のファイルパスとして /etc/letsencrypt/live/ に使用されます。

例プレイブック - 単一の証明書

# プレイブック
- hosts: servers
  roles:
    - role: coopdevs.certbot_nginx
      vars:
        domain_name: www.mydomain.io
        letsencrypt_email: [email protected]

例プレイブック - 複数の証明書を作成

同じホストで複数の証明書を生成および管理できます。 domain_names 変数を定義し、このロールをループ内で含むロールを設定できます。

# プレイブック
- hosts: servers
  roles:
    - role: coopdevs.certbot_nginx
      vars:
        letsencrypt_email: [email protected]
    - role: certificates
      vars:
        domain_names:
          - community.coopdevs.org
          - forms.coopdevs.org

証明書を生成するために certbot_nginx ロールを含むカスタムロールを作成します:

# certificates.yml ロール
---
- name: SSL証明書のインストール
  include_role:
    name: vendor/coopdevs.certbot_nginx
    tasks_from: certificate.yml
  with_items: "{{ domain_names }}"
  loop_control:
    loop_var: domain_name

loop_control を宣言して with_item ループの item 変数を loop_var 値である domain_name にマッピングする必要があります。loop_control ドキュメントを参照してください。

既存の証明書の更新

証明書が作成されてからサイトの詳細が変更された場合、ドメインリストを更新できます。ロールは証明書に存在するドメインと提供されたドメインリストの違いをチェックし、証明書を更新する必要があるかどうかを選択します。更新プロセスを強制したい場合は、certbot_force_update: true を定義するか、コマンドラインで --extra-vars "certbot_force_update=true" を渡すことで可能です。

Let's Encrypt ステージング環境

このロールには letsencrypt_staging 変数が含まれており、デフォルトは no です。開発やデバッグの目的で、yes に設定することができます。たとえば、コマンドラインで変数を渡すのように --extra-vars "letsencrypt_staging=yes" とします。

これにより、Let's Encrypt ステージング環境が使用され、レート制限に直面する可能性が低くなります。

ライセンス

BSD

著者情報

Coopdevs http://coopdevs.org

プロジェクトについて

free software for Social and Solidarity Economy

インストール
ansible-galaxy install coopdevs.certbot_nginx
ライセンス
Unknown
ダウンロード
36.4k
所有者
Coopdevs, Free and Open Source Software for Social and Solidarity Economy.