「Certbot」の版間の差分
(翻訳) |
(Let's EncryptクライアントからCertbotに置換) |
||
2行目: | 2行目: | ||
[[Category:セキュリティ]] |
[[Category:セキュリティ]] |
||
[[en:Let’s Encrypt]] |
[[en:Let’s Encrypt]] |
||
− | [https://letsencrypt.org/ Let’s Encrypt] はフリーかつ自動化されたオープンな認証局です。コマンドラインから有効な |
+ | [https://letsencrypt.org/ Let’s Encrypt] はフリーかつ自動化されたオープンな認証局です。公式クライアントは '''Certbot''' と呼ばれており、コマンドラインから有効な SSL 証明書を取得できます。 |
+ | |||
+ | {{Note|以前 ''Let’s Encrypt client'' と呼ばれていた公式クライアントは、現在 ''Certbot'' と呼ばれています。}} |
||
+ | |||
+ | == Certbot == |
||
+ | |||
+ | ''Certbot'' は公式のリファレンスクライアントです。Python で書かれており、証明書を取得するためのコマンドラインツールを提供します。 |
||
== インストール == |
== インストール == |
||
− | {{Pkg| |
+ | {{Pkg|certbot}} パッケージを[[インストール]]してください。 |
手動で CSR 作成を行うミニマルなクライアントを {{AUR|acme-tiny}} でインストールすることができます。スクリプトで使用するのに適したクライアントとして {{AUR|simp_le-git}} や {{AUR|letsencrypt-cli}} も存在します。 |
手動で CSR 作成を行うミニマルなクライアントを {{AUR|acme-tiny}} でインストールすることができます。スクリプトで使用するのに適したクライアントとして {{AUR|simp_le-git}} や {{AUR|letsencrypt-cli}} も存在します。 |
||
公式クライアントを用いて発行された証明書はプラグインを使ってウェブサーバーに自動的に設定・インストールできます: |
公式クライアントを用いて発行された証明書はプラグインを使ってウェブサーバーに自動的に設定・インストールできます: |
||
− | * [[Nginx]] 用の実験的なプラグインは {{Pkg| |
+ | * [[Nginx]] 用の実験的なプラグインは {{Pkg|certbot-nginx}} パッケージに入っています。 |
− | * {{Pkg| |
+ | * {{Pkg|certbot-apache}} パッケージも存在していますが、[[Apache HTTP Server]] を使っている場合の自動インストールは現在 Debian の派生ディストリビューションでしかサポートされていません。 |
== 設定 == |
== 設定 == |
||
− | 証明を作成・インストールする方法は [https:// |
+ | 証明を作成・インストールする方法は [https://certbot.eff.org/docs/ Certbot のドキュメント] を参照してください。証明書の作成方法がはっきりしたら、この wiki にも記載します。 |
=== 手動 === |
=== 手動 === |
||
23行目: | 29行目: | ||
ウェブサーバーのプラグインが存在しない場合、次のコマンドを使って下さい: |
ウェブサーバーのプラグインが存在しない場合、次のコマンドを使って下さい: |
||
− | # |
+ | # certbot certonly --manual |
上記のコマンドで自動的にドメインが認証されて秘密鍵と証明書のペアが作成されます。秘密鍵と証明書は {{ic|/etc/letsencrypt/live/''your.domain''/}} に保存されます。 |
上記のコマンドで自動的にドメインが認証されて秘密鍵と証明書のペアが作成されます。秘密鍵と証明書は {{ic|/etc/letsencrypt/live/''your.domain''/}} に保存されます。 |
||
33行目: | 39行目: | ||
webroot を使うことでウェブサーバー (例: Apache/nginx) を止めることなく証明書を取得・更新できます。 |
webroot を使うことでウェブサーバー (例: Apache/nginx) を止めることなく証明書を取得・更新できます。 |
||
− | # |
+ | # certbot certonly --email ''email@example.com'' --webroot -w ''/path/to/html/'' -d ''your.domain'' |
サーバーの設定で {{ic|/etc/letsencrypt/live/''your.domain''/}} の証明書を使うようにしてください。 |
サーバーの設定で {{ic|/etc/letsencrypt/live/''your.domain''/}} の証明書を使うようにしてください。 |
||
39行目: | 45行目: | ||
==== 自動更新 ==== |
==== 自動更新 ==== |
||
− | {{ic| |
+ | {{ic|certbot certonly}} を実行するとき、Certbot はドメインと webroot ディレクトリを {{ic|/etc/letsencrypt/renewal}} に記録します。次回からは {{ic|certbot renew}} を実行することで証明書を自動更新することができます。 |
以下の {{ic|.service}} ファイルを作成することで完全に自動化することが可能です: |
以下の {{ic|.service}} ファイルを作成することで完全に自動化することが可能です: |
||
− | {{hc|1=/etc/systemd/system/ |
+ | {{hc|1=/etc/systemd/system/certbot.service| |
2=[Unit] |
2=[Unit] |
||
Description=Let's Encrypt renewal |
Description=Let's Encrypt renewal |
||
49行目: | 55行目: | ||
[Service] |
[Service] |
||
Type=oneshot |
Type=oneshot |
||
− | ExecStart=/usr/bin/ |
+ | ExecStart=/usr/bin/certbot renew}} |
[[systemd/タイマー|タイマー]]を追加する前に、サービスが正しく動作すること、何も入力が要求されないことを確認してください。 |
[[systemd/タイマー|タイマー]]を追加する前に、サービスが正しく動作すること、何も入力が要求されないことを確認してください。 |
||
55行目: | 61行目: | ||
それから、タイマーを追加することで毎月証明書を更新できます。 |
それから、タイマーを追加することで毎月証明書を更新できます。 |
||
− | {{hc|1=/etc/systemd/system/ |
+ | {{hc|1=/etc/systemd/system/certbot.timer| |
2=[Unit] |
2=[Unit] |
||
Description=Monthly renewal of Let's Encrypt's certificates |
Description=Monthly renewal of Let's Encrypt's certificates |
||
66行目: | 72行目: | ||
WantedBy=timers.target}} |
WantedBy=timers.target}} |
||
− | {{ic| |
+ | {{ic|certbot.timer}} を[[起動]]・[[有効化]]してください。また、証明書をいますぐ更新したい場合は {{ic|certbot.service}} を[[起動]]してください。 |
− | 証明書を更新するたびにウェブサーバーを再起動させることもできます。{{ic| |
+ | 証明書を更新するたびにウェブサーバーを再起動させることもできます。{{ic|certbot.service}} ファイルに以下のどちらかの行を追加してください: |
* Apache: {{ic|1=ExecStartPost=/usr/sbin/systemctl restart httpd.service}} |
* Apache: {{ic|1=ExecStartPost=/usr/sbin/systemctl restart httpd.service}} |
2016年6月15日 (水) 21:03時点における版
Let’s Encrypt はフリーかつ自動化されたオープンな認証局です。公式クライアントは Certbot と呼ばれており、コマンドラインから有効な SSL 証明書を取得できます。
Certbot
Certbot は公式のリファレンスクライアントです。Python で書かれており、証明書を取得するためのコマンドラインツールを提供します。
インストール
手動で CSR 作成を行うミニマルなクライアントを acme-tinyAUR でインストールすることができます。スクリプトで使用するのに適したクライアントとして simp_le-gitAUR や letsencrypt-cliAUR も存在します。
公式クライアントを用いて発行された証明書はプラグインを使ってウェブサーバーに自動的に設定・インストールできます:
- Nginx 用の実験的なプラグインは certbot-nginx パッケージに入っています。
- certbot-apache パッケージも存在していますが、Apache HTTP Server を使っている場合の自動インストールは現在 Debian の派生ディストリビューションでしかサポートされていません。
設定
証明を作成・インストールする方法は Certbot のドキュメント を参照してください。証明書の作成方法がはっきりしたら、この wiki にも記載します。
手動
ウェブサーバーのプラグインが存在しない場合、次のコマンドを使って下さい:
# certbot certonly --manual
上記のコマンドで自動的にドメインが認証されて秘密鍵と証明書のペアが作成されます。秘密鍵と証明書は /etc/letsencrypt/live/your.domain/
に保存されます。
上記のディレクトリに入っている秘密鍵と証明書を使用するように手動でウェブサーバーを設定します。
Webroot
webroot を使うことでウェブサーバー (例: Apache/nginx) を止めることなく証明書を取得・更新できます。
# certbot certonly --email email@example.com --webroot -w /path/to/html/ -d your.domain
サーバーの設定で /etc/letsencrypt/live/your.domain/
の証明書を使うようにしてください。
自動更新
certbot certonly
を実行するとき、Certbot はドメインと webroot ディレクトリを /etc/letsencrypt/renewal
に記録します。次回からは certbot renew
を実行することで証明書を自動更新することができます。
以下の .service
ファイルを作成することで完全に自動化することが可能です:
/etc/systemd/system/certbot.service
[Unit] Description=Let's Encrypt renewal [Service] Type=oneshot ExecStart=/usr/bin/certbot renew
タイマーを追加する前に、サービスが正しく動作すること、何も入力が要求されないことを確認してください。
それから、タイマーを追加することで毎月証明書を更新できます。
/etc/systemd/system/certbot.timer
[Unit] Description=Monthly renewal of Let's Encrypt's certificates [Timer] OnCalendar=monthly Persistent=true [Install] WantedBy=timers.target
certbot.timer
を起動・有効化してください。また、証明書をいますぐ更新したい場合は certbot.service
を起動してください。
証明書を更新するたびにウェブサーバーを再起動させることもできます。certbot.service
ファイルに以下のどちらかの行を追加してください:
- Apache:
ExecStartPost=/usr/sbin/systemctl restart httpd.service
- nginx:
ExecStartPost=/usr/sbin/systemctl restart nginx.service