本番環境のWordPressを開発環境に移行する手順

Tag:

本番環境に設置したWordPress(ソース+DBデータ)を開発環境(ローカル環境)に移行する手順について取り上げます。なお、開発環境ではvccwを利用します。vccwについては、「WordPress : vccwで開発環境構築 | DN-Web64」で紹介してますので参考にしてみてください。

vccw以外(XAMPPなど)でも基本的な手順は同じなので参考にはなるかと思います。

本番環境作業

WordPressを移行するには、ソースファイルとDBデータを本番環境から取得しておく必要があります。

ソースファイルのダウンロード

ソースをダウンロードします。私の場合、まずzipコマンドで対象ファイル一式を圧縮します。

zip -r 対象フォルダ.zip 対象フォルダ/

その後、圧縮したファイルをWinSCPなどのFTPツールを利用してダウンロードします。

DBデータの取得

mysqldumpコマンドを利用すれば、SQLベースでデータを抽出できます。

mysqldump -u DBユーザ名 -p WordPressのデータベース名 > wp.dump.sql

サーバー上で上記コマンドを実行すると、DBユーザ名に対応するパスワードが聞かれます。
wp_migra

パスワードを入力すると、「wp.dump.sql」というファイルができるので、FTPツールでローカルにダウンロードします。

※phpMyAdminからDBデータをエクスポートする方法もあります。上記方法が分からない場合、phpMyAdminを利用してみてください。

以上でサーバー側の作業は終了です。

ローカル作業(開発環境構築)

vccwで開発環境を構築します。詳しくは「WordPress : vccwで開発環境構築 | DN-Web64」を参照願います。

私の場合、site.yml内のsync_folder、hostname、ip、rewrite_structure、document_rootなどを適宜修正して利用しています。

ローカル作業(移行作業)

vccwのドキュメントルート配下に、本番環境から取得した「ソースファイル」と「DBデータ(wp.dump.sql)」を格納します。

デフォルトですと、vccw作成時に「www」フォルダが作成されます。「www」フォルダは、仮想マシンとホストマシンの共有ディレクトリの設定がされているはずなので、この中にサーバーから取得したファイルを格納します。

これ以降は、仮想マシン上での作業です。「vagrant ssh」で仮想マシンにログインしてください。

DB展開

vccwを作成した際に、wordpress用のDBが自動で作成されているので、
1. 1度DBを削除し、

mysqladmin -u root -p drop wordpress

2. もう一度DBだけ作り直し、

mysqladmin -u root -p create wordpress

3. 本番環境から取得したDBデータを展開します。

mysql -u root -p wordpress < wp.dump.sql

wp_migra4

もし本番環境のDB名がwordpress以外の場合、DBの削除は必要ありませんが、対象となるDBを作成してからwp.dump.sqlのデータを展開してください。

wp-config.phpの修正

DBのユーザー名やパスワードなど開発環境に合わせて適宜修正します。

URL置換

リンク先などが本番環境のままなので、URLの置換を行います。

URLの置換ですが、DB内を直接修正すると、シリアライズされたデータが修正されないままになってしまいます。URLを置換するには、WP-CLIを利用します。vccwであれば、デフォルトで利用できます。なおWP-CLIについては「WordPress : WP-CLIツールでコマンド管理 | DN-Web64」を参照願います。

WordPressがインストールされているディレクトリで下記コマンドを実行するとURL置換してくれます。このとき「wp-config.php」からDBのユーザ名などを取得するので、開発環境に合わせて修正していないとエラーになります。注意してください。

wp search-replace '本番環境のURL' '開発環境のURL'

もし、WordPressがインストールされているディレクトリ以外で実行したい場合は–pathオプションでWordPressが存在するディレクトリを指示してください。

wp search-replace --path=/var/www/html/wordpress '本番環境のURL' '開発環境のURL'

以上で移行完了です。

スポンサーリンク