このブログを支えている WordPress は定期的にバージョンアップをしていますが、ベースとなる PHP のバージョンが 7.3 だったので、ダッシュボードで警告がでるようになってきました。/etc/debian_version を見てみると 10 buster のままだったので、OS の dist-upgrade を兼ねて、いろいろとアプデしてみました。

クラウドサーバー

サーバーは「さくらの VPS 1G」をずっと使ってます。もう10年以上になるかな。こういう大型アプデの時に、さくらの VPS はスナップショットが取れないので気を遣いますね…。

WP が動けばそれ以外は何もいらないので AWS の Lightsail あたりに引っ越そうかと考えました。

引っ越す場合は、All in one Migration and Backup プラグインで WP データをエクスポートしておいて、新しいインスタンスでインポートするのが手軽そうです。あとは証明書を移動して、DNS を書き換えて完了。

Lightsail $5 Lightsail $7 さくらVPS 512M さくらVPS1G
料金 5 usd
(786円)
7 usd
(1,101円)
616円
(年払い・大阪)
858円
(年払い・大阪)
メモリ 0.5GB 1GB 0.5GB 1GB
CPU 2コア 2コア 1コア 2コア
ストレージ 20GB SSD 40GB SSD 25GB SSD 50GB SSD
スナップショット 可能 可能 不可能 不可能

記事執筆時点でのレート、価格発表をもとにしています。

さくらのVPSを年払いにしていて半年も経ってない点や、円安の影響、Lightsail の IPv4 廃止関連の価格改訂も相俟って、さくらの方がやや割安になっていたので引っ越しはナシになりました。

こうやって表にしてみると Lightsail $5 プランは仮想コアが2つ付いてるんですね、なかなか魅力的。でも512MBで昨今の WP は満足に動いてくれるんだろうか。まぁ DNS は Route53 を使っているので、AWS にまとめたい気持ちは消えた訳ではありませんが、一旦保留にしましょう。

Debian のアップデート

最新 LTS (stable) の 12 にしたいと思います。いきなり 10 から 12 にすると弊害が出そうなので、まずは 11 にすることにしました。

/etc/apt/source.list を s/buster/bullseye/ して、s|buster/updates|bullseye-security| します。

apt update && apt upgrade && apt dist-upgrade && reboot

です。良い子はバラして実行するよ。再起動が終ったら

apt autoremove

します。

途中、sudoers や ssh_config, nginx などの設定ファイルをどうするか聞いてきますが、全キープ (default=N) で大丈夫でした。dist-upgrade のリリースノートは q で閉じます。

バージョン 11 になったことを確認したら、次は 12 にします。

同じく /etc/apt/source.list を s/bullseye/bookworm/g します。また、 $ に non-free non-free-firmware を追記します。そして、

apt update && apt upgrade && apt dist-upgrade && reboot

で、再起動が終ったら

apt autoremove

します。

こちらも設定ファイルをどうするか聞いてきますが、全キープで OK でした。

バージョン 12 になったことを確認します。

cat /etc/debian_version

PHP の更新

ブログにアクセスしてみると 502 Bad gateway と表示されるので、nginx は生きているようです。

tail /var/log/nginx/error.log

してみると、unix:/var/run/php/php7.3-fpm.sock が迷子みたい。今回、php-fpm は 8.3 になったので、/etc/enginx/site-enable/(サーバー設定) の fastcgi_pass を正しく書き直します。

systemctl enable php8.3-fpm.service

をして start して status を見ると active(running) で正しく動いたっぽいので、もう一度ブラウザからアクセスすると、「お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。 」というメッセージがブラウザ上に表示されました。やったぜ、とりあえず WP は復活した。あとは DB との接続です。

apt -y php8.2-mysql php8.2-gd php8.2-mbstring

して php-fpm を reload したら、晴れて正しく表示されました。

WP ダッシュボードの「PHPバージョンが古いよ!」という警告文も出なくなりました。また、PHP7.3 だと動かなくなっていた Site kit by Google プラグインも正しく動くようになりました。

OS のメジャーアップデートを2回かけるという大技をやってのけたわけですが、昔に比べるとほとんどつまづくところもなく、すんなりとアプデできちゃうのが素晴しいです。OSS コミュニティの力に脱帽しまくりです。もっと早くやっておけば良かったですね。