サイト引っ越したら500エラー出て、画面映らなくなっちゃった……
あらあら
でもConoHaならサーバーもう1個作って移せばいいじゃない
15分もあれば作れるし、時間課金だから余分なお金はほとんど掛からないし
うん、そうする──げっ!
引越プラグインの「All-in-One WP Migration」が動かない!
サーバー移転してトラブル発生!
なってはいけないときにサーバーダウン(500エラー)
ConoHaに移転した直後のこと、500エラーを吐きました。
サーバーがダウンして訪問者がサイトを見られなくなります。
よりによって、以下の記事がはてなの新着エントリに載った直後に。
私にとってWordPress関連ではてなブックマーク3つ付いた初めての記事。
アクセスがどんどん流れ込んできています。
早く修復しないとっ!
エラーを直せないならサーバーを作り直してしまえ
500エラーに対処しようとするも、原因の見当がつかない。
サーバー再起動 → ダメ。
プランをメモリ4Gに変更 → ダメ。
※ConoHa VPSはクリックするだけでサーバーのスケールアップができます。
ここでふと思いつく。
新しくサーバーを作って立ち上げればいいのでは?
ConoHaは時間制課金でサーバー作るのも一瞬。
新サーバーを立ち上げてそちらに移しても、すぐに元サーバーを削除すれば作業時間分しか費用が掛からない。
これならすぐにできる、そうしよう。
楽ちんWordPress引越プラグインAll-in-One WP Migration
All-in-One WP Migrationが動かない!
というわけで、移転の時お世話になったプラグイン「All-in-One WP Migration 」を立ち上げます。
「All-in-One WP Migration」はクリック一発で設定丸ごとバックアップが取れる超優れものプラグイン
わずか数クリックで移転が完了します
これさえあれば……あれ? なんか、フリーズしてない?
画面には、次のメッセージが映ったまま。
Done resolving URL address
どうすれば!
WordPressサイトの質問スレ
「Done resolving URL address」で検索すると、英語の結果しか出てこない。
一番読みやすそうなWordPress公式のスレを見る。
ざっと流し読んで一番下まで行く……も、
解決してないじゃないか!
しかしじっくりスレを読み直すと、答えが書いてました。
All-in-One WP Migrationが動かなかった原因
スレから引用します。
{“Number”:2,”Message”:”fopen(\/home\/******\/public_html\/wp-content\/plugins\/all-in-one-wp-migration\/storage\/ocgy690ese8g\/export.log): failed to open stream: Permission denied”,”File”:”\/home\/*******\/public_html\/wp-content\/plugins\/all-in-one-wp-migration\/lib\/model\/class-ai1wm-log.php”,”Line”:42}
この中の、
Permission denied
が答え、つまり……
フォルダやファイルのパーミッションが厳しすぎるのが原因なのね
所有者やグループが問題かもだけど、とにかくそっち系
「All-in-One WP Migration」のフォルダを見ると、パーミッションは755。
とりあえず全て777にしてみました。
すると……
動いた!
パーミッショントラブルは他のプラグインでも起こりうる
こうしたパーミッションや所有権によるトラブルはAll-in-One WP Migrationに限りません。
他のプラグインにも当てはまります。
例えばバックアッププラグインBackWPUpなど。
これは、
プラグインが動かなかったら、真っ先にこれを疑ってください。
パーミッションと所有権を適切に設定することで八割方のトラブルは解決できると思います。
具体的な対処法
パーミッション・所有者・グループを変更する
コマンド慣れている方はllしてからchmodしてください。
以下はコマンド慣れてない方向けにSFTPクライアントWinSCPを用いた方法を紹介します。
WinSCPを起動して、プラグインフォルダへ移動。
all-in-one-wp-migrationフォルダを右クリック、プロパティを選びます。
こんな画面が出てきます。
恐らくパーミッションは755になってるはず。
所有者はhttpd、グループはwwwのままパーミッションを775に変更してみてください。
「同じパーミッション/グループ/所有者を再帰的に決定」にチェックします。
これでall-in-one-wp-migrationフォルダにあるファイルとフォルダを一括で権限を書き換えることができます。
エクスポートの場合は、wp-contentフォルダに「ai1wm-backups」フォルダを作成します。
既に存在している場合は同じようにグループ・所有者・パーミッションを変更します。
以上で動かなければ777にしてください。
所有者やパーミッションが原因なら最悪でもこれで動くはずです。
ただし777にするのはセキュリティ上問題があります。
常時入れておくべきプラグインでもありません。
移転作業終わったらプラグインのアンインストールを推奨します。
まとめ
もしサーバー移転してプラグインが動かなかったときは、真っ先にパーミッションを疑ってね