WordPressを本番環境からローカル環境へ移行する方法

当ブログのサイトリニューアルの際に、本番環境のWordPressをローカル環境に移行しました。ローカル環境から本番環境に移行する記事は多くありましたが、逆は少なかったので記事にしました。

※ 基本的には、「本番」→「ローカル」も「ローカル」→「本番」もやり方は同じだと思います。

 

【実行環境】

Mac OS Sierra 10.13

※ windows10環境でもxamppを使って動作確認済み

【使用ツール】

・MAMP

・cyberduck

 

本番環境側の手順

本番環境のデータベースをエクスポート

1. phpMyAdminにアクセス

【ロリポップの場合】
マイページから[ロリポップHOME] → [サーバーの管理・設定]→[データベース]

2. 以下の画面内の下の方にある、「Check All」をクリック

3. 「Check All」 → 「エクスポート」を選択(エクスポート設定画面に遷移)

4. 設定は何も変えずに「実行する」をクリック(本番環境のデータベースが.sql形式でダウンロードされる)

 

本番環境のWordpressプロジェクトをダウンロード

ここでは、「cyberduck」というファイル転送ツールを使った方法で解説していきます。

※ 基本的にFTPであればどのツールでも入力項目は同様のはずです

 

1. cyberduckを開き、[新規接続]をクリックして、以下を入力して接続を行う。

[SSHの状態]:SSHは有効です
[サーバー]:サーバー欄にコピペ
[アカウント]:ユーザー名欄にコピペ
[接続ポート]:ポートに指定
[SSHパスワード]:パスワード欄にコピペ
【ロリポップのサーバー・ユーザー名・パスワードの情報の確認】
[ロリポップHOME] → [サーバーの管理・設定]→[SSH]から確認できます。

 

2. 本番環境内の本番サイトディレクトリを見つけてダウンロードします。

[右クリック] → [ダウンロード]

 

ローカル環境側の手順

 

エクスポートした.sqlファイル内の記述をローカル環境用に置換

1. エクスポートした.sqlファイルをエディタで開きます。

2. .sqlファイル内に、本番サイトのURL(例:https://example.com )が記述されている部分が複数箇所あります。このURLをローカル環境のURL(http://localhost:8888/[プロジェクト名])に置換します。

 

※ このめんどくさい置換作業は、テキストエディタを使うと簡単にできるのでおすすめです。

SublimeText3を使った置換の方法の記事があるので確認してみてください。

SublimeTextで検索→一括置換が便利 - 鶏口牛後な日々
先輩プログラマーが、Textエディタで、検索!!そして一括置換!! というのをバシッと決めまくってるのをみて、これは是非とも覚えたい! と思っていたのでした。 Microsoft系は仕事でよく使っていたので、ショートカットキーも含め使いこなしていたのですが、テキストエディタはまだまだ初心者。 いちいち公式ページを見て勉...

 

ローカル環境に新しいデータベースを作成

MAMPのphpMyAdminを使ってローカル環境に新しいデータベースを作成していきます。

1. [MAMPアプリ起動] → [Open WebStart page]で、MAMPのphpMyAdminにログイン

2. 以下の部分からphpMyAdminへ遷移

【MySQL】
MySQL can be administered with phpMyAdmin.
To connect to the MySQL server from your own scripts use the following connection parameters:

3. 「NEW」をクリック。データベース名を入力して「Create」

 

本番環境のデータベースをローカル環境にインポート

1.  [作成したデータベース名] → [import]

2.「ファイル選択」をクリックし、本番環境からエクスポートしてきた.sqlファイルを選択。

3. 他は何も変更せずに「go」で実行

 

ダウンロードしてきたプロジェクト内にあるwp-config.phpを修正

ダウンロードしてきた本番サイトディレクトリフォルダ内にあるwp-config.php内のデータベース名、データベースユーザ名、ユーザパスワード、ホストネームを以下のように修正します。

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME',‘[データベース名]'); ←ここのデータベース名を変更
/** MySQL database username */
define('DB_USER','root');    ←データベースユーザ名を変更(設定していなければroot)
/** MySQL database password */
define('DB_PASSWORD','root');  ←パスワードを変更(設定していなければroot)
/** MySQL hostname */
define('DB_HOST','localhost'); ←ローカル環境用に「localhost」に変更
/** Database Charset to use in creating database tables. */
define('DB_CHARSET','utf8');
/** The Database Collate type. Don't change this if in doubt. */
define('DB_COLLATE','');

 

 

ダウンロードしてきた本番サイトディレクトリをMAMPに移動

MAMPのドキュメントルートである、[htdocs]に本番サイトディレクトリを移動。

[MAMP] → [htdocs]

 

動作確認

以下にアクセス動作確認。うまく表示できていれば成功です。

http://localhost:8888/[本番サイトディレクトリ名]

※ 管理画面のurl

http://localhost:8888/[本番サイトディレクトリ名]/wp-login.php