BackWPupでバックアップしたデータをXAMPPで作成したバーチャルホストにリストアする方法。但し、バーチャルホストの作成方法については以下の前提条件がある。
- デフォルトで作られるxampp/htdocsの直下ではなく、別の独立したディレクトリに作成したバーチャルホスト
具体例としては、私が以前書いた「バーチャルホストを別フォルダに構築する」という記事で作成したバーチャルホストとなる。この場合、XAMPPのインストール時に作られたhtdocs内のファイルをすべてバーチャルホストの下にあるhtdocsの中に入れておく必要がある。
今回の作業の手順としては、以下の4段階となる。
- 準備作業
- phpMyadminの立ち上げ
- 新しいユーザーとDBの作成
- DBのインポート
- DB内のurlデータの変換
BackWPupのバックアップデータをXAMPPにリストア
準備作業
事前に行う作業は以下の3点。1と2は適当な場所でかまわない。共に終わってしまえばゴミ箱に行くデータであることから、私はデスクトップを使用した。
- BackWPupのバックアップデータを解凍して保存
- 解凍したフォルダ内にあるDBファイルを取り出して別の場所に保存
- 残った中身のフォルダやファイルをバーチャルホスト内に移動
問題は3の場所である。中身はWordPressのデータであり、バックアップ元のディレクトリ構成と同じとする。私の場合はドメイン直下にWordPressを置いていることから、バーチャルホストのhtdocs内に全てを移動させた。「XAMPPで複数のサイトを構築①」で構築したバーチャルホストを例にすると、
- C:/xampp-t/test1/htdocs(この中に解凍したフォルダ内のフォルダ・ファイルを移動)
この作業を始めた時は、XAMPPの動作方法を理論的に掴んだ上で行ったわけではなかった。試行錯誤をしながら最後まで行ったのだが、この段階で今回の採用した方法の問題点が明らかになった。私の場合、ドメイン直下にwordpressを置いていることから、上記のようにhtdocs内にWordPress用のフォルダ/ファイルが入ることになる。htdocs内にはXAMPPを動かすためのフォルダ/ファイルがかなりあることから、WordPress用のフォルダ/ファイルと混在することになる。従って、現在はここに書いた形ではなく、別の方法を採用している。その方法については、改めて記事にするつもりである。
phpMyadminの立ち上げ
XAMPPに新しいDBを作成するためにXAMPP内でphpMyAdminを立ち上げる。phpMyAdminの立ち上げ方は、以下の3通りがある。
- XAMPPのControl PanelからApacheの「Admin」ボタンをクリックする
- ブラウザのアドレス欄で「http://localhost」と打ち込んで出てくるXAMPPのスタート画面でphpMyAdminをクリックする
- ブラウザで「http://localhost/phpmyadmin」と打ち込む
上記2の場合、ユーザー名とパスワードの入力が求められるはずである。XAMPPインストール時に設定したものを入力する。忘れた場合は以下のファイルに記録してある。
C:\xampp\security\xamppdirpasswd.txt
phpMyAdminのトップページではユーザー名とパスワードが求められるので、XAMPPインストール時に設定したものを入力。上記同様、忘れた場合は以下のファイルを見れば記録してある。
C:\xampp\security\mysqlrootpasswd.txt
新しいユーザーとDBの作成
phpMyAdminでXAMPP内に新しいDBを作る前に、まずそれを利用するユーザーを作成する。ユーザー作成場面でユーザー名と同じ名前のDBを作成することができる。ここでのユーザー名やDB名は、バックアップ元のものと違っていても構わない。DBとWordPressを関連付けるconfig.phpの設定は、最後にここでの設定に合わせて行うことになる。
phpMyAdminを立ち上げると、以下のようなTopページが出てくる(クリックすると拡大する、以下同じ)。
上部にあるメニューから「ユーザー」をクリックする(上の画像の赤丸部分)。
ユーザー概略の下にある「ユーザーを追加する」をクリック。
上のユーザー設定画面でユーザーの情報の設定と、同時にユーザー専用のDBを作成する。まず、ユーザーのログイン情報だが、設定するのはユーザー名とホスト、それにパスワードである。
- ユーザー名⇒任意に設定(例としてxample)
- ホスト⇒プルダウンメニューで「ローカル」を選ぶと自動的に「localhost」が右枠に入る
- パスワード⇒「テキスト入力項目の値」のままで右枠に任意のP/W入力(2カ所)
「パスワードを生成する」ところで「生成する」のボタンを押すと、自動でP/Wを発行してくれる。
次に「ユーザー専用データベース」のところで「同名のデータベースを作成してすべての特権を与える」にチェックする。そして一番下にある実行ボタンを押せばユーザーの追加と新規DBの作成が完了する。ここで設定したユーザー名とDB名、それにホスト名とP/Wは最後のurlデータの変換を行う際に必要となる。
実行ボタンの前に「グローバル特権」を設定するエリアがある。ここはデフォルトのまま(全てのチェックが外れている状態)のままで良い。作成したDBへの特権は、既に全て与えられている。ここでの設定は、phpMyAdmin内の全てのDBに対する特権に対するものである。
DBのインポート
これからBackWPupでバックアップしたDBを新たに作成したDBにインポートする作業に入る。下の画面は上記の作業が終わった後に表示されるユーザー画面となっているが、実際のスタートはphpMyAdminの何処からでも構わない。
まず最初に行うのは、新たに追加したDBを選択することである。これを忘れてインポートを行うと、処理が途中でストップしてしまう。DB選択してない場合はエクスポートページに行けないなど、phpMyAdmin側の設定が望まれるところである。
左側に表示されるDBリストの中から自分で追加したDBをクリックすると、次の画面が表示される。
新規作成したDBであることから、「このデータベースにはテーブルがありません」と表示される。しかし、構わずにメニューから「インポート」を選択する。
ファイルを選択してそれ以外の設定項目は全てデフォルトのままで下部にある「実行」ボタンを押すと、ファイルの容量によるとは思うがほんの数秒でインポートが完了する。
上の画像がDBファイルのアップロード画面だが、カスタマイズしているのでデフォルトの画面とは異なっている。この時使用したのはバージョン4.0.4.1であるが、インポートできるファイルの最大容量は2,048kBであった。それ以上の容量のファイルを扱うことから、それが可能なように私のphpMyAdminはカスタマイズしている。その内容については下記の記事を参照されたく。
DB内のurlデータの変換
ようやく最後の作業となるが、実はこの作業をうまく行うことが非常に難しかった。いろいろ調べてみると、WordPressで作成したサイトはページをその都度作成しており、DB内のurlを適切に書きなえないとうまく動かないらしい。それを手作業で行うのはかなりの労力が必要らしく、簡単に終わらせる方法はなかなか見つからなかった。そしてようやく見つけたのが以下のサイトである。
⇒ウィジェットも対応。WordPressでサーバ移転時にデータベースのドメインを置換する方法
上記サイトにSERCH REPLACE DBというスクリプトのダウンロード先URLがあるので、そこからファイルをダウンロードする。私がダウンロードした時にはsearchreplacedb21.zipというファイル名であった。これを解凍し、WordPressをインストールしたフォルダに保存する。今回の例で言うと、以下のところとなる。
- C:/xampp-t/test1/htdocs(この中にWordPressが置かれている)
以下、searchreplacedb21.phpの使い方は上記サイトを参考にして作業して頂きたい。上記サイトの手順どおりに実行すると、私の場合は実に簡単にサイトをXAMPP内にリストアすることができた。
私の場合、手順が分かるまではかなり苦労したが、分かってしまえば作業自体は実に簡単に終了することができた。最後のurlデータの変換で「データベース接続確立エラー」が出るかもしれないが、その場合はWordPressのconfig.phpファイルを書き直すことでエラーを解消することができる。それは上記の作業で行っているはずなのだが、Wordpressの設定方法によってはうまく処理されていない場合があるようだ。config.phpのいじり方は、XAMPPへのWordPressのインストール時に行う方法と同じ。