サイトリニューアルや改修が発生した場合、本番環境を直接更新するのはリスクがあります。
最悪画面が真っ白になったりするので、考えるだけで恐ろしいです…
このような時はテスト環境を作成して、まずはテスト環境で動作確認を行ってからのリリースがベストです。
今回は本番環境からテスト環境へ同期させる方法をメモします。
私はMySQLなどのコマンド操作は出来ないため、初心者向けの方法になるかと思います。
このような条件で作業を行います。
- 本番環境からテスト環境へ同期(逆のパターンでも同じ方法で移行することが可能です)
- 本番環境とテスト環境は別のデータベースを使用
Step.1 データベースとファイル一式のダウンロード
データベースのエクスポート
phpMyAdminを開き、本番環境のユーザー名とパスワードを入力しログインします。
ログインすると画面左側にデータベースの一覧があるので、本番環境で使用しているデータベース名をクリックします。
クリックするとデータベースのテーブル一覧が表示されます。
上部メニューに「エクスポート」がありますので、クリックします。
同じデータベースに別サイトのデータベースがある場合は今回同期したいサイトのテーブルを選択してからエクスポートしてください。
エクスポート方法の詳細が表示されますので、「詳細 – 可能なオプションをすべて表示」を選択し適宜入力してください。
その後実行ボタンを押すとsqlファイルがダウンロードされます。
ファイルのダウンロード
FTPからWordPressのファイル一式をダウンロードします。
Step.2 テキストエディタでMySQLの置換
本番環境とテスト環境で接頭辞(プレフィックス)が異なる場合は修正が必要です。
先ほどダウンロードしたsqlファイルをテキストエディタで開き、接頭辞をテスト環境のものに全置換します。
例)「wp1_」から「wp2_」に置換を行う
(私はSublime Textを使用しましたが問題ありませんでした)
Step.3 データベースのインポート
テスト環境のphpMyAdminを開き、テーブル一覧を表示させて、「インポート」をクリックします。
アップロードファイルはStep.2で修正したsqlファイルを選択します。
実行ボタンを押すとsqlファイルがインポートされます。
エラー例)#1062 – Duplicate entry ‘1’ for key ‘PRIMARY’
Step.4 wp-config.phpの修正、ファイルのアップロード
wp-config.phpの3項目をテスト環境用に修正します。
- データベース名
- ユーザー名
- パスワード
- ホスト名
- 接頭辞(プレフィックス)
修正後にテスト環境へファイル一式をアップロードします。
Step.5 Search Replace DBを使ってリストアする
Database Search and Replace Script in PHPにアクセスしてSearch Replace DBをダウンロードします。
※フォームの入力が必須となります。
ダウンロードしたSearch-Replace-DB-masterフォルダをテスト環境の直下にアップロードします。
アップロードしたらこちらのURLにアクセスします。
http://テスト環境のドメイン/Search-Replace-DB-master/
英字のSearch Replace DB入力画面が開かれます。
上からsearch/replaceの左のボックスに修正前のドメイン、右のボックスに修正後のドメインを入力します。
databaseにはテスト環境の情報が既に入力されているのでそのままで。
dry runを押してどのように変更されるか確認します。テスト確認のようなものです。
確認したらlive runで置換を行います。サイトによっては数分かかります。
置換が完了したらdelete meでこのスクリプトを削除します。
Search-Replace-DB-masterフォルダを削除しないとサイト攻撃を受けてしまう可能性があります。
これで一通りの作業は完了です。
Step.6 ブラウザ確認
ブラウザでテスト環境を確認してみましょう。
問題なく管理画面にログインできますでしょうか。
テスト環境で記事を投稿して本番環境に反映されないでしょうか。
リンクのURLはテスト環境のドメインに修正されていますでしょうか。
問題なければこれで同期OKです。
テスト環境を作って安心してサイトをよりよいものにしていきましょう。