「Certbot」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(「参照」項目追加)
39行目: 39行目:
 
==== 自動更新 ====
 
==== 自動更新 ====
   
{{ic|letsencrypt certonly}} を実行するとき、letsencryptはドメインとwebrootディレクトリを {{ic|/etc/letsencrypt/renewal}} に記録します。なので次回からは {{ic|letsencrypt renew}} を実行することで証明書を自動更新することができます。
+
{{ic|letsencrypt certonly}} を実行するとき、letsencryptはドメインとwebrootディレクトリを {{ic|/etc/letsencrypt/renewal}} に記録します。次回からは {{ic|letsencrypt renew}} を実行することで証明書を自動更新することができます。
   
 
以下の {{ic|.service}} ファイルを作成することで完全に自動化することが可能です:
 
以下の {{ic|.service}} ファイルを作成することで完全に自動化することが可能です:

2016年4月9日 (土) 00:26時点における版

Let’s Encrypt はフリーかつ自動化されたオープンな認証局です。コマンドラインから有効な ssl 証明書を取得できるツールが提供されています。

インストール

letsencrypt パッケージをインストールしてください。

A minimal client with manual CSR creation is available at acme-tinyAUR. More integrated clients suitable for scripts are e.g. simp_le-gitAUR and letsencrypt-cliAUR.

公式クライアントを用いて発行された証明書はプラグインを使ってウェブサーバーに自動的に設定・インストールできます:

  • Nginx 用の実験的なプラグインは letsencrypt-nginx パッケージに入っています。
  • letsencrypt-apache パッケージも存在していますが、Apache HTTP Server を使っている場合の自動インストールは現在 Debian の派生ディストリビューションでしかサポートされていません。

設定

証明を作成・インストールする方法は Let’s Encrypt クライアントのドキュメント を参照してください。証明書の作成方法がはっきりしたら、この wiki にも記載します。

手動

ノート: この方法では、一時的にウェブサーバーを停止する必要があります。#Webroot の方法ではウェブサーバーを実行しながらでも認証が行えます。

ウェブサーバーのプラグインが存在しない場合、次のコマンドを使って下さい:

# letsencrypt certonly --manual

上記のコマンドで自動的にドメインが認証されて秘密鍵と証明書のペアが作成されます。秘密鍵と証明書は /etc/letsencrypt/live/your.domain/ に保存されます。

上記のディレクトリに入っている秘密鍵と証明書を使用するように手動でウェブサーバーを設定します。

Webroot

webroot を使うことでウェブサーバー (例: Apache/nginx) を止めることなく証明書を取得・更新できます。

# letsencrypt certonly --email email@example.com --webroot -w /path/to/html/ -d your.domain

サーバーの設定で /etc/letsencrypt/live/your.domain/ の証明書を使うようにしてください。

自動更新

letsencrypt certonly を実行するとき、letsencryptはドメインとwebrootディレクトリを /etc/letsencrypt/renewal に記録します。次回からは letsencrypt renew を実行することで証明書を自動更新することができます。

以下の .service ファイルを作成することで完全に自動化することが可能です:

/etc/systemd/system/letsencrypt.service
[Unit]
Description=Let's Encrypt renewal

[Service]
Type=oneshot
ExecStart=/usr/bin/letsencrypt renew

タイマーを追加する前に、サービスが正しく動作すること、何も入力が要求されないことを確認してください。

それから、タイマーを追加することで毎月証明書を更新できます。

/etc/systemd/system/letsencrypt.timer
[Unit]
Description=Monthly renewal of Let's Encrypt's certificates

[Timer]
OnCalendar=monthly
Persistent=true

[Install]
WantedBy=timers.target

letsencrypt.timer起動有効化してください。また、証明書をいますぐ更新したい場合は letsencrypt.service起動してください。

証明書を更新するたびにウェブサーバーを再起動させることもできます。letsencrypt.service ファイルに以下のどちらかの行を追加してください:

  • Apache: ExecStartPost=/usr/sbin/systemctl restart httpd.service
  • nginx: ExecStartPost=/usr/sbin/systemctl restart nginx.service

参照