letsencryptのcertbot再導入(Debian,Apache)

  • 投稿日:
  • by
  • カテゴリ:

letsencryptのcertbotにて、初期設定するところのメールアドレスをunregistしてしまい、鍵の更新(certbot renew)ができなくなてしまった。そこで、改めてletsencrypt(=certbot)の再導入をおこなった。

環境は以下の通り;

・raspberry pi(8MB) + 500G-SSD
・raspi-os(64bit) bullseye
・ApacheでVirtualHostにより複数ドメインを扱う

事前準備としては以下の通り。

(1)/etc/letsencrypt/ をバックアップから復元する。
(2)certbot delete で取得済のドメイン証明書を順次消去する。
(3)apt remove certbot とした後、apt autoremoveで依存ファイルを消去する。
(4)/etc/apache2/site-enable/*.confで、port:443のconfからssl関連を編集。
(5)/etc/init.d/apache2 stop する。
(6)apache2ctl configtestして、/etc/apache2/site-enable/*.confをチェック。
(7))/etc/init.d/apache2 startし、port:80の各VirtualHostが見えることを確認。

次にcertbotの入れ直し。apacheのモジュールを追加する

apt-get install certbot python3-certbot-apache

続いてletsencryptの導入。

certbot certonly -d ドメイン名

メールアドレスとか聞いてくるので入れる。ウマくいけば、ssl証明書が

/etc/letsencrypt/live/ドメイン名/

から辿れるシンボリックリンクに作成される。apacheのモジュールを入れないときは、該当のVirtualHostのDocumentRootを訊いてくるので、入力する。
下記は設定画面。

なお、

最後に/etc/apache2/site-enabled/*.confでport:443の最後のほうに、

SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/ドメイン名/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/ドメイン名/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

を追加する。
Includeの行は当初コメントアウトしていたが、生成されていた/etc/letsencrypt/options-ssl-apache.confを眺めてみると、セキュリティ上必要そうなので、有効化した。

www-ssl-20220311.png

なお、以前は

certbot -d ドメイン名

とすれば、VirtualHostのconfファイルに対して自動的に証明書のパスを足してくれていたが、今回は動かなかった。

certbot --apache

という呪文を唱えてもconfファイルの書き換えができない。viで直接VirtualHostのconfファイルをコピペした。暫定的な不具合なのか、certbotの機能が低下してしまったのかは不明。

(2022/02/23 記、2022/03/11修正追記)