サイト公開までは開発用サーバで 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 からダンプファイルを作成します。コンソールの mysql コマンドで実行する場合は、次のような感じです。(PHPMyAdmin などの DB 管理ツールでエクスポートファイルを作るのでも良いでしょう。)
$ mysqldump -u 【ユーザ名】 -p 【データベース名】 > 【ダンプファイル名】
次に、移行先の DB に先ほどのダンプファイルをインポートします。(移行先のDB作成、ダンプファイルの移行先サーバへの移動は、事前に済ませてある想定です。)
$ mysql -u 【ユーザ名】 -p 【データベース名】 < 【ダンプファイル名】
以上です。あとは移行先のサーバにアクセスして、動作確認してみてください!
おわりに
やってみるとさほど難しい操作もなく、思ったより簡単に移行できました。
以上、ご参考までに。
【追記】EC-CUBE 移行作業のご依頼について
有り難いことに、この記事をご覧になった方から EC-CUBE 移行作業に関するお問い合わせが増えております。
当方の作業リソースの空き具合にもよりますが、EC-CUBE 移行作業は業務としてお受けすることも可能ですので、ご要望のある方は下記お問い合わせよりお気軽にご相談ください。