====== Certbot をインストールして Let's Encrypt から無料の SSL 証明書を発行 ======
セキュリティ向上のため、Let's Encrypt が発行する SSL 証明書を利用する。
==== インストール環境 ====
* Ubuntu 18.04.3 LTS 64bit
* お名前.com VPS (KVM) 1GB プラン
^ パッケージ名 ^ バージョン ^
| certbot | 0.31.0-1+ubuntu18.04.1+certbot+1 |
===== インストール =====
Certbot をインストールする。PPA を追加しなくても universe からインストールできるようだが、Let's Encrypt の公式が PPA 追加するように書いてあるので追加しておく。
$ sudo apt-get update
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install certbot
他に Web サーバがマシン上で稼働しない場合を想定して以下の作業を進める。
他に Web サーバが存在する場合はインストールコマンドのオプションが異なる。
例 "$ sudo certbot --apache"
SSL 証明書取得のために 80 ポートを Certbot が使用する。ファイアフォールで 80 ポートをブロックしている場合は、certbot のためにポートを解放する。
$ sudo ufw allow 80/tcp
以下のコマンドで Certbot を設定する。
$ sudo certbot certonly --standalone
* Enter email address (used for urgent renewal and security notices):
* セキュリティ問題等の通知先: user@example.com
* (A)gree/(C)ancel:
* 規約に同意する場合は A を入力
* Would you be willing to share your email address with ...
* メーリングリストに参加する場合は Y を入力。しない場合は N。
* Please enter in your domain name(s) (comma and/or space separated):
* SSL 証明書を発行するドメインを入力: example.com
証明書の取得に成功すると以下のメッセージが表示される。
取得されたキーファイルは /etc/letsencrypt/live/example.com/ の中に保存されている。(シンボリックリンクが置いてある)
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
Waiting for verification...
Cleaning up challenges
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
Your cert will expire on 2019-11-28. To obtain a new or tweaked
version of this certificate in the future, simply run certbot
again. To non-interactively renew *all* of your certificates, run
"certbot renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
インストール時にすでに証明書の更新を行う crontab が /etc/cron.d/certbot にセットされている。
以下のコマンドで、実際の更新を行わずに更新のテストだけを行える。
$ sudo certbot renew --dry-run
===== 参考 =====
* [[https://letsencrypt.org/|Let's Encrypt]]
* [[https://certbot.eff.org/|certbot]]