2012/04/19

公開されちゃってるWordpress環境をローカルにコピーしてみた

※いつものように非専門家向けです

Wordpress のテーマの,それも style.css とか,functions.php を少し弄りたいだけだし,どうせ見てる人なんてあんまりいないからと思って,エイヤっとサーバーに置いちゃうような怠慢アマチュアはきっと僕だけではないでしょう(僕だけかな?)スタイルファイルとか無害なものだときっと問題ないだろうし(?)

それでも大々的に宣伝を始めてしまったら,やっぱり心苦しくなるもので,ローカル環境をちゃんと作ってみました.実際にデータは投入されはじめているので,まったく白紙のデータベースとつないでしまわず,現状の環境をまるごとコピーということをやります.

目的

  • 原稿環境をまるごとコピー
  • できるだけめんどくさくない感じで

まずやること

  1. サーバー:Wordpressのプログラムをまるごとダウンロード.C:\WHEREVER-YOU-LIKE におく
  2. サーバー:phpMyAdmin でデータベースをまるごとエクスポート
  3. ローカル:1を入れたフォルダでPHPが実行できるように(個人的にはVertrigoServをおすすめ)
  4. ローカル:phpMyAdmin でテーブルを作って,そこに2をインポートする
  5. ローカル:config.php にデータベース情報を書き込む.VertrigoServ を入れてすぐであればホスト名 localhost, ユーザー名 root パスワード vertrigo になってるはず

通常のサーバーの移行と同じようにやればよいということですね.ダウンロードしてアップロードする.基本はそれだけですね

問題点

  • データベース接続エラーというのが出る!
  • サイト内リンクがおかしい

WP3.3 をマルチサイトで運用してたものを動かすとこういうことになっちゃいます.単一サイトの運用でもサイトのあらゆるところでサーバー環境でつかっていたドメイン情報が使われています.

方法1:DB内のドメイン情報を書き換える

間違ったドメイン情報が書いてあるんだからそれは書き換えればよろしい.ごもっとも.つまりMySQLに格納されたドメイン情報をまるごと置換してやるってことですね.具体的にはSQLをテキストで落として置換ということをやればよろしい,と → http://d.hatena.ne.jp/shunsuk/20081205/1228486751 

方法2:HOSTSをいじる

ほんとは1の方がスマートな大人のやり方なんだと思います.でも僕はそれをやらなかった.なぜなら全テーブルを置換するやり方が思いつかなかったし,見るべきテーブルを知らないから!というわけで,ドメインのマッピングを無理やり変えちゃいます.

  1. HOSTS( http://helpdeskgeek.com/windows-7/windows-7-hosts-file/ )を開いて,127.0.0.1 www.your-domain.com のような一行を追加.IPアドレスは,自分のローカルサーバーのアドレスを入れます(127.0.0.1ではダメかも?Vertrigoならタスクバーアイコンを右クリックしたときに出るやつを入れればOK).ドメイン名は自分のものを入れる
  2. Apache の httpd.conf に独自ドメインの情報をいれます.

こんな感じ:

<VirtualHost *:80> DocumentRoot "C:/WHEREVER-YOU-LIKE" ServerName www.your-domain.com </VirtualHost>

つまりここでやっていることは,(1)ブラウザなどで www.your-domain.com にアクセスしたら 127.0.0.1 のサーバーに問い合わせるようにして,(2)問い合せを受け取ったサーバーは,www.your-domain.com へのアクセスについて "C:/WHEREVER-YOU-LIKE" ディレクトリのデータを返してやるようにしている.ってことですね(たぶん)

これによって www.your-domain.com として公開されているサイトは(一時的に)見られなくなります.もどすときは,HOSTS に追加した一行の先頭に # をつけてコメントアウトすればよいでしょう.正しいDNSを参照するようになります

おしまい

Posted via email from MINT Julep Factory

0 件のコメント: