WordPressのデータ復旧 その1 phpmyadminインストールとDB書き換え
BackWPupを使って、取ってあったバックアップからリカバリーしたのだけれど、
ローカルのブログをReadyNASからCentOSに移し替えたので、メモ書き
サーバー上のファイルの復元
バックアップデータからの復元は、gzip形式の圧縮ファイルを解凍し、「/wp-content」のフォルダを上書き
バックアップデータの中には、「/wp-content」フォルダ以外のファイルも含まれていますが、
WordPressの設定ファイル (wp-config.php)と「/wp-content」フォルダ以外は上書きしないこと。
データベースの復元(データベースのインポート)
データベースのインポートは、phpMyAdminを利用するので、まずその準備
1 インストール
標準のリポジトリには入っていないのでEPELリポジトリを追加
その1で追加済
# yum install phpmyadmin
2 設定
Apacheのバージョン確認
# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built: Jun 17 2014 19:11:24
<Directory /usr/share/phpMyAdmin/>
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
Require ip 192.168.1. ← 追加:内部ネットワークからのアクセスを許可
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
3 Apache設定反映
# service httpd restart
Redirecting to /bin/systemctl restart httpd.service
4 phpMyAdmin確認
http://サーバー名/phpmyadmin/へアクセスして、phpMyAdminのログイン画面が表示される
MySQLに登録されているアカウントでログインできれば準備OK
データベースの復元
phpMyAdminにログインし、「インポート」をクリック
バックアップの圧縮ファイルを解凍して、拡張子が「.sql」のファイルを探す。
これがデータベースのバックアップになる
2Mの制限に引っかかる場合は、ZIPで圧縮する。
インポート画面で、SQLファイルを選択し、アップロードするだけ
プラグインの再インストール
BackWPupの管理画面でジョブを登録する際に「Installed plugins list」にチェックを入れておくと、
現在インストールされているプラグインの一覧がテキスト形式で出力されている
Installed plugins listの例
791e6ef93126b29e3a8dc743cc10d7e1.pluginlist.2015-03-11.txt
このテキストファイルをテキストエディタで開き、プラグイン名を基にプラグインを個別に再インストール
各プラグインの設定や過去のデータは、データベースに格納されていますので、プラグインを
再インストールすれば、設定や過去のデータが引き継がれます。
とここまで、やったが、正常に管理画面が表示されないので、
DBの環境が違うので、修正する。
前の環境になっているので、これを今の環境に書き換える作業を行う必要がある。
テキストエディタでも、できるようですが、面倒なのでPHPスクリプトを利用
DATABASE SEARCH AND REPLACE SCRIPT IN PHP からPHPスクリプトをダウンロード
Search-Replace-DB-master.zipを解凍後、Search-Replace-DB-masterフォルダをそのまま
WordPressフォルダにコピー
WordPressフォルダ内にある wp-config.php を開いて、DB_HOSTを現在の環境のホスト名に書き直す。
ローカル環境なので「localhost」と指定した
wp-config.php を編集し終えたらブラウザからスクリプトにアクセス
ローカル環境のWordpressのアドレスが http://localhost/ ならば、
http://localhost/Search-Replace-DB-master/ のようにアクセスする
スクリプトにアクセスできたということは、「database」の項目は全て埋まっているはずなので、
あとは「search/replace」のところで置換前のアドレスを「replace」の空欄に、
置換後のアドレスを「with」の後ろの空欄に入力
入力し終えたら「dry run」をクリックして置換テストを行い、問題がなければ「live run」をクリックして置換実行
これで置換作業は完了。
確認作業としてブラウザから http://localhost/ でアクセスしてサイトが正常に閲覧できればOK