バックアップ対策って別の意味で大変なんだな…って思ったので記事にしておく。
事案:Wordpressが急に表示されなくなった
WordPressが表示されなくなるのはよくあることで、原因も多岐に渡ります。
ご相談を受けて修正した今回のケースは、ちょっと特殊でした。
- 管理者はWordpressに触っていないが、急に今朝からずっと404エラー状態
- サーバーのエラーログによると「BackWPup」が夜中にエラーを起こし、その後から404の模様
- FTPでチェックしたところ、「.htaccess」「wp-config.php」「wp-adminフォルダ」「pluginフォルダ」が夜中に更新されていた
- 少し修正したところ「wordpressのどこにアクセスしてもインストール画面が出てしまうようになった」。
どこへアクセスしてもインストール画面に繋がるって404よりも危なすぎ笑えない…
危なすぎて、作業中はBASIC認証でwp-adminをアクセス制限しておいた。
解決するまでたどった道のり
- /wp-admin/で入れないならwp-login.phpではどうか?
→ダメ - wp-login.phpでダメなら、サーバー側の「簡易インストール一覧」から入れないか?
→そもそもインストール済みのWordpressが表示されていない(!) - トップページも管理画面もエラーになるので、ドメインとの連携が有効か確認(Whois及びサーバーパネル)
→有効でした - wordpressのフォルダに入っているsample.htmlを表示してみる
→表示できた(ということはサーバーには何の問題もなく、Wordpressのみの問題…) - データベースに設定されてるURLが間違っているのでは?
→合っていた… - BackWPupが悪さをしているのでは?と思ってプラグインフォルダを開けてみたが、何もなかった。
→異常なし - .htaccessが変な転送をしているのではないかと思って開けてみた
→#BEGIN WORDPRESSから#END WORDPRESSまでの間に記述が何もなかった!!
→Wordpress用の設定を書き加えた。 - ここから、どこにアクセスしてもインストール画面に飛ばされるようになる。
- wp-config.phpを開けてみたところ、データベースの設定がsampleでさえない変な文字列に書き換わっていた。
→データベース本体は無事だったので、MySQLの設定を全て書き換えた。 - ここで、サーバー側の「簡易インストール一覧」に表示されるようになる。多分データベース接続できるようになったから、サーバーパネル側がWordpressあるぞ~って認識してくれるようになったのだろう。
→でもやっぱり、インストール画面に飛ばされる - まさかと思い、wp-config.phpの接頭辞を確認したらwp_ではない謎の数列になっていた!!
→wp_に修正したらサイトが見られるようになった。復旧!
WordPressのどこにアクセスしてもインストール画面にリダイレクトされてしまう
これはつまり、データベース内にWordpressがないと勘違いしているってことなんでしょうかね。
私が、改ざんされてたのがMySQLが関わるデータベース設定部分だけだと思いこんでいなければ30分くらい速く解決できたかも?(苦笑)
接頭辞が’wp_’ではなく’123456_’みたいな数列に改ざんされていたので、項目名が見つからなくてWordpressはインストールされてないと判断されてしまっていたのだと思います。
今回は、BackupWPupのエラーに伴った暴走により、.htaccessとwp-configが改ざんされてしまって起きた事件だったというわけです。
なお、バックアップ系プラグインはwp-config.phpまではさすがにバックアップしてくれないみたいなんで、自分でFTPで保存しておくしかないですね。
おわりに
WordPressはPHPやhtml、FTPに詳しくない人でも気軽に本格的なページが運営できる素晴らしいツールだと思います。
しかし、何かが起きたとき、FTPに慣れていないとwp-configや.htaccessをいじれないのでパニックになってしまう可能性も…。
”バックアップは大切だ”から、バックアップ系プラグインを入れたのに、そのバックアッププラグインがエラーを起こしたのがきっかけであちこち設定周りが書き換わってしまってサイトが表示できなくなるとは…。
うむ…大変恐ろしい話でした。