ローカルにサーバのクローンを作る WordPress 編

エックスサーバをメインに利用しているのですが、MySQL のバージョンが 4.0.27 です。
5.0.22 へのバージョンアップを行うには一度すべてのデータベースを削除しないとならないという・・・おそろしや。
いきなりエクスポートしてデータベース削除して、いざ復元しようとしたらダメでしたでは困るので、ローカルにサーバと同じ状態を作ってインポートを試してからバージョンアップをしてみよう作戦です。

ローカル環境で CMS を動かす – p15.jp
インストールはできることがわかっているのでインポートがうまくいくかどうか。
また、エックスサーバとローカルの環境がバージョンなど若干異なるので、その辺どうなのか心配です。

データベースをエクスポート

まずエックスサーバの phpMyAdmin にログインして、すべてのデータベースをエクスポートします。
そのうち 4 つは一つのデータベースに一つの WordPress とか、sb-users.jp で使っているデータベースには Serene Bach 3 が 2 つとフォーラム二種類のデータが含まれているので、該当のテーブルを選択してエクスポートしました。
エクスポート形式は SQL で、SQL オプションは DROP TABLEを追加 と ファイルに保存する にチェック。

サーバにあるファイルをダウンロード

現在稼働しているサイトのうちデータベースを使用しているサイトのファイルを、すべて FTP でダウンロードしました。
時間かかりすぎて眠くなった。

WordPress のデータをインポート

ローカルの phpMyAdmin でサーバと同じ名前のデータベースを作成してインポート。
オプションの SQL 互換モード を MYSQL40 にした。

最初にやったのが p15.jp のものだったんだけど、ファイルサイズでエラーが><
最長: 2,048 KiB となっているのにインポートしたい sql ファイルは 2,543 KB ありました。
エックスサーバの phpMyAdmin を見ると 最長: 35,840KiB となっているのでローカルの設定を変更してインポートすることに。

phpMyAdmin でインポートできる容量を増やす

小粋空間: phpMyAdmin のアップロードファイルサイズを変更する
上記記事を参考に、php.ini を以下の通り変更後 Apache を再起動しました。

memory_limit = 128M (そのまま)
post_max_size = 35M (もともとは 8M)
upload_max_filesize = 35M (もともとは 2M)

ローカルの phpMyAdmin のインポート画面を開くと 最長: 35,840 KiB となり、無事インポートすることができましたヽ(・ω・)ノ

URL などの設定を変更する

サーバから持ってきたファイルには現在稼働している情報が書き込まれているので、ローカルで動くように修正が必要です。

/wp/wp-config.php

MySQL の設定でユーザ名のみ異なるので修正しました。

データベースの wp_options にある siteurl と home

ローカルの URL に修正しました。

これで、WordPress のトップページもダッシュボードも正常に表示されるようになりました!
と思ったらトップページ以外は 404 になっていた・・・なんだこれ。

WordPress の設定画面を見ていたらパーマリンク設定の一番下に「あなたの .htaccess が書き込み可能ならこの操作は自動的に行われますが、そうでない場合は .htaccess ファイルに mod_rewrite ルールを書き込む必要があります。」という見慣れない文章を発見。
そういえばファイルをダウンロードするときに不可視ファイルを非表示にしたままだったので .htaccess はダウンロードできていなかった!

サーバから .htaccess をダウンロードして mod_rewrite ルールを修正後ページを開いてみると、php ファイルがダウンロードになってしまいました。
これはエックスサーバの PHP のバージョンを変更したときに .htaccess へ追加していたらしい AddHandler x-httpd-php5 .php .phps を削除することで解決。やっと表示できるようになりました。

もうひとつの WordPress

これまでの手順でもう一つの WordPress もやってみました。
微妙なエラーはあったものの、こっちは万が一消えたりしても別にいいや的なものなので気にしないことに。
そもそもエックスサーバのデータベースをいったん削除して復元する目的だと URL とかファイル構成は変わらないので大丈夫だと思いたい。

以上で WordPress 編はおしまいです。
MovableType と Serene Bach も一気に書きたかったけど、意外と長くなってしまったのでまた明日ヽ(・ω・)ノ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です