と、報告を受けて作業開始。細かくチェックし確認してみるも、あからさまなおかしいところはない。あちこちのブログで「ここをチェックしろ」とある様なものは当然全て確認したが、治らない。正確にはindex.phpが何度も読み返している様な感じで画面自体は真っ白、というものだ。当然、デバックモードを有効にしてもエラーメッセージが表示される様なこともない。直前にはなにもやってない。心当たりもない。唯一思い当たるのは自動でWordPressがアップデートしたかもしれない・・・ぐらいか。ちなみに管理画面にはアクセス出来る。
困った・・・orz
こんな時のためにBackWPup
週一でBackWPupで自動的にzip圧縮してバックアップを取っているので、いつのものがあるかを確認。確実に大丈夫だった時のもののうち一番新しめのものと、本日付のものを2つダウンロード。これで、何をどう弄っても大丈夫。
・・・やっぱり何をどういじってもダメ(苦笑
この辺できっぱりと諦めて目的は「復旧」なので作り直した方が時間的には早い。BackWPupでそのまま復旧しても良かったが、念のため(古いファイルを明示的に残して置きたかったのもあって)、新しくデータベースを用意し、WordPressを新規にInstallした上で、そちらに復旧することにした。
でかいファイル(多いファイル)の転送はtarで固めて一つにした方がいいね
FTP(うちではTransmit5)で作業してたんだけど数が多いと途中で止まのと時間がかなりかかる。のでtar.bz2で固めてからFTPで転送するとあっという間。転送されれば、SSHでログインしてtarで解凍する。FTPで全部やろうとすると1時間以上かかって止まる、とかだけど、後者の方法なら数分で終わる。
今後のためのmemoにざっと手順も残しとこ。。。(以下、ロリポップの場合)
- BackWPupでデータベースとファイルをロリポップサーバへZIPで固めてバックアップ
- ロリポップサーバへとったZIP形式のバックアップファイルをローカルにダウンロードし、解凍して展開
- ロリポップサーバに新たなディレクトリを作成しそこに移行することにする。新たなデータベースを作成する。
- 中のwp-config.phpをロリポップサーバで作ったデータベースの内容と合わせる。(接頭辞にも注意)
- ロリポップサーバで作ったデータベースへアクセスし、展開したバックアップファイル内の******.sqlを指定してインポート
- 展開したバックアップファイルのうち ****.sql , manifest.json , backwpup_readme.txt , .htaccess以外をターミナルでtar.bz2で固める
> tar zcvf hogehoge.tar.bz2 *.* * - hogehoge.tar.bz2を新たに作ったディレクトリにFTPで転送する
- ロリポップサーバにログインしてSSHを有効にして設定値を確認。
- ターミナルでロリポップにSSHログインし、新たに作っておいた当該ディレクトリに移動し、先ほど転送しておいたhogehoge.tar.bz2を解凍
> tar -jxvf hogehoge.tar.bz2 - 独自ドメインの設定を以前のディレクトリから新しいディレクトリに変更し反映されるまで待つ。(数分〜半日程度)待つ(新しいサーバでドメインが有効にならないと、パスが有効にならずに表示がおかしくなるし、上手く設定出来ない)
- ドメインが反映された頃、とりあえずトップページの表示確認
- トップページが確認OKなら、細かく全体を確認して、修正すべきを直す
最初、これを本日付のバックアップファイルでやったら全く同じで真っ白くなったので、もう一つの大丈夫なのが確認取れている一番新しいのでやったら(******.sqlはインポートし直しせず最新のまま)これはOK。んで、最後に基本的にはOKなバックアップを使い、******.sqlは最初にインポートしたまま変えず、wp-contentフォルダだけ新しいのと差し替えてtar.bz2で固めてやり直したら、バッチリでした。ふぅ。。。でWordPressの最新アップデート前に戻ってたので、ここでもう一度BackWPupでバックアップを取った上で、恐る恐るWordPressの最新アップデートを適用したら、無事復旧し、アップデートも適用されました。
想像するに、wordpressの自動アップデートの時になにかあってうまく行かなかったんでは無いかと。ま、やり方は色々あるだろうけれど、今回はとある事情でディレクトリも新たに作りたかったってのもあって、よしとしましょう。
・・・ふぅ・・・・。