開発環境から本番環境へのコピーをなるべく楽にやりたい

サイト制作=Wordpressというぐらい当たり前になってきましたね。
少なくとも私の周りでは・・・たまにMTの話を聞くと「えっ」って感じ。

そういったわけで、Wordpressで作る段になったときには、
まず、ローカル開発環境や開発サーバでゴニョゴニョしながら制作します。
んで顧客のOKをもらったら、本番環境に同じ内容のサイトを作って納品という流れです。

ちっさいサイトなら新規でWordpressをインストールしてコピペベースで作れますが、
ページが増えると正直萎えます。

というような割とよくあるケースなのでメモっときます。

環境説明

シナリオ
 開発環境でサイト制作を行い、完成後、本番環境にコピーしたい!

今回の実行条件
・サイトはWordpressで制作。
・開発環境と本番環境のドメインは別。
・どちらもさくらインターネットのレンタルサーバを使用。
・開発環境と本番環境のさくらインターネットのアカウントは別。
・データベースのバージョンは5.5
・Wordpressのバージョンは3.5.1
・文字コードはUTF-8

レンタルサーバ [開発]さくらインターネット
[本番]さくらインターネット
さくらアカウント [開発]ccraft111
[本番]ccraft999
URL [開発]http://blog.itsepg.com
[本番]http://www.ccraft.co.jp
WordPressパス [開発]/home/ccraft111/www/itsepgcom
[本番]/home/ccraft999/www/ccraftcojp
DBサーバ [開発]mysql○○○.db.sakura.ne.jp
[本番]mysql▲▲▲.db.sakura.ne.jp
DBユーザ [開発]ccraft111
[本番]ccraft999
DBパスワード [開発]passwd111
[本番]passwd999
DB名 [開発]ccraft111_db
[本番]ccraft999_db
テーブル接頭辞 [開発]20130221
[本番]20130221

※設定データは架空です。

では本題の作業メモ

(1)開発環境のデータをコピー

ファイルのコピー
FTPツールなどでドメインのルートパス(/home/ccraft111/www/itsepgcom)にあるWordpressの全フォルダ&全ファイルを、ローカルパソコンにダウンロードする。

データベースのコピー
アプリケーションの設定>データベースの設定を選択
インストールされているデータベースのバージョンの「管理ツールログイン」を起動する。
  phpmyadmin が起動したら、ログインする。
   忘れた場合は、Wordpressのwp-config.phpに記載されている。
  左メニューからデータベースを選択する。「ccraft111_db」を選択する。
  タブメニューから「エクスポート」を選択する。
  エクスポートの欄を見て、テーブルが「全選択」かつ「SQL」が選択されていることを確認し、「実行する」をクリック。

(2)コピーした開発環境のデータを書き換える

データベースをエクスポートしたファイルを開く
 テキストエディタの置換機能を使って文字を一括置換する。
  置換前「http://blog.itsepg.com」
  置換後「http://www.ccraft.co.jp」
 
 テキストエディタの置換機能を使って文字を一括置換する。
  置換前「/home/ccraft111/www/itsepgcom」
  置換後「/home/ccraft999/www/ccraftcojp」
 
 それ以外にも、フルパス系があるかなるべく目視して確認。

WordPressの設定ファイルを修正する
 Wordpressのルートフォルダにある「wp-config.php」を開く。

/** WordPress のためのデータベース名 */
//OLD define(‘DB_NAME’, ‘ccraft111_db’);
define(‘DB_NAME’, ‘ccraft999_db’);

/** WordPress のためのデータベース名 */
/* OLD define(‘DB_NAME’, ‘ccraft111_db’); */
define(‘DB_NAME’, ‘ccraft999_db’);

/** MySQL データベースのユーザー名 */
/* OLD define(‘DB_USER’, ‘ccraft111’); */
define(‘DB_USER’, ‘ccraft999’);

/** MySQL データベースのパスワード */
/* OLD define(‘DB_PASSWORD’, ‘passwd111’); */
define(‘DB_PASSWORD’, ‘passwd999’);

/** MySQL のホスト名 */
/* OLD define(‘DB_HOST’, ‘mysql○○○.db.sakura.ne.jp’); */
define(‘DB_HOST’, ‘mysql▲▲▲.db.sakura.ne.jp’);

/**
* WordPress データベーステーブルの接頭辞
*
* それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
* インストールすることができます。半角英数字と下線のみを使用してください。
*/
$table_prefix = ‘20130221’;

(3)本番環境にコピーする

本番環境にWordpressのファイルをアップロードする
さきほどコピーしたファイル+変更したwp-config.phpファイルを本番環境のドメインのルートパス(/home/ccraft999/www/ccraftcojp)にアップロードする。

本番環境にデータベースを新規で作成する
 データベース名:ccraft999_db
 文字コードはUTF-8

本番環境のデータベースにインポートする
データベースのエクスポートとしたときと同じようにphpmyadminにログインする。
 新規に作成したデータベース(ccraft999_db)を選択する。
 タブメニューから「インポート」を選択
 さきほどの修正済のエクポートしたファイルを指定して実行する。

(※)その他

ポイントは、データベース内のURLとフルパスの置換ですね。
テキストエディタがない方は、データベースにインポートしてからUPDATE文で一括置換するのもアリですね。
フルパス系はプラグインなどで使う可能性があります。なるべくはコピー前には、未使用のテーマはファイル削除。プラグインも無効にして身軽にしておくことをお勧めします。