既に運用中のwordpressサイトのテーマを弄る時に本番環境を自分のパソコンで再現できると、意味不明な外部的要因によるデザイン崩れを考えずにテーマ編集できるので作業がサクサク進みます。

そんなわけで、Local by Flywheelで本番環境のコピーの作り方を解説します。トラブルとしんどいので、時間に余裕がある時に作業するのをおすすめします。

本番サイトのバックアップを取得

wordpressのファイルとデータベースのバックアップを取得します。これをLocal by Flywheelに読み込んで本番サイトと同じ環境をローカル環境に作ります。バックアップにはプラグインの「BackWPup」が簡単でおすすめです。

「BackWPup」でバックアップを取得

本番サイトのwordpress管理画面から「BackWPup」をインストールします。「プラグイン」→「新規追加」→「BackWPup」を検索。

localhonban-001

インストールして有効化して下さい。そうすると、左側のメニューに「BackWPup」が追加されますので、「新規ジョブを追加」。

locahonban-002

「新規ジョブ」ではどのようにバックアップを取得するかを設定します。ここで重要なのは「アーカイブ形式」は”Tar GZip”を選択すること。
Zip形式だと2GBまでしか正常に解凍できません。(圧縮ファイルは生成されるけど、展開するとファイル不足などのエラーになる)

何のバックアップを取得するかによって違ってきますが、”Tar GZip”なら容量制限がないので安心です。

「バックアップファイルの保存方法」は今回はローカル環境コピーが目的なので”フォルダーへバックアップ”を選択。下まで行って「変更を保存」でジョブが作成されます。

localhonban-001

続いて、作成したジョブを実行してバックアップファイルをダウンロードします。「BackWPup」→「ジョブ」。

locahonban-004

設定した”ジョブ名”にカーソルを合わせるとメニューが表示されるので「今すぐ実行」をクリック。

localhonban-005

バックアップが完了したらダウンロードします。「BackWPup」→「バックアップ」。完了した”ジョブ”にカーソルを合わせるとメニューが表示されるので「ダウンロード」。

localhonban-002

以上でバックアップファイルの取得は完了です。ダウンロードしたtar.gzファイルは展開しておきましょう。

「BackWPup」で取得したバックアップファイルが足らない場合

解凍ソフトはExplzhがおすすめです。7-Zipで展開、解凍するとファイルが消えている場合がありました。とりあえず解凍してみて「wp-admin」「wp-content」「wp-includes」の3つのフォルダがなければ失敗しています。3つのフォルダがあってもファイルが足らない場合もありました。

解凍ソフトを使い分けてもダメななら、手動のFTP接続と、phpMyAdminからのバックアップ取得の方が早く解決するかもしれません。

Local by Flywheelに本番環境を読み込ませる

本番環境のコピーを作るには仮のwordpressサイトに本番コピーを読み込ませて作ります。

大まかな流れとして「①仮のwordpressサイト作成 → ②データベースの復元 → ③ドメイン変換 → ④設定ファイルの入れ替え、修正」です。

①仮のwordpressサイト作成

まずはLocal by Flywheelで仮のwordpressサイトを作成します。「+」ボタンから作成します。

localhonban-008

「Custom」で本番環境に近いバージョンを選択し「CONTINUE」。

localhonban-009

あとは画面の指示に従って、仮のサイトを作成します。

②データベースの復元

仮のサイトに本番環境のデータベースをインポートします。DATEBASEタブにある「ADMINER」をクリック。

llocalbybyflywheelhonban2018-09-04_22h57_51-004

そうすると、ブラウザでAdminierが開きます。AdminerはphpMyAdminみたいなデータベース管理ツールです。
Local by flywheelではこれが使われています。

左側のメニューから「インポート」をクリック。

localhonban-011

インポート画面になるので「ファイル選択」をクリック。

localhonban-012

データベースファイルを選択して実行。本番環境のプラグイン「BackWPup」でバックアップしたフォルダの中に「.sql」の拡張子のファイルがそれです。

localhonban-013

