こんにちは。
人の印象で一番イヤな印象に残ってしまうのは「口が臭い」ことだと前々から思っているSatoです。口臭予防大事!
今回もWordPress関連です。
現在動いているBlogをWordPress 4.0にアップデートするにあたり、ローカルに本番環境で使用しているプラグインを入れてみたところ盛大にエラーが起きたため、本番のサーバー環境と全く同じものをローカルにコピーして再度確かめようとしたところこれまた手こずってしまったので、手こずった原因と解決方法をメモしておこうと思います。
起きてしまった問題
私は最初に、エクスポートしてきたディレクトリの中身をそのままローカルのディレクトリに上書きしました。
そこでlocalhostを確認したところ、サーバーエラーが。。
このときまだダンプファイルをお引っ越しするデータベースに入れていなかったので、中身の現行Blogのアドレス等をlocalhostに書き換えて、MySQLのパスワードやホスト名ももろもろ設定してインポートしました。
これで通常通りローカル上で動くようになったわものの、WordPressでログインしようとすると現在動いているサーバーの方に勝手に変わってしまう。。
_人人人人人人人人人人人人人人人人人_
> localでログインできないッ!! <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
結局、MAMPを再起動して作ったデータベースを削除して最初から設定し直したらちゃんと動くようになったので、
キャッシュ的な何かだったのかダンプファイルが間違っていたのか原因がわからなかったのですが…
上記のように原因を突き止めて行くにあたって色々と修正が必要な部分があったので、お引越しに当たって変更するべき部分などを書いておこうと思った次第です。
前準備
まず、
- ダンプファイル(拡張子が .sql のファイル。バックアップファイル)
- WordPressディレクトリ
は既にエクスポートされているとします。
1.ディレクトリの中身をコピーする
エクスポートしてきたWordPressディレクトリの中身を、まるごとローカルサーバーにコピーします。
一応、ローカルサーバーのディレクトリの中身もバックアップを取っておくか、別のディレクトリを作成してコピーした方が良いでしょう!
2.「.htaccess」が入っているか確認する
ドットから始まるファイル、いわゆるドットファイルは、通常では見れないようになっています。
そのため、ファイルをまるごとコピーしたつもりでもドットファイルはコピーできていない可能性があります。
コマンドを叩いてコピーしてもいいですし、ドットファイルを見えるようにしてコピーしても良いでしょう。
ドットファイルを見えるようにするには、以下のサイトをご参考にどうぞ。
Macの隠しファイルや隠しフォルダを表示する裏技 / Inforati
http://inforati.jp/apple/mac-tips-techniques/system-hints/how-to-show-hidden-file-or-folder-of-macos.html
Windows の隠しファイルや隠しフォルダーを表示する方法
http://support.microsoft.com/kb/2453311/ja
ダンプファイルの中身を書き換える
ダンプファイルの中には現在動いている環境のアドレスが入っているので、移行先のアドレスに置き換えなければなりません。
これを変更しなければ、phpで置き換えている中身のアドレスが全て動いている環境のままになってしまうので、リンクなどがおかしくなってしまいます。
今回はlocalhostに移行するので、アドレスを全て「localhost」に変更します。
「html://www.sample.co.jp」というアドレスであれば、「html://www.sample.co.jp」「www.sample.co.jp」「sample.co.jp」などで検索して、「localhost」又はIPアドレス名に慎重に置換していきましょう。
これに関してはもっと良い方法があるのかもしれませんが…とりあえず私はこの方法で置換しました。
wp-config.phpの中身を編集する
wp-config.php を開き、中ほどにある
define(‘DB_USER’, ‘test’);
define(‘DB_PASSWORD’, ‘test’);
define(‘DB_HOST’, ‘test’);
の、この例で言うところの「test」部分をそれぞれ編集します。
今回はローカルに移行するので、localhostの設定そのままであれば
define(‘DB_USER’, ‘root’);
define(‘DB_PASSWORD’, ‘root’);
define(‘DB_HOST’, ‘localhost’);
になると思います。
phpMyAdiminから設定していく
私はMAMPを使用しているので、MAMPの画面を触っている体で説明を進めます。
1.データベースを作成する
phpMyAdiminを開いて、「データベース」タブを開きます。
入力欄に現在動いているサーバーのデータベース名を入力、「作成」をクリックします。
※データベース名を変更する場合は先ほど編集した「wp-config.php」内にある
define(‘DB_NAME’, ‘データベース名’);
を変更します。
2.編集したダンプファイルをインポートする
次に、「インポート」タブを開き、「ファイルを選択」で書き換えたダンプファイルを選択、「実行」ボタンを押しインポートします。
先ほど作成したデータベースにデータが入っていることを確認してください。
3.MAMPを再起動する
全て設定が終わったら、念のためMAMPを再起動します。
ログイン画面を開き確認する
http://localhost/wp-admin/(http://IPアドレス/wp-admin/) を開き、ユーザー名とパスワードを入力してログインします。
このとき入力するユーザー名とパスワードは、本番環境で使用しているものと同じものです。
以前ローカルでログインする際に使用していたものではありませんので注意!
ここでログインしたときに、アドレスが本番環境のアドレスと同じにならなければ成功です!
現在動いているものと全く同じものがローカルで動かせている状態になっています。
プラグインなど同じものが入っているか確認しておきましょう。
また、記事なども本番と全く同じになっているので、ローカルを編集したつもりが本番Blogを編集してしまっていた!ということのないように、適当な記事を書いてわかるようにしておいた方が良いかと思います…。
さいごに
何故ダメだったのかがわからないのがスッキリしないのですが、きっと私のウッカリだったのだと思います…。
または、やはり変更したら再起動することが大切だったのかもしれません。
WordPress 4.0はそこそこ大きなアップデートなので、単にアップデートしてしまってはプラグインによってはエラーが起きたり動かなくなったりすることがあるかもしれません。
プラグインを沢山入れている方は特に、簡単に上げるのは怖いと思います。
これを期に是非、全く同じ環境をローカルで作ってテストをしてからアップデートする方法を試してみてください!
以上、現行のWordPressデータをローカルに移行する方法 でした!
参考にしたサイト
WordPress の引っ越し : まだプログラマーですが何か?
http://dotnsf.blog.jp/archives/1001014700.html