既存サイトをローカル環境にコピーしたい。なぜ?

前の投稿で、「php や css を触るなら、 Local by Flywheel を利用すると安心」として、Local by Flywheel の導入を紹介しました。

しかし今回、ローカルの WordPress 環境を作るのは、「サイトのカスタマイズを安全に試行する」のが目的でした。
従って、既存のサイトをそっくりそのままローカル環境にもってこられなければ意味がありません

WordPress サイト = ファイル + データベース

ここで、既存のサイトがどのように表示されているのか、知識の確認です。

WordPress サイトでは、ファイル (.php ファイルなど) がどのように表示するかを決定し、データベースで何を表示するのかを管理しています。この両者が集まってはじめて、html ファイルが作成されています。

・ファイル (.php など) = どのように
・データベース上のデータ = 何を

従って、バックアップ / 移行対象は ファイル + データベース です。

既存サイトを Local 環境へ移行する手順 (まとめ)

上記より、既存サイトを Local 環境へ移行するには、以下の5つの手順が必要となります。

・既存サイトのファイルのバックアップ
・既存サイトのデータベースのバックアップ
・ローカルサーバーのファイルを上書き
・ローカルサーバーにてデータベースの上書き
・ローカルサーバーにてデータベースのデータ書き換え(この作業が狭義の移行 = migration)

既存サイトのファイルのバックアップ

FTP ソフト (Mac では、FileZilla など) で行います。FTP ソフトで既存サーバーへ接続し、下記より下位のディレクトリ・ファイルを全てコピーしてきます。

ドメイン名/public_html/
※ ドメイン名 = 当サイトでは brain-abe-clinic.org

既存サイトのデータベースのバックアップ

サーバーの管理画面にログインします。
Xserver の場合は、Xserver サーバーパネルとなります。

次いで、phpmyadmin から、データベースのエクスポートをおこないます。
生成された .sql ファイルが、データベースの内容を1つのファイルにまとめたものです。

この .sql ファイルを FTP 等でなんとかしてローカル環境にもってきます。

ローカルサーバーのファイルを上書き

ローカルサーバーのファイルは下記にあります (Mac 環境の場合) ので、ダウンロードしてきたもので上書きします。

/Users/ユーザー名/Local Sites/Local_by_Flywheel_でのローカルサイト名/app

ローカルサーバーにてデータベースの上書き

ローカルサーバーのデータベースにダウンロードしてきた .sql ファイルを取りこみます。

Local by Flywheel の Database タブから、"Adminer" でデータベースへアクセスし、インポート

ローカルサーバーにてデータベースのデータ書き換え

これまでの作業で Web の表示に必要なファイルとデータは一応揃ったのですが、まだ正しくは表示できません。
なぜなら、データベース内のリンクが全て既存サイトの URL を参照しているからです。
既存サイトのURL -> ローカルサイトの URL という変換作業を行わなければなりません。
具体的には下記のようにドメイン名を書き換えてしまえば良いことになります。

https://brain-abe-clinic.org/ -> local_by_flywheel_で作ったローカルサーバー名/

再びLocal by Flywheel の Database タブから、"Ademiner" でデータベースへアクセスし、下記を行います。

UPDATE wp_options SET option_value=REPLACE(option_value,"旧ドメイン","新ドメイン");
UPDATE wp_posts SET post_content=REPLACE(post_content,"旧ドメイン","新ドメイン");
UPDATE wp_posts SET guid=REPLACE(guid,"旧ドメイン","新ドメイン");
UPDATE wp_postmeta SET meta_value=REPLACE(meta_value,"旧ドメイン","新ドメイン");

終了

以上で、既存サイトから Local by Flywheel 環境へのサイト移行は終了です。

ローカル環境で安全に勉強しましょう。

なお、UpdraftPlus について

上記に示した移行手順を

  1. 既存サイトのファイルのバックアップ
  2. 既存サイトのデータベースのバックアップ
  3. ローカルサーバーのファイルを上書き
  4. ローカルサーバーにてデータベースの上書き
  5. ローカルサーバーにてデータベースのデータ書き換え(この作業が狭義の移行 = migration)

とリナンバーした場合、

1.2.3.4.5. は全て面倒な手順
1.2. はそもそも定期的に行っておくべき手順

です。もう少し楽がしたいです。

ここで、UpdraftPlus というプラグインは (有料ですが)

1.2. を毎日行って、しかも暗号化した上で Dropbox など外部ストレージに自動的に保存
3.4.5. は明示すれば 5分で完了

ということが可能になります。本サイトでも導入し活用しているので、別ページで解説します。

この記事が気に入ったら
フォローしよう

最新情報をお届けします

おすすめの記事