このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

web帳

記事詳細

2014.01.03

既存のWordPressサイトをローカル(vagrant等)に移行方法(MySqlエクスポート)

久しぶりにWordpressについて。

既存のWordPressサイトをそのままローカルに持って来たかったので、その手順についてとなります。

ファイルダウンロード

既存のWordPressファイルをftpを用いてファイルまるまるダウンロードを行います。

ローカルのVagrantディレクトリに格納しましょう。

(ここらへんの手順は割愛させて頂きます。)

MySQLエクスポート

まずは、既存のWordPressのデータをエクスポートします。

お使いのwebサービスのphpMyAdminからエキスポートすることが出来ます。

ここでは、ロリポップを例とします。

まず、ログインし管理画面のメニュー「WEBツール」より「データベース」を選択。

すると、「.phpMyAdminを開く」のボタンが表示しますのでクリック。

phpMyAdminのログインページといきますので、mySQLの ユーザーidとパスワードを入力し、ログインします。

画面右上のメニューに「エクスポート」のタブがありますのでクリック。

すると、「エキスポート方法」が表れますので、「詳細」を選択します。

(違いを確認していないので、取り敢えず選択しました。)

ほぼデフォルトで大丈夫かと思いますので、

そのまま、画面下の「実行する」ボタンをsqlがエキスポートされ「DBネーム.sql」ファイルがダウンロードされます。

WordPress config修正

ローカル用のデータベースの作成を行います。

[code]mysql> CREATE DATABASE データベース名;[/code]

この際、MySQLのパスワードは簡易なパスワードに変更しておいて良いかと思います。

パスワード変更のsql文は以下となります。

[code]mysql > SET PASSWORD FOR root@localhost=PASSWORD('NEWPASSWORD');[/code]

 

WordPressの設定ファイルである「wp-config.php」を編集します。

ローカル環境と本番環境で切り替えを行いたいので、「ホスト」で判別しデータベースの設定を変えます。

[code]
$hostname = $_SERVER['SERVER_NAME'];

if ( $hostname === ‘ローカルホスト名' ) {
define('DB_NAME', ‘ローカルDB');
define('DB_USER', 'root');
define('DB_PASSWORD', ‘ローカルpass');
define('DB_HOST', 'localhost');
} else if ($hostname === ‘本番ホスト名' ) {
define('DB_NAME', ‘本番DB名');
define('DB_USER', ‘本番ユーザー名');
define('DB_PASSWORD', ‘本番pass');
define('DB_HOST', '本番ホスト');
}
[/code]

ローカルホスト名〜〜 の設定は先ほど作成したdbの設定を記述します。

本番ホスト名〜〜 は既存のデータを記述します。

 

ローカルデータベース インポート

エクスポートしたsqlファイルをローカルのデータベースにインポートします。

[code]mysql -u root -p --default-character-set=utf8 foo_db < dump.sql[/code]

foo_dbはローカルのdb名。dump.sqlはエキスポートしたファイルを指定。

この状態でローカルのwordpressは接続(アクセス)可能となりますが、

wp_optionsの"siteurl"と"home"の値が本番のままなので、こちらを変更しないと遷移がおかしな事になってしまいます。

現在の値を調べるには

[code]mysql> select * from wp_options WHERE option_name="siteurl";
mysql> select * from wp_options WHERE option_name="home”;[/code]

値の更新は、

UPDATE テーブル名 SET カラム名=`値`[, カラム名=`値`, ... ] WHERE 条件式;

と、update文を用いて更新します。

[code]UPDATE wp_options SET option_value="ローカルサイトパス" WHERE option_name=“site url";
UPDATE wp_options SET option_value="ローカルサイトパス" WHERE option_name=“home";[/code]

と、sql文で変更しましたが、

wp-admin/

以下(WordPressの管理画面)にアクセス出来れば、そちらで変更する形で問題ありません。

サイト確認

と、ここまで行えば、ほぼ本番とローカルで同じ環境となるかと思います。

表示がおかしい。等の症状が出る場合は、WordPressの方にキャッシュが残ってる場合がありますので、管理画面の「キャッシュクリア」を押すことによってキャッシュがクリアされ、正常に表示するかと思います。

以上、

久々のWordPress記事でした。

 

  • RSSを登録する

  • follow us in feedly

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、港区六本木で活動中。

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。