raspbian の Strech から Buster へのアップ失敗
WordPressのアップデートを調べていくうちにRaspbianも最新にしておくに越したことは無いとの思いから、現在Strechで運用しているサーバーのOSをBusterに変更すべく試してみた。
1. /etc/apt/sources.list 内にあるstretchをbusterに変更する
2. /etc/apt/sources.list.d/raspi.listのstretchをbusterに変更する
sudo apt-get update 次に sudo apt-get upgrade で時間はかかるがBusterにへの更新は完了する。
最後に
sudo apt autoremoveを実行
通常であれば再起動すればBusterで起動するはずである。
しかし、OSは起動したもののapache2が起動に失敗する。
/var/log/apache2にあるerror.logを見てみると
error.log
[Sat Jan 16 09:26:48.350793 2021] [ssl:emerg] [pid 1249] AH02562: Failed to configure certificate 127.0.1.1:443:0 (with chain), check /etc/apache2/ssl/server.crt
[Sat Jan 16 09:26:48.350997 2021] [ssl:emerg] [pid 1249] SSL Library Error: error:140AB18F:SSL routines:SSL_CTX_use_certificate:ee key too small
AH00016: Configuration Failed
とあり、キーが小さすぎるとある。
このサーバーではsslはLet's Encryptを使っているので /etc/apache2/ssl/server.crtにあるキーは使っていないはずであるが、どういう事であろうか。確かに指定の場所にserver.crtは存在する。
考えてみるにssl化を試みたときに色々試してみたのでその残骸が残っているのであろうか。しかし、使っていないはずのものがどうして影響するのであろうか。いずれにせよ起動しないのは事実である。
仕方ないので当初1024で生成したキーを再度倍の2048で生成しなおすことにした。
cd /etc/apache2/ssl
sudo openssl genrsa -des3 -out server.key 2048
パスワードを適当に入れる。
このままだとApache起動のたびにパスワード入力を求められるためEncriptを解除する。
sudo openssl rsa -in server.key -out server.key
サーバー証明書の生成
sudo openssl req -new -days 3650 -key server.key -out server.csr
これで要求ファイルが生成できたので証明書を発行しましょう。
sudo openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
これでapache2を起動してみた。sudo /etc/init.d/apache2 start で起動できた。カラクリは分からないが動いているのは事実である。
このファイルを削除してみたどうだろうか。機会があれば試してみたい。