正常に処理されれば「クエリーが実行されました」と表示されます。

localhonban-014

以上でデータベースの復元は完了ですが、この段階ではサイトが正常に表示されません。引き続き設定をしていきます。

③ドメイン変換

復元したデータベースのドメインをローカル用のドメインに変換します。これを一括でやってくれる「Search Replace DB」という便利なツールがありますのでダウンロードします。
※このツールは放置しておくと外部から操作されるツールですので、作業実施後は必ず削除して下さい。

Search Replace DBのサイトへアクセス。

llocalbybyflywheelhonban2018-09-04_23h07_14-008

3つのチェックボックスにチェック入れて、名前、メールアドレスを入力し「SUBMIT」をクリックすると入力したメールアドレス宛にダウンロードの案内が届きます。
ちなみに3つのチェックボックスの意味合いは以下の通りです。

  • このスクリプトを使うことによってセキュリティリスクになる可能性があることを理解しています
  • このスクリプトは公開しているWebサーバーに残しません
  • 私は開発者であり、私は何をしているのか理解しています

llocalbybyflywheelhonban2018-09-04_23h11_22-009

送られてきたメール本文の中に”here”とリンクになっている箇所があるので、クリックするとダウンロードされます。

llocalbybyflywheelhonban2018-09-04_23h17_43-010

ダウンロードしたzipファイルを解凍すると「Serch-Replace-master」というフォルダが作成されます。それをフォルダごとLocal by Flywheelのローカル環境フォルダ「public」の中にぶち込みます。「publicフォルダ」はlocal by Flywheelの画面でサイト名の下にある「>」をクリックすると、local by Flywheelのインストールフォルダに飛びます。そこから「サイト名」→「app」→「public」です。

localbyflywheelhonban020

この状態でブラウザで「ローカルドメイン/Search-Replace-DB-master」へアクセスします。

そうすると、ドメイン変換画面が出てきますので画面一番上の”replace”に本番環境のドメインを入力、「with」にローカル環境のドメインを入力します。「dry run」で事前確認、「live run」で変換実行されます。

llocalbybyflywheelhonban2018-09-04_23h22_05-011

「live run」をクリックすると実行確認の画面が表示されるので「OK」。

llocalbybyflywheelhonban2018-09-04_23h25_07-012

実行した後にツールを削除するために「delete me」をクリック。

llocalbybyflywheelhonban2018-09-04_23h25_57-013

 

削除してよいか再度聞いてい来るので「OK」。

llocalbybyflywheelhonban2018-09-04_23h26_13-014

念のため、「public」フォルダを開いて「Serch-Replace-master」がちゃんと削除されているか確認しておきましょう。

④設定ファイルの入れ替え

仮で作ったwordpressサイトの設定ファイルを本番環境の設定ファイルに入れ替えていきます。
local by Flywheelの画面でサイト名の下にある「>」をクリックして、local by Flywheelのインストールフォルダに飛びます。そこから「サイト名」→「app」→「public」と行きます。

この「public」フォルダ内の「wp-config.php」というファイル以外削除して、本番用の「public」フォルダと入れ替えます。※本番環境の「wp-config.php」は入れません。

続いて「public」フォルダ内にある「.htaccessファイル」を修正します。こちらは本番環境用に追加された無駄な記述を削除します。「# BEGIN WordPress」から「# END WordPress」までの状態にします。

localbyflywheelhonban021

以上で全ての作業が完了です。ローカル環境の管理画面、サイトにアクセスして正常に表示されるのを確認しましょう。管理画面のログイン情報は本番環境と同じになっています。

※ローカル環境で作業して本番環境へ戻すときに「wp-config.php」と「.htaccessファイル」はアップロードしないように注意して下さい。

【編集後記】

途中、色々失敗して諦めかけていましたがどうにか完成する事ができました。色々なブログで紹介されていますが、微妙にやり方が違っていました。Local by Flywheelはサイトの追加、削除が簡単なので失敗してもゼロからやり直せるのがいいところです。何をどう弄ったのか分けわからん状態を緊急脱出できるのは安心できます。