【最新版】ローカル環境(MAMP)にWordPressをコピーする方法!バックアップとしても活用可能

この記事からわかること
- WordPressをローカル環境にコピーする方法
- FTPの使い方
- phpAdminでの処理(SQL)
- 手動のバックアップ方法
index
[open]
\ アプリをリリースしました /
WordPressでブログやサイトを運営している時にサイトのデザインや機能をいじりたい時ありますよね!
そんな時に本番環境で弄っているとエラーを起こしてWordPressにログインできなくなったり画面が真っ白になってしまうことも。。
それを防ぐには自分のPC内(ローカル環境)にWordPressをコピーしましょう!
※またこの方法はWordPressのバックアップにもなります。手動のバックアップ方法としてもご活用ください!
WordPress→ローカル環境にコピーする手順
まず必要な環境とソフトウェアが整っているか確認します。
必要なソフトウェアや環境
- MAMP(ローカル環境)
- WordPress(本番環境)サーバー
- FTP(ファイル送信ソフトウェア)

必要なのはPC内にサーバーを構築できるローカル環境(今回はMAMP)とWordPressで運営している自身のサイトの本番サーバー(今回はXサーバー)、そしてファイルを本番サーバーからダウンロードしたりアップロードできるFTPの3つになります。
いじる場所
- FTPで接続した本番サーバー内のファイル
- PC(MAMP)内のファイル
- 本番サーバー環境のphpAdmin
- ローカル環境のphpAdmin
- MAMP内の【.htaccess】
- MAMP内に落とした【wp-config.php】
操作する場所は以上の通りです。やり方さえ覚えれば簡単にできますのでゆっくりやってみてください。
大まかな流れ
- WordPressのファイルをダウンロード
- MAMP内にダウンロードしたファイルを格納
- WordPressのデータベースのデータ(DBデータ)をエクスポート
- ローカル環境のphpAdminにDBデータをインポート
- インポートしたDBデータをローカル用に変換
- MAMP内に設置したファイルの【.htacces】を変更
- MAMP内に設置したファイルの【wp-config.php】を変更
大まかな流れはこのような感じです。では実際に手順に沿って実行していきます。
WordPressのファイルをダウンロード
まずは本番環境(サーバー内)のWordPressのデータをダウンロードします。
FTPソフトはなんでも良いですが今回は「FileZilla(ファイルジラ)」を使用します。
FTPソフト:FileZilla
まずFileZillaと自身のWordPressサーバーをリンクさせます。
FileZillaをダウンロードしたらアプリを開き、上のメニューの中から「ファイル」>「サイトマネージャー」をクリックします。

するとこのようなポップアップが表示されるので「新しいサイト」をクリック→「新規サイト」が追加されるので名前を任意のもの(例えばmyServer)に変更しておきます。

続いて右側の設定部分をしていきます。
項目 | 設定値 |
---|---|
プロトコル | 「FTP-ファイル転送プロトコル」(そのまま) |
★ホスト | FTPホスト名 例:sv12345.xserver.jp |
暗号化 | 「明示的な FTP over TLS が必要」に変更 |
ログオンタイプ | 「パスワードを尋ねる」に変更 |
★ユーザー | FTPユーザー名 例:xs463724 |
★パスワード | FTPパスワード |
★マークがついた箇所がユーザーによって変わる部分です。その値はXサーバーのサーバーパネルから確認することができます。
「サーバーパネル」にログイン後、「サブFTPアカウント設定」をクリック。

自分の「すべてのドメイン」を選択して

「FTPソフト設定」タブをクリック。すると初期FTPアカウントの設定内容の部分に「ホスト名」、「ユーザー名」が記載してあります。

パスワードはここに乗っていれば良いですがなければ1番最初の契約時に届いたメールを確認しないといけません。
「【Xserverアカウント】■重要■サーバーアカウント設定完了のお知らせ[試用期間] 」という題名のメールを探します。

そのメールの本文に「FTPパスワード」が記載されていますのでそちらを記述すればOKです。

必要な項目の入力を終えたら「接続」ボタンを押せば本番環境のサーバーと接続し、下画像のような画面になります。これでサーバー内のファイルを操作できるようになります。

