Hetemlで新サーバに移設したら、WordPressが死んだ件(状況と復活方法メモ)
私は、モートンサイト(http://www.morten-harket.jp)も含め、レンタルサーバHetemlで運営しているのですが、昨日の晩、「旧サーバーから新サーバーへ移設のお願い」というのがあり、見てみると「移設ボタンを押してコピーを待ち、hostsファイルを編集して新サーバーURLでの動作を確認したら完了ボタンを押すだけ」とあったので、早速やってみたところ、大変な目に遭いました。なんと思いも掛けないことが起きていたのです。それは… 『新サーバで、hetemlアドレスのwordpressが動作しなくなった』のです。
状況としては以下の通り
これはどう考えてもサポートセンターに聞かないと解らないということで、サポートと電話して、.netになっているからこそ、おかしいので、その設定のところはないのかという話をしたがわからず。諦めきれなかったので、つい先ほどまで色々調べて、ようやっと直ったところです。
動かなかった理由は一つ
全ては、「Wordpressの設定ではheteml.jpなのに、移転先がheteml.netだった」ということに限ります。つまり、
Hetemlで新サーバーに移設すると、これまで「hogehoge.heteml.jp」だったものが、「hogehoge.heteml.net」になります。Wordpressは最初の設定で、urlが設定に入っているので、ここが変更になると、矛盾を起こし、動作しなくなります。
サーバ移設のところには.jpから.netになるとは書いていませんから、まさかここに修正が必要になるとは思わなかったですが、まさに設定が「.jp」になっているからこそ、移転前のサーバ(heteml.jp)にアクセスしにいき、403 Forbiddenになっていたのです。500のサーバーエラーは、設定が変わったためにプラグインなどの一部が動作しなかったりしたことに起因しているようでした。
モートン・ハルケットファンサイトや、Håvard Rem氏の詩のサイトは独自ドメインをとっているのでサーバを変更してもurlは変わらないため問題はないものの、HetemlはURLが変わってしまうために、この個人サイトだけが表示できないという状況になったのでした。
解決方法
設定を変更したいということで、検索したところ、以下のページに解決方法がありました。
設定からWordPressアドレス、サイトアドレス(URL)を変更してしまった時の正しい対処法:初心者向け
この参照先を見習い、wp-config.php に、
define('WP_HOME','http://reveries.heteml.net/Im_the_one/');
define('WP_SITEURL','http://reveries.heteml.net/Im_the_one/');
というように、新しいサーバでのサイトアドレスを入れたところ、無事動くようになりました。
なお、ログインできないため、SiteGuardについては、プラグインを一時的にリネームし、物理的に無効にしたあと、名前を戻して解除するという力業にしました。また、ログインしたあと、エラーを起こしているものについては、停止(できなければリネームして、無理矢理停止)しました。新サーバではPHP 7.3のモジュール版が使えますが、こちらではphp.iniが使えないとのことなので、エラーにあったメモリーオーバーについて、CGI版にしてphp.iniを編集、動作が問題なくなってから、モジュール版に直しました。
SiteGuardに対しては、一時的に無効にした後は、以前設定していた部分が消えているので、改めて修正することもしました。
Hetemlで旧サーバから新サーバへ自力で移設を考えている人へ
繰り返しますが、ドメインが変わってしまいます。私は告知すらできませんでしたが、告知などをすることと、SiteGuardは移転前に止めておくのが吉だと思います(特にwp-adminのアドレスを変更したり、CAPTCHAを併用したログインにしている場合)。Hetemlの説明では、ボタン一発のように見えますが、実際はMySQLが古い場合はダメ等もあるようなので、移転とか移設というキーワードでHeteml内のお知らせを確認した上で、バックアップやいざというときの為のデータの出力もしっかり取って実施するのが良いと思います。
Morten Harket.jp (http://www.morten-harket.jp/)の中の人。
二児の母で、フルタイム勤務しつつ、ノルウェー語の勉強をしています。
現在、NORLAからサポートを受け、ノルウェー語の詩の翻訳を実施中。