比較的OSのサポート期限は気にしていて早めに移行するようにしてきたのですが、OpenSSL 1.1.1のサポートが昨年9月に切れていることを失念していて今更ながらようやく対応しました。今まではCentOS7を中心に使ってきましたが、サポート期限の関係で2年ほど前から慣れないUbuntu22.04を最低限の構成で使用、今回はOpenSSL3系に標準対応しているAmazon Linux 2023にOSごと移行することにしました。
その中で、思いの外はまって時間を食ってしまったことを記載しておきます。
1. WordPressのアップロードサイズ上限がどうやっても変更できない
当サイトはWordPressを利用していますが、サーバー移行の際にAll-in-One WP Migration というプラグインを使ってサイトごとエクスポートして、それを移行先でインポートをします。エクスポートファイルサイズは約2GBあるのですが、デフォルトのWordPressでインポート(ファイルアップロード)できるサイズは2MBとと非常に小さいです。ですので、まずこのサイズを2GB以上に大きくする必要があるのですが、これに数時間はまりました。.htaccessなどをいじる方法なども試しましたがどれもダメ。
結論としては、php.ini で設定変更後、「php-fpm」を再起動する必要がありました。httpdの再起動だけではダメ。
# vim /etc/php.ini ----- . . . memory_limit = 4096M . post_max_size = 4096M . upload_max_filesize = 4096M . max_execution_time = 300 . max_input_time = 600 . ----- :wq
# systemctl restart php-fpm # systemctl restart httpd
これで4GBまで、アップロードできるようになりました!
ちなみに .htaccessに記述をすると、Internal Server Errorになりました。これはhttpdにphp-fpmを使用しているというサインであり、この時点で問題に気づければ解決が早かったと思います。
2. アップロードはできたものの100%で固まってしまい進まない
ただその後、次のハマりが発生。やっとの思いで2GBのファイルアップロードができたものの、100%までいってそれ以上進みません。これは根本解決できなかったのですが、元サーバーからエクスポート時に「高度なオプション – メディアライブラリをエクスポートしない (ファイル) 」を選択して一旦サイズの大きな画像系を除いて移行、その後に、/wp-conetnt/uploads/ フォルダをZip圧縮してAmazon S3に送り、それを移行先から取得して展開するという手段を取りました。画像系を除けば200MBちょっとくらいになり、問題なくインポートできました。
3. やっと移行できたが、ログイン画面で重大なエラーが出てログインできない
ここにきてまた試練。WordPressログイン画面で重大なエラーが発生したということで、ログインができません。wp-config.php のデバッグモードをONにすることで、もともと入れていたSiteGuardプラグインがFATALなエラーを吐いていることがわかりました。
# vim wp-config.php ----- . . define( 'WP_DEBUG', true ); . . ----- :wq
一旦、SiteGuardのフォルダをリネームしてWordPressで読み込まないようにして再度トライ。
# cd wp-content/plugins # mv siteguard siteguard-org
これで一応ログインできました!
プラグインからSiteGuardを削除して、もう一回入れ直しでなんとか復帰。原因は、セキュリティ強化のために設定していたのSiteGuardの画像認証が動作していなかったためでした。根本的にはphp-gd のインストールが不足していたため。
# dnf install php-gd # systemctl restart httpd
あとは、画像認証を設定して動作確認後、デバッグモードをOFFにして移行完了です。