L-P.acmetool

ansible-role-acmetool

acmetoolをインストール、設定、および実行して、Let's EncryptのTLS証明書を生成します。

acmetoolは、redirectorモードを使用するように設定されます。ポート80でリッスンし、チャレンジリクエストでないものをすべてリダイレクトします(HTTP 308)。

詳細はGitHubのacmeを参照してください。

要件

  • become: trueが必要です。ほとんどの操作はrootとして実行する必要がありますが、残りはこのロールによって作成されるacmeユーザーの下で実行されます。

  • acmetoolがチャレンジを提供できるように、ポート80/TCPを開放する必要があります。

  • デフォルトでredirectorモードが使用されるため、HTTPサーバーを実行する必要はありません。このロールを実行したに、生成された証明書を使用するサーバーをインストールできます。

  • プロバイダーを選択し、そのAPIエンドポイントをacmetool_serverに設定してください。詳細は以下を参照。

  • 自動更新にはcronパッケージが必要です。

ロール変数

必須

# LetsEncryptでドメインを登録するために使うメールアドレス。
acmetool_email: "[email protected]"
# 登録するドメインのスペース区切りリスト。
acmetool_domains: "www.example.com example.com"

その他

# CAサーバー。テスト目的でデフォルトはacme-stagingサーバーです。
# 本番サーバーに変更する必要があります:
# https://acme-v01.api.letsencrypt.org/directory
acmetool_server: "https://acme.example.com/directory"

# サーバーがECキーをサポートしていない場合(例:murmur)、これをRSAに変更します。
acmetool_key_type: "ecdsa"

# acmetoolがroot(sudo)としてフックを実行することを信頼できない場合は、これをfalseに設定します。
acmetool_enable_hooks: false

完全なリストはdefaultsを参照してください。

例のプレイブック

- hosts: all
  roles:
    - { role: "L-P.acmetool", become: true }

Debianでは、サービスはインストール時にデフォルト設定で自動的に有効になり、起動されるため、nginxのインストールに失敗し、dpkgが半壊状態になります。
これを避けるために、acmetoolnginxのインストールの間に以下のプレイを実行できます。nginxがまだ設定されていない場合にのみ実行されます。

- hosts: all
    become: true
    tasks:
    - name: Stop acmetool
      tags: "nginx"
      command: "service acmetool stop"
      args:
        creates: "/etc/nginx/nginx.conf"

同様の方法で失敗する他のサービスに適応できます。

ライセンス

MIT

プロジェクトについて

Install acmetool on Ubuntu 16.04

インストール
ansible-galaxy install L-P.acmetool
ライセンス
mit
ダウンロード
355
所有者