当サイトの記事には広告が含まれている場合があります

サーバーのWordPressをローカルに移行する

3f9fa1ac93370fdeea0e4e2e7459b436_s
以前、ローカルのWordPressをサーバーに移行するを書いたのですが、その逆のサーバーのWordPressをローカルに移行したいと思います。

Windows10をクリーンインストールしたのでローカルのデータがなくなりました。
何か変更したい時に直接サーバーをいじるのでは怖いので、ローカル環境で試すためにサーバー内のデータを移行しました。

ローカルのWordPressをサーバーに移行するでやった作業と逆のことをやればいいわけです。
ローカル環境はXAMPPを使用します。XAMPPインストールはローカルに開発環境を簡単に構築できるXAMPPをインストールを参考にしてください。

スポンサーリンク

サーバーのphpmyAdminでデータベースエクスポート

サーバー内のデータベース(WordPress投稿記事等はデータベース内にあります。)をsql形式で吐き出します。

まずはサーバーのコントロールパネルにログインしてデータベースにアクセスします。
使用しているサーバーがロリポップ!なのでロリポップ上でのデータベース操作になります。
他のレンタルサーバーご利用の方は、そのサーバー環境に合わせて作業してください。

ログインしたら、左サイドメニューの「WEBツール」-「データベース」を選択します。
01_wp-servertolocal
エクスポートしたい対象のデータベースの「操作する」をクリックします。
02_wp-servertolocal
この画面で表示されているユーザー名やサーバーを後ほど使用します。
「phpMyAdminを開く」をクリックします。
03_wp-servertolocal
先ほど表示されていたユーザー名やサーバーを入力・選択して「実行する」をクリックします。
04_wp-servertolocal
エクスポートしたい対象のデータベースを選択します。
05_wp-servertolocal
「エクスポート」タブをクリックします。
06_wp-servertolocal
エクスポート方法の「詳細-可能なオプションを全て表示」を選択します。
07_wp-servertolocal
テーブルを「全選択」しておきます。
08_wp-servertolocal
出力の圧縮方法ではzipを選択しました。
データがそんなにないときは圧縮しなくてもいいのですが、データが増えてくると圧縮しないとインポートできません。インポート時に使用できるファイル容量が2,048KBなので、容量オーバーする場合は圧縮します。
09_wp-servertolocal
生成オプションには「DROP TABLE / VIEW /PROCEDURE / FUNCTION / EVENT コマンドを追加する」にチェックを入れます。
10_wp-servertolocal
「実行する」をクリックします。
11_wp-servertolocal

任意のフォルダにダウンロードします。ダウンロードしたファイルは後ほど使うので、どこにダウンロードしたか忘れないようにしてください。
12_wp-servertolocal

FTPでWordPressをダウンロード

FTPツール※1を使用してサーバーからダウンロードします。
※1私は最近FileZillaを使用しています。
任意の場所にフォルダごとダウンロードします。

13_wp-servertolocal
ダウンロードしたファイルをC:\XAMPP\htdocsフォルダ内にコピーします。XAMPPインストール先のhtdocsフォルダ内に格納するので、インストール環境に合わせて格納してください。
直接C:\XAMPP\htdocsフォルダにダウンロードしてもいいのですが、ローカル用に修正するのでバックアップ用としてXAMPP格納場所以外に保存しておきました。
14_wp-servertolocal
コピーしたWordPressのwp-config.phpをローカル用に変更します。

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', '●●●●●-●●●●●');

/** MySQL データベースのユーザー名 */
define('DB_USER', '●●●●●');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', '●●●●●');

/** MySQL のホスト名 */
define('DB_HOST', '●●●●●');

●●●●●の部分は、ご自身で作成した値を設定します。
ユーザー名やパスワードを特に何も設定していない場合は、下記に修正します。

// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', '●●●●●-●●●●●');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'root');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', '');

/** MySQL のホスト名 */
define('DB_HOST', 'localhost');

ローカル上にデータベースを作る

XAMPPを使ってデータベースにアクセスします。
XAMPPを起動してApacheとMySQLをStartさせます。
15_wp-servertolocal
ローカルのXAMPPコントロールのMySQL行の「Admin」をクリックしてphpMyAdminを立ち上げます。
16_wp-servertolocal
ログインします。
04_wp-servertolocal
グローバルナビの「データベース」タブをクリックします。
17_wp-servertolocal
任意のデータベース名を記入して「作成」ボタンをクリックします。
18_wp-servertolocal
データベースが作成されました。

ローカルのphpmyAdminでデータベースをインポート

作成したデータベースにサーバーからエクスポートしたデータを移行していきます。
作成したデータベースを選択し、「インポート」タブをクリックします。
19_wp-servertolocal
「ファイルを選択」して先ほどエクスポートしたzipファイルを選択し、「実行」をクリックします。
20_wp-servertolocal

21_wp-servertolocal
データベースがインポートされました。
22_wp-servertolocal

インポートしたテーブルの内容をローカル用に置換

インポートしたデータベースはサーバー用のURLなので、ローカル用のURLに変換します。

ローカルURL・・・http://サーバー名/
サーバーURL・・・http://localhost/WordPressフォルダ名/

Search and Replace for WordPress Databases Scriptというスクリプトを使ってURL変換を行います。

サイトからSearch and Replace for WordPress Databases Scriptをダウンロードします。

23_wp-servertolocal
ダウンロードしたSearch and Replace for WordPress Databases Scriptを解凍し、C:\XAMPP\htdocs\WordPressフォルダ名 に配置します。
XAMPPインストール環境に合わせて格納してください。
24_wp-servertolocal
ローカルに配置したファイルにアクセスします。

http://localhost/WordPressフォルダ名/Search-Replace-DB-master/
をひらくと下記画面が開きます。

25_wp-servertolocal
database欄は、自動的に入っていました。
replaceにサーバーURLの「http://サーバー名/」をwithにローカルURLの「http://localhost/WordPressフォルダ名/」を指定します。
infoScoop開発者ブログさんの中で、replaceにhttp(s)や/(スラッシュ)を付与しない方がいいみたいなことが書いてあったので、http://以下を指定して置換しました。

replace・・・サーバー名/
with・・・localhost/WordPressフォルダ名/

「dry run」をクリックすると、どれだけ変更する箇所があるかが一覧で表示されるだけで置換はされません。
26_wp-servertolocal
「live run」をクリックすると「Are you absolutely ready to run search/replace?~」のメッセージが表示されるので、「OK」をクリックします。
27_wp-servertolocal
置換されました。
28_wp-servertolocal
置換が終了したら「delete me」を押してSearch and Replace for WordPress Databases Scriptを削除します。
29_wp-servertolocal
本当に削除していいの?みたいなメッセージが表示されるので、「OK」をクリックします。
30_wp-servertolocal
削除されました。
31_wp-servertolocal

.httaccessをローカル用に合わせる

サーバー環境とローカル環境でディレクトリ階層が合っていないので、「.httaccess」を変更します。

WordPressをルートディレクトリにインストールしている場合

# BEGIN WordPress 
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

WordPressを「memorandums」というサブディレクトリにインストールしている場合

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On RewriteBase /memorandums/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /memorandums/index.php [L]
</IfModule>
# END WordPress

これで作業は終了です。お疲れ様です。

くるりん

新入社員の頃にシステムエンジニアの会社に入社。その後、WEB制作系の仕事に転職しました。

くるりんをフォローする
WordPress
スポンサーリンク
くるりんをフォローする
Memorandums