MAMP内にダウンロードしたファイルを格納
左側に並んでいるのが自分のPC内のファイル、右側に並んでいるのがサーバー内に格納されているファイルになります。
FTP接続が完了したらサーバー側のファイルの中に自分のドメインのファイルがあると思います。このサイトでいうと「amefure.com」にあたる部分です。
ファイルをクリックすることで中を見る(階層を下がる)ことができます。階層を下がりファイルの中に「public_html」ファイルがあると思います。この中にWordPressで運営しているサイトの記事情報や設定情報が格納されているのでこのファイルごと自分のPC内にダウンロードします。保存場所はデスクトップでOKです!

データ量が多いのでデータのダウンロードには30分くらいかかることもあります。ダウンロード中に不具合が起きないように注意しましょう!
次にデスクトップにダウンロードした「public_htmlファイル」をMAMPの中に格納します。
格納場所は「MAMP > htdocs」の中です。
MAMPではドキュメントルートが「Applications > MAMP > htdocs」に設定されているので「htdocs」ファイルより下に格納したファイルに「http://localhost/ファイル名」でアクセスできるようになります。
複数のファイルを格納すれば複数のローカル環境を構築できるようになるので「public_html」ファイルの名前を任意のものに変えておきます。ここでは「local_wp」としておきます。
名前を変更したら「htdocs」ファイルの中に「local_wp」ファイルをドラッグ&ドロップで格納します。

複数構築する予定がない人は、public_htmlファイルの中身のファイルのみ突っ込んでも構いません。その時は後程のパス設定が変わってくるので注意してください
WordPressのデータベースデータをエクスポート
続いてWordPressで運営しているサイトのデータをデータベースからエクスポート(ダウンロード)します。
運営しているサイトの全情報は先ほどデスクトップに落としたサーバー内のファイルとデータベース内のデータの2つに分かれているので両者ともダウンロードしておかないといけません。
XサーバーのphpAdminログイン方法
DBデータをエクスポートするには「phpAdmin」にログインしないといけません。
ログイン方法は「FTP接続」の時に確認した「サーバーパネル」の中の「データベース」項目の中の「phpAdmin(MariaDB10.5)」をクリックします。

ログイン時にIDとパスの入力が求められますのでIDは上の「MySQL設定」>「MySQLユーザ一覧」のユーザ部分になります。おそらく「xsOOOO_wp1」になっていると思います。(local_host)の部分は含めずにコピーして貼り付けましょう。
パスはサーバーパネルにログインする時のものと同じものでOKです。
phpAdminの中に入れたら言語設定をしておきます。言語(language)を「日本語」に変更しておきましょう。

DBデータのエクスポート方法
続いてエクスポートの手順です。先ほどのIDと同じ「xsOOOO_wp1」データベースを選択します。データベースを別で作成している人は間違えなように注意してください。
右側のメニューの中の「エクスポート」をクリックするとこのような画面になります。

エクスポートの設定部分はいじらず、データベースが「xsOOOO_wp1」であることを確認したら「実行」ボタンを押します。すると拡張子が「.sql」のファイルがダウンロードされるはずです。
ダウンロードされたsqlファイルをインポートするためにzip形式に圧縮しておき準備は完了です。

これでエクスポートは完了です。本番環境のphpAdminはもう用がないので閉じて大丈夫です。
ローカル環境のphpAdminにDBデータをインポート
sqlファイルをダウンロードできたらローカル環境のphpAdmin(DB)内にデータをインポートします。
まず「WebStart」でMAMPのサイトを表示させます。

サイトの左上部にある「Tools」>「phpMyAdmin」でローカル環境のphpAdminにログインすることができます。

phpAdminが開いたら言語設定をした後に「新規作成」で新しいデータベースを作成します。データベース名は「local_wpdb」としておきます。横の入力欄は文字コードなので「utf8_general_ci」としておけばOKです。これで作成ボタンを押せば左側に作成したデータベースが表示されます。

作成された空のデータベースをクリックし「インポート」からデータをアップロードしていきます。
「ファイルを選択」で先ほど作成した「.sql.zip」ファイルを選択し、1番下の実行ボタンを押します。

これでインポートは完了です。しかしインポートしたデータの中身は本番環境用のデータになっているので中身をローカル環境用に変換しなければいけません。
インポートしたDBデータをローカル用に変換
変換するにはSQL文を使って一括で変換していきます。

