背景
これまでcertbot-autoで証明書の発行ができたと思いますが、2020年12月のリリース1.10.0からDebian系で非対応になり、2021年1月のリリース1.11.0では全てのOSで非対応となりました。certbot-autoではできなくなってしまったので、新しい設定方法を紹介します。
詳細や経緯はこちらから
Certbot-auto no longer works on Debian based systems
※記事タイトルではDebianといっていますが今では全OS非対応のようです。
現象
従来のやり方で証明書の発行を試みると、次のようなエラーが出ると思います。
Your system is not supported by certbot-auto anymore なので、もう非対応だよということです。
$ sudo ~/certbot/certbot-auto --no-bootstrap certonly --webroot -w /usr/share/nginx/html -d <独自ドメイン名> -m <メールアドレス> --agree-tos -n
Skipping bootstrap because certbot-auto is deprecated on this system.
/home/app_admin/certbot/certbot-auto has insecure permissions!
To learn how to fix them, visit https://community.letsencrypt.org/t/certbot-auto-deployment-best-practices/91979/
Your system is not supported by certbot-auto anymore.
Certbot cannot be installed.
Please visit https://certbot.eff.org/ to check for other alternatives.
設定方法
新しい設定方法は、環境によって変わってくるので、詳細は公式の案内を参考にしていただきたいですが、おおまかに
- certbot-autoなどの旧式をアンイストール
- snapdをインストール/アップグレード
- snapでcertbotをインストール
- certbotを実行
という流れになります。
詳細はこちらの公式の説明ページで、使用するミドルウェアとOSを指定すると、設定方法が案内されるのでそちらに従ってください。
certbot instructions
注:snapdのインストール時には enable classic snap support
の部分の設定も基本的に必要となると思います(設定しなかったら、snapでcertbotインストールする際にエラーが出ると思うのでわかると思います)
SSL証明書の自動更新の設定
一部のOSを除いて、今回のcertbotでは証明書の更新を自動でやってくれるみたいです。なので、わざわざcronを設定する必要はないみたいです。必要があったら、先程の公式の説明ページにその旨記述があると思うので、そちらに従うようにお願いします。
どうしてもcertbot-autoが使いたい場合
非推奨ですが、どうしてもcertbot-autoが使いたかったら下記URLからダウンロードして使える、と公式にありました。ただし、Debian系での動作は保証されていますが、それ以外ではわかりません。また、今後アップデートはないため、セキュリティ上のリスクや、Let's Encryptサーバーとの互換性を失うリスクを許容した上で注意してご利用ください、ということです。
また、実行時には必ず --no-self-upgrade
をつけて、最新版に自動更新されないようにしてください。