複数台のWebサーバーを管理していますが、うち一台はNTT PCの WebArena SuiteX をレンタルして、私がOSを管理しなくていいのでとっても楽です。セキュリティーやメンテナンスはプロバイダーまかせでいいですからね。
その上ではWordPressを動作させているのですが、WordPress の管理は利用者に任せています。
問題は利用者はIT能力が低い人ってこと、時々、強く確認しないとWordPressのバージョンメンテナンスしているかどうかわからない。WordPressは自動更新機能があるので、たぶん大丈夫だろうと思っていたのですが、昨日、WordPressのアクセス権を訪ねて実際にWordPressにアクセスしてみると、更新が止まっていることが判明し、そこからが面倒なことになりました。
WordPressの更新ページを開いてみると、利用者がサボっていたわけではなく、SuiteX サーバーのPHPバージョンが古すぎて、更新できなかったみたいです。確かに、これだと管理者である私が作業するしかありません。
しかし、なぜこんなに古いPHP使ってる?
自分のサーバーを確認してみたところ、自分のサーバーでは PHP7.4を使っています。今どきPHP5系はないだろう!
SuiteXのオンラインマニュアルを見てみると、SuiteXはインストール済み複数のPHPバージョンを選択して使用できる仕組みになっていて、更に特定のディレクトリ下にディレクティブを置くことで、設定したPHPバージョン以外のバージョンのPHPも使うことが出来るようになっています。
確認してみると、PHP7.2が動いているようです。
よくよく思い出してみると、利用者がSuiteXを使用始めたのは2005年頃で、WordPressを使い始めたのが2010年頃だったはず。そういえば、WordPressが指定するPHPバージョンの都合に合わせてサーバーが持っているPHP以外のPHPバージョンを使用できるように設定したことがあるな~と、過去メモを検索してみると見つかりました。
そうだそうだ、こんな事情で PHP5.3を使っていたんだった。
ということで、WordPress 下の .htaccess に書いてある
AddHandler application/x-httpd-php53 .php
を削除。そうしたら、WordPressの更新が出来るようになりました。
が、うまく行かない。
ダウンロードしたアーカイブファイルのチェックサムが一致しないということで、作業が進まない。
エラーメッセージを検索してみると、同様の問題が時々起きているようで、WordPressダウンロードサイト上に置かれた元ファイルのチェックサムが壊れていて、ダウンロード結果のチェックサムと一致しないことが原因のようです。
これは、WordPress側の問題なので、私にはどうしようもない。
しかし、放置はできません。セキュリティー的に問題がある状態にできませんからね。
仕方ないので、ローカルにダウンロードした最新WordPressを展開して、ftpでSuiteXサーバーに上書きアップロードすることにしました。
ところが、これもなかなかうまくゆかない。ローカルに展開すると膨大な数のファイルが出来るので、これを一個一個上書きアップロードすると相当遅くなります。途中でftpコネクションがブチブチ切れます。そのたびにやり直し。
最終的に全ファイルアップロードできたものの、どこかにファイルの間違いがあるようで、WordPressが全く機能しなくなってしまいました。(データはバックアップしているので、心配には及びませんが、サイト機能の一部が止まりますからサイト運営者にとっては問題。私じゃないけどね。)
シェルが使えれば15分で済む作業ですが、ftpしか使えないので、3時間掛けて失敗。ため息が出まくります。こうなったら、SuiteX側で準備しているWordPressをそのまま使っちゃおうか?って思い始めました。
SuiteXのコントロールパネルでWordPressを確認してみると、以前は、サーバーが指定する特定位置にしかインストールできなかったWordPressを任意の位置にインストールできるようになっていました。ラッキー。これを使おう!
SuiteX側のWordPressを使うと、作業は一瞬。いや1分。
とりあえず、現時点のwordpressが blog というディレクトリにインストールされているので、安全のため blog2 に展開するように指定しました。blog から wp-config.php と wp-contents 下のメディアファイル、プラグインファイルを一旦PCにダウンロードした後、blog2 にアップロード。
この後、ftp にて、blog → blog.stop 、blog2 → blog に名前変更して、ホームページ構造を新WordPressに切り替え。当然、php5.3の記述を削除し、PHP 7.2じゃなく PHP7.4 をサイト標準のPHPバージョンとして、これで動かせることを確認しました。(PHP5系とのしがらみがなくなったので、最新PHPを使う方が長く使えますからね。)
作業内容自体は超単純なのですが、(Shellが使えず、)ftpを使わざるを得ないレンタルサーバーのため、6時間以上掛かりました。レンタルサーバーは、管理が楽な反面、コントロールパネルによるメンテナンスに失敗した時は、相当時間をロスします。cgiを使ってコマンドを実行するという手もありますが、失敗すると、もっと時間をロスすることになるので慎重にならざるを得ません。
WordPressのバージョンを更新するだけだったのに、、、、、疲れた~。