ECcubeのサイトコピー

ECcubeを複数サイト立ち上げるとき、いちいちインストールしてたら大変なので、下記の方法で簡単にコピーして立ち上げられるよ。

まずはDBのコピー

新しいDBを作成
create database eccube_site2;

DBにアクセスするユーザを許可(ユーザ eccube、パスワードhogehoge)
GRANT ALL PRIVILEGES ON eccube_site2.* TO eccube@localhost IDENTIFIED BY 'hogehoge';
FLUSH PRIVILEGES;

データをダンプ
mysqldump -u root eccube_site1 --default-character-set=binary > eccube_site2.dump

データをリストア
mysql -u root eccube_site2 --default-character-set=binary < eccube_site2.dump


/hoge/site/eccube_site1/以下にECcubeのdata, htmlフォルダがあるとして、それを2サイト目のディレクトリにコピー
出来ればパーミッションの引継ぎ関係を考えて、rootユーザで下記を実行

cp -rp /hoge/site/eccube_site1 /hoge/site/eccube_site2


ECcubeのディレクトリ構成、DB接続情報は、data/install.phpに記載されているので、それを適宜eccube_site2用に書き換える
下記は、/hoge/site/eccube_site2/html/がwebrootのディレクトリの例。

vi /hoge/site/eccube_site2/data/install.php

<?php
    define ('ECCUBE_INSTALL', 'ON');
    define ('HTML_PATH', '/hoge/site/eccube_site2/html/');
    define ('SITE_URL', 'http://site2.hoge.com/');
    define ('SSL_URL', 'http://site2.hoge.com/');
    define ('URL_DIR', '/');
    define ('DOMAIN_NAME', '');
    define ('DB_TYPE', 'mysql');
    define ('DB_USER', 'eccube');
    define ('DB_PASSWORD', 'hogehoge');
    define ('DB_SERVER', '127.0.0.1');
    define ('DB_NAME', 'eccube_site2');
    define ('DB_PORT', '');
    define ('DATA_PATH', '/hoge/site/eccube_site2/data/');
    define ('MOBILE_HTML_PATH', HTML_PATH . 'mobile/');
    define ('MOBILE_SITE_URL', SITE_URL . 'mobile/');
    define ('MOBILE_SSL_URL', SSL_URL . 'mobile/');
    define ('MOBILE_URL_DIR', URL_DIR . 'mobile/');
?>


これで動かせば無事に2サイト目が完成するはず。
サイトの内容は1サイト目の情報が入っているので、ECcube管理画面から適宜書き直す。