目次

Certbot をインストールして Let's Encrypt から無料の SSL 証明書を発行

セキュリティ向上のため、Let's Encrypt が発行する SSL 証明書を利用する。

インストール環境

パッケージ名 バージョン
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

証明書の取得に成功すると以下のメッセージが表示される。

取得されたキーファイルは /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

参考