サーバで動いているWordPressをローカルで再現して、テーマを編集したいときのやりかたを紹介します。
ローカルはWindows+XAMPPを想定していますが、基本的にapacheとmysqlを使っているならとくにどんな環境でもいけそうです。
- ファイル一式をサーバから持ってくる。これはtarで固めてscpなどでよいでしょう。
- サーバのデータベースデータを持ってくる。mysqldumpやphpMyAdminのエクスポートなどを使いましょう。
- ローカルのMySQLにデータベースを作る(wp-config.phpを参考に)
- ローカルのMySQLにユーザを作る(wp-config.phpを参考に)
- ローカルのMySQLにサーバのデータベースデータを流しこむ。 mysql -u root < serverdata.sql
- ローカルのphpMyAdminでwp_optionsテーブルのsiteurl, homeを編集する(ローカルで運用したいURLに変更)
- ローカルの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を編集
- phpMyAdminに入る
- wordpressのDBを選択する(流しこみが成功してればある)
- wp_optionsのテーブルを選択して、表示する
- option_nameカラムがsiteurlの行のエンピツマークをクリックして編集モードになる
- サーバで運用してたブログのアドレスが入っているが、ローカルで使うアドレスに書きかえる
- option_nameカラムがhomeの行のエンピツマークをクリックして編集モードになる
- サーバで運用してたブログのアドレスが入っているが、ローカルで使うアドレスに書きかえる
こんなかんじ。
以上です!
みなさんの快適なWordPress生活のお役に立てば幸いです。