EC-CUBEでサーバー移行するときの作業手順まとめ

ネットショップ

サイト公開までは開発用ドメインで EC-CUBE を作成しておき、完成したらごっそり本番サイトに移行する。そういうケースってよくありますよね。

そんなときの EC-CUBE サイト移行手順をまとめてみます。

なお、EC-CUBE はバージョン2.13.2、移行元・移行先のサーバは同じディレクトリ構成になっているものとします。

リソースファイルの移行

まず、移行前サーバの EC-CUBE 本体のファイルをコピーして、移行後のサーバに設置します。

  • /data
  • /html

対象は上記のディレクトリになりますので、ごっそり移してください。もちろん、パーミッションも移行元と同じようにしておきます。

設定ファイルの変更

EC-CUBE の設定ファイル「/data/config/config.php」を編集し、移行元と移行先で異なる箇所を変更します。

まず、URL関連の設定項目。

define('HTTP_URL', 'http://【移行先のドメイン】/');
define('HTTPS_URL', 'https://【移行先のドメイン】/');

次にDB設定情報の項目。

define('DB_USER', '【移行先のDBユーザー名】');
define('DB_PASSWORD', '【移行先のDBパスワード】');
define('DB_SERVER', '【移行先のDBサーバアドレス】');
define('DB_NAME', '【移行先のDB名】');

また、移行元サーバが HTTPS で管理画面アクセスに SSL を使っており、移行先では SSL を使用しないような場合、「ADMIN_FORCE_SSL」という項目を FALSE に切り替えておかないと無限ループが発生してしまいます。

本番サイトから開発用のステージング環境を複製するような場面で起きうるケースだと思いますので、念のためご注意を。

define('ADMIN_FORCE_SSL', FALSE);

DBの移行

DBの移行を行います。

まずは、移行元の DB からダンプファイルを作成します。コマンドで実行する場合は、次のような感じです。

$ mysqldump -u 【ユーザ名】 -p 【データベース名】 > 【ダンプファイル名】

次に、移行先のDBに先ほどのダンプファイルをインポートします。(移行先のDB作成、ダンプファイルの移行先サーバへの移動は、事前に済ませておいてください。)

$ mysql -u 【ユーザ名】 -p 【データベース名】 < 【ダンプファイル名】

以上です。あとは移行先のサーバにアクセスして、動作確認してみてください!

まとめ

やってみるとさほど難しい操作もなく、思ったより簡単に移行できてしまうことが分かりました。あー良かった。

photo credit: danielfoster437 via photopin cc