はじめに
長らく使っていたSeiribako.Netですが、PHPのVersionが古くなり、色々とアップデートできないPluginが増えてきたので、丸っと新しいものにしました。色々とハマタっところがあったので、備忘録としてまとめておきます。
アップグレードの方針
Seiribako.NetはGCPで利用できる、BitnamiでパッケージされたWordpressを利用しています。なぜかというと、たまたま見たサイトがそれで説明してあったため、特に疑うこともなく、それで構築しました。
実際に、管理も簡単でとても使いやすいと思うのですが、長いこと運用していく中で、一つ決定的な問題が発生しました。NGINX、PHP、MYSQLあたりがバンドルされているのですが、バンドルされているが故、これを個別にアップデートすることができないようです。
この情報を確認し、今回のアップグレードは、最新版のBitnami版Wordpressを構築して、データ移行する方針としました。データ移行自体は、以前のSeiribako.Netでもやっていたので、なんとかなるだろうとたかを括っていましたが、幾つかハマったので、メモしておきます。
ハマったところ
1. All in One WP Migration
割と有名なデータ移行ツールかと思いますが、二つのはまりポイントがあり、結局、このPluginを使ってのデータ移行を諦めることとしました。
一つ目は、アップロードファイルのサイズの上限設定でした。こちらはこの辺りのサイトを参考にして、クリアしました。
https://docs.bitnami.com/aws/apps/wordpress/administration/increase-upload-limit-php
わかりにくかったのは、php.iniの変更ではuploadファイルの上限は変更できるものの、実際に処理するファイルの上限は変更されない(ということだと思う。)ため、ファイルのアップロードが終わっても、1日経っても処理が終わらないという状態になることでした。
これをどうにかクリアして、データの移行が完了しても、結果、Wordpressの画面を表示させるタイミングで、Fatal Error has occurredとなり、管理画面から閉め出されてしまい、会えなく撃沈しました。
なお、今になって思えば、Fatal Errorを起こしていたのは、おそらくIP Geo Blockだったと思うので、このPluginを無効化すれば、それで自体は買い消しただろうと思います。が、その切り分けをする元気はなかったので、別のアプローチにすることにしました。
2. Updraft Plus
All In One WP Migrationを諦めて、別のPluginとして、Updaraft Plusを利用しました。こちらは、バックアップをまとめてではなく、ファイル単位で選択してリストアができるので、どこで何が原因でFatal Errorになるのかを掴みやすく、結局、こちらでデータ移行をしました。
その間にもやっぱり、Fatal Errorの問題は発生し、切り分けをした結果、ここでPluginが原因となっていたことが判明しました。原因がわかれば、あとは対処法を検討すれば良いだけなので、状況はかなりかいぜんしました。
Updraft Plusでは、DBとPlugin、theme、mu-plugin、uploads、othersといった具合にファイルが分かれており、ファイル単位でrestoreができるようになっています。ここで、色々と切り分けをした結果、mu-pluginとothersを捨てた気がします。どちらもzipファイルなので、解凍して中身を確認することができるのですが、たいしたことがないものだったので、遠慮なく捨てました。
DBの復旧、themeの復旧、DBの復旧、Pluginの復旧、DBの復旧といった具合に、各ファイルをRestoreするたびに、DBをRestoreしていくことで、その他のFatal Errorも防ぐことができました。
3. IP Geo Block
過去に使っていたPluginで引き続き使いたいものに関しては、新しいものを新規でインストールする手段を取ったのですが、IP Geo Blockだけは、なぜかインストールしても不安定で、気がつくとFatal Errorが再発してしまっていました。
その度に、wp-contentフォルダ内のip-geo-apiフォルダのフォルダ名を変更して、サイトを復旧していたのですが、色々と調べてみると、どうもこのPlugin自体が、PHP8以降に対応していないようで、問題を引き起こしていました。
後継となる、IP Location BlockといPluginに変更することで、Fatal Errorは起こらなくなりました。
こちらのサイトを参考にさせていただきました。
https://gn-office.pro/archives/695
まとめ
- Seiribako.NetのUpgradeに関してまとめました。
- いつも思うのは、自分はIT関連の仕事に就いているため、まぁ、データさえあればなんとかなるだろうと思って、こういった作業は気にせずできるのですが、そうでなかったら普通の人にはなかなかしんどい作業だろうなと思います。