ローカル環境でのWordPress開発を行う際、以前は「MAMP」を使用していましたが、今はより構築・操作がしやすい「Local by Flywheel」を使用しています。
「Local by Flywheel」のダウンロードはこちら
https://localbyflywheel.com
今回は「Local by Flywheel」を使用して、本番サイトをローカル環境にコピーする方法についてご紹介します。
BackWPup でバックアップを作成
本番サイトのバックアップは「BackWPup」プラグインを利用すると簡単で確実です。
使用方法については外部の記事を参照して頂くとして、WordPressの全てのファイル(実データ)とデータベースを一括で保存・DLできます。
sqlファイルはダウンロードしたフォルダ内に入っているので外に出しておきましょう。
txtファイルやmanifest.jsonは必要ないので削除してしまって構いません。
Local by Flywheelで仮のサイトを作る
解説上の例として 本番サイトのドメインをsample-base.com、ローカルサイトのドメインをsample.local (.localは自動的に付与されます)として進めます。
「+」ボタンから新規サイトの作成を行います。
サイトタイトル入力画面が表示されますが日本語は入力できませんので、
ドメイン名やディレクトリ名などを入力すると良いでしょう。(ここでは sample としました)
基本的には初期設定のままで結構です。
PHPやMySQLのバージョンを選びます。
ここも基本的には初期設定の「Peferred」で問題ないとは思いますが、変更する場合は「Custom」で本番環境に近いバージョンを選びます。
ログイン時に必要なユーザー名とパスワードを入力します。
マルチサイトの設定もこちらで行います。
これで設定は完了、非常に簡単です。
※ここでmacのパスワード入力が求められるので入力して続行します。
本番サイトDBのインポート
この状態で何も設定されていない仮サイトにアクセスすることができます。
先ほどサイト名をsampleとしたため、http://sample.local が仮サイトのURLになります。
※サイトにアクセスして502エラーが出た場合は、アプリを再起動して下さい。
サイトにアクセスすると言語が英語になっているので日本語に変更します。
設定箇所は Settings→General→Site Language にあります。
ここからは実際に本番サイトのインポートを行なっていきます。
DATEBASEタブにある「ADMINER」をクリックします。
Adminierが開くので、元からあるテーブルを削除後インポートを選択。
ファイル選択からSQLファイルを選択して実行します。
ドメイン置換
データベースをインポートした状態で仮サイトにアクセスすると、
本番サイトにリダイレクトされるのでドメインを変更していきます。
ここで「Search-Replace-DB-master」を利用してドメインを変換します。
「Search-Replace-DB-master」の使い方は以下を参照して下さい。
サイト名をsampleとした場合、ドメイン変更画面のURLはこの様になります。
http://sample.local/Search-Replace-DB-master/
【PHP7対応】DB置換ツール「Search Replace DB」の使い方
※変更先のドメインは sample.local (localがドメイン扱い)になります。
※この時点でディレクトリ変更は無視して直下にインストールを行います。
(ここでは sample-base.com/wp/ で運用している場合でも sample.local 直下にインストールします)
ファイルの入れ替え
仮で作ったサイトのファイルを本番環境のファイルに入れ替えていきます。
画像にあるボタンをクリックし、local by Flywheelのインストールフォルダへ。
そこから「サイト名(ここではsample)」→「app」→「public」に移動します。
「public」フォルダ内の「wp-config.php」ファイル以外を本番環境のファイルに入れ替えます
(.htaccess も忘れずに!)
その後、.htaccess にある本番環境用の記述を削除し、
「# BEGIN WordPress」から「# END WordPress」までの状態にします。
これで、本番サイトのコピーをローカルに作成することに成功しました。
※ローカル環境から本番環境へ戻す際は「wp-config.php」と「.htaccess」はアップロードしないように注意!
ローカル環境をサブディレクトリで運用する
以上の設定ではローカル環境でのディレクトリはルートディレクトリ直下にアクセスする様になっていますが、本番サーバー同様ローカルサーバーでもサブディレクトリ型の設定が可能です。
詳しくは以下を参照して下さい。
※「既存のサブディレクトリを使ってルートディレクトリに表示する場合」の項目を参照して下さい。
・WordPress 公式ドキュメント
WordPress_を専用ディレクトリに配置する
その他の機能
ここまでざっくりと導入方法を追って来ましたが、基本的にはサーバー移管や同じサイトをコピーする時と同じような考え方で良いのかなと感じます(勿論、本番よりは気持ちが楽ですが)。
今回は、本番サイトとローカルサイトの表記をはっきり分けたかったためデフォルトのドメイン(.local)を使用しましたが、設定によりドメインを .com などに変更することも可能です。
また、SSL化やローカルサイトへのアクセスリンクを発行することも可能です。
どうせだったら制作に多くの時間を使いたいので、こういった便利なものを積極的に使っていきたいですね。