====== 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]]