joyokanji.infoのサーバーメンテ

年末に告知していた「常用漢字情報サイト joyokanji.info」のメンテナンスを予定通り1月1日に実施しました。

今回のメンテナンスは、サーバーを初期化して環境を再構築。OSは「CentOS 7.9」に、PHPは「7.4」にバージョンアップしました。

順調に作業すれば1時間程度で完了する見込みだったのですが、一通り環境を構築した後でサイトにアクセスすると、タイムアウトしてしまう状態でした。

最初はファイアウォールの設定が間違っているのかと思い、ファイアウォールを無効化してサイトにアクセスしても症状は変わらず。

それではWebサーバーの設定が間違っているのではと疑い、エラーログや設定ファイルを確認しても特に原因はわからずじまい。念のため、サーバー内でwgetコマンドを実行してみると、確認用にアップロードしたhtmlファイルが取得できていたので、Webサーバーは問題なさそう。さっぱり原因がわからず、違うOSで再構築してみても状況は変わらず、ちょっとお手上げ状態になってしまいました。

そんな感じで時間だけが過ぎて行き、日付が変わったころ、サーバーのコントロールパネルにアクセスして契約しているサーバー(VPS)の一覧ページを表示してみると、作業していたサーバーのところに「パケットフィルタが有効になっているよ」的な文言がポップアップで表示されていることを発見。「はっ!?」って感じになり、作業していたサーバーのページに戻って「パネットフィルタ」を設定を確認すると、SSH用のポートのみが許可された状態でした。急いでWebページ用のポートを追加し、無事ブラウザからアクセスできるようになったわけです。

これまでパネットフィルタを使用していなかったのですが、OSを再インストールするとSSH用のポートのみが許可された状態でパケットフィルタが有効になる仕様ということ。そういうことなら、「サーバー情報」の一項目として「パケットフィルタ」の状態を載せるなりして、一目でわかるようにしてくれてもいいんじゃないだろうか、「さくら」さん。

さてブラウザでアクセスしてみると、肝心の「常用漢字チェッカー」の結果ページが表示できない。急いでエラーログを調べてみると、mb_str_split関数が登録済みでfatal error(フェイタルエラー)になっていました。これについてはこちらの関数名を変更して対応し、無事すべてのコンテンツが利用できるようになりました。


さて今回のメンテナンスでは、同じサーバーを使用することもあり、Let’s Encryptの証明書をバックアップし、OSや関連ファイルのセットアップ後に書き戻しました。この方法でも問題なく認識されたので、手順的には楽できた感じでしょうか。