Tech Racho エンジニアの「?」を「!」に。
  • インフラ
  • 開発

サーバで動いているWordPressをローカルに再現する

サーバで動いているWordPressをローカルで再現して、テーマを編集したいときのやりかたを紹介します。
ローカルはWindows+XAMPPを想定していますが、基本的にapacheとmysqlを使っているならとくにどんな環境でもいけそうです。

  1. ファイル一式をサーバから持ってくる。これはtarで固めてscpなどでよいでしょう。
  2. サーバのデータベースデータを持ってくる。mysqldumpやphpMyAdminのエクスポートなどを使いましょう。
  3. ローカルのMySQLにデータベースを作る(wp-config.phpを参考に)
  4. ローカルのMySQLにユーザを作る(wp-config.phpを参考に)
  5. ローカルのMySQLにサーバのデータベースデータを流しこむ。 mysql -u root < serverdata.sql
  6. ローカルのphpMyAdminでwp_optionsテーブルのsiteurl, homeを編集する(ローカルで運用したいURLに変更)
  7. ローカルのApacheでDocumentRootやAliasを設定する

基本的にはこれでOKでした。

コマンド作業などをもうすこし補足しておきます。

サーバ上のファイルを固めてダウンロード

$ sudo tar cvzf /home/myself/blog.tar.gz /path/to/blog

blog.tar.gzのダウンロードはWinSCPなどを使うとよいでしょう。

サーバのデータベースデータをもってくる

$ mysqldump -u root wordpress > /home/myself/blog.sql

MySQLのrootパスワードをきちんと設定している場合は-pオプションをつけて入力します。
MySQLのrootを使えない場合はwp-config.phpを参考に、wordpress用ユーザでDBを指定して出力させます。

$ mysqldump -u USER -p DATABASE > /home/myself/blog.sql
Enter password: (PASSWORD)

blog.sqlのダウンロードはWinSCPなどを使うとよいでしょう。

ローカルのMySQLにDB, ユーザを作る

コマンドプロンプトでxamppのmysqlを起動しましょう。
この例ではmysql.exeまでの絶対パスを記述していますが、環境に合わせてこのパスを書き換えてください。

> C:\Users\tomotaka\Documents\xampp\mysql\bin\mysql -u root
mysql> CREATE DATABASE `(DB名)`;
mysql> GRANT ALL ON `(DB名)`.* TO '(ユーザ名)'@localhost IDENTIFIED BY '(パスワード)';
mysql> \q

これでデータベースとユーザができましたね。
あとはサーバ上の記事データを流し込みましょう。

ローカルのMySQLにデータを流し込む

> C:\Users\tomotaka\Documents\xampp\mysql\bin\mysql -u root < C:\Users\tomotaka\Documents\blog.sql

簡単です。

phpMyAdminでwp_optionsを編集

  1. phpMyAdminに入る
  2. wordpressのDBを選択する(流しこみが成功してればある)
  3. wp_optionsのテーブルを選択して、表示する
  4. option_nameカラムがsiteurlの行のエンピツマークをクリックして編集モードになる
  5. サーバで運用してたブログのアドレスが入っているが、ローカルで使うアドレスに書きかえる
  6. option_nameカラムがhomeの行のエンピツマークをクリックして編集モードになる
  7. サーバで運用してたブログのアドレスが入っているが、ローカルで使うアドレスに書きかえる

こんなかんじ。

以上です!
みなさんの快適なWordPress生活のお役に立てば幸いです。


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。