- 移行元URL→“https://○○○.com”(実際のサイトURL)
- 移行先URL→“http://localhost/ファイル名”(ローカル環境のURL)
ファイル名部分は「public_html」ファイルの名前変更後でOKです。(今回は「local_wp」)
複数のローカル環境を作らない場合(「htdocs」の下に「public_html」の中身をそのまま入れた場合)は移行先URLは「http://localhost/」でOKです。
SQL文
UPDATE `wp_options` SET option_value=REPLACE (option_value,'https://○○○.com','http://localhost/local_wp');
UPDATE `wp_postmeta` SET meta_value=REPLACE (meta_value,'https://○○○.com','http://localhost/local_wp');
UPDATE `wp_posts` SET guid=REPLACE (guid,'https://○○○.com','http://localhost/local_wp');
UPDATE `wp_posts` SET post_content=REPLACE (post_content,'https://○○○.com','http://localhost/local_wp');
このコードをコピーしてURL部分を変更し、実行ボタンを押せばデータをローカル環境用に変換する作業の完了です。
- 「htdocs」配下に複数ファイル→”http://localhost/ファイル名" でアクセス
- 「htdocs」配下に「public_html」の中身のみ→"http://localhost/" でアクセス>
MAMP内の【.htaccess】を変更
この部分は「1」の場合のみ必要です。「2」の方法で設定した場合は飛ばしてください。
「MAMP内の【wp-config.php】を変更」へジャンプ!次にMAMP内に設置した「local_wp」ファイルを開き、「 "shift" + "command" + "."」を押します。このコマンドを入力すると「隠しファイル」を表示させることができます。

その中でも「.htaccess(エイチティアクセス)」は設置してあるディレクトリ以下のアクセス設定を行える隠しファイルです。
アクセス設定だけでなく、リダイレクト処理やユーザー認証、404エラーページの変更などを設定できるサーバー(Apache:アパッチ)を制御する設定ファイルになります。
今回はローカル環境のURLをファイル名ありの「http://localhost/ファイル名”」に設定したので「.htaccess(エイチティアクセス)」のコードも変更していきます。まずはVエディタやメモ帳でファイルを開きます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
変更するのは4行目と8行目です。ここにはURLのドメイン以下のディレクトリやファイル名を記述します。
今回はドメイン部分を「http://localhost/」で配下に「local_wp」を設置してあるので「local_wp」部分を付け加えないといけないので以下のように変更します。
4行目
RewriteBase /local_wp/
8行目
RewriteRule . /local_wp/index.php [L]
MAMP内の【wp-config.php】を変更
続いてデータベースが変更になったため「wp-config.php」内のデータベース接続設定を変更していきます。
MAMP内に設置した「local_wp」の中のすぐ下にあるはずですので探しエディタで開きます。変更するのは「データベース名」、「ユーザー名」、「パスワード」の部分です。
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'xsooooo_wp1' ); // ⇨ local_wpdb
/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'xsooooo_wp1' ); // ⇨ root
/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'password' ); // ⇨ root
/** MySQL のホスト名 */
define( 'DB_HOST', 'localhost' );
/** データベースのテーブルを作成する際のデータベースの文字セット */
define( 'DB_CHARSET', 'utf8' );
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define( 'DB_COLLATE', '' );
それぞれの値の部分を変更しておきます。
変更後
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'local_wpdb' );
/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'root' );
/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'root' );
これでWordPressをコピーしてローカル環境に移行させる作業の完了です。
ログイン時の注意点
WordPressのログイン画面は全て同じ「wp-admin」という末尾のURLになっています。
なので
http://localhost/wp-admin/
とブラウザに打ち込んであげればローカル環境でのWordPressの管理画面にログインできると思います。
ここでWordPressのセキュリティ対策として「Login Rebuilder」のようなログインURLを任意のものに変更できるプラグインを使用していた場合は注意が必要です。

Login Rebuilderの導入方法についてはこちらの記事で解説しています。
関連記事:【完全版】WordPressでブログを開設したらやるべきこと!初心者向けに用語も徹底解説
ローカル環境にコピーしたWordPressもプラグインなどを引き継いでいますのでログインURL変更プラグインも同様に動作しています。
http://localhost/任意のログインURL/
変更したログインURLでローカル環境にアクセスできるはずなので試してみてください!
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。