WordpressもMovableTypeも比較的引っ越しは楽なんですが、なんかEC-CUBEは面倒くさいです。というのも決済モジュール関連も含むので完璧に引っ越しする方法となるとかなり個別になるというか一定したマニュアルがないというか。でも仕方ないので始めます。
引っ越し想定の例
項目 | 引越元 | 引越先 |
---|---|---|
Domain | from.example.com | to.example.com |
Path | /home/from/www | /home/to/www |
IP | xxx.xxx.xxx.xxx | zzz.zzz.zzz.zzz |
mysqldump & restore
まずはデータベースをダンプします。ダンプファイルをエディタなどで開いてfrom.example.comをto.example.comにすべて置換します。このとき、www.example.com(wwwあり)などをexample.net(wwwなし)みたいなものに置換するとwwwが残ったままになったりするのでちゃんと置換しましょう。それからフルパスのDocumentRootを/home/from/wwwを/home/to/wwwに置換します。(熟練職人さんはsedとかでサーバー内でバーっとやってOKです。ここっちの方が早いです。)これでデータベースの準備は整いました。
このファイルを移行先のサーバーにアップしてリストアします。
dataディレクトリとhtmlディレクトリを移行
dataとhtmlを丸々ダウンロードして移行先にアップロードします。htmlがDocumentRootになるので、場合によってはpublic_htmlだったりwwwだったりするかもしれませんが環境に合わせてやってください。(上記の例ではhtmlがwwwとして扱っています)上記の移行例では、
/home/from/www /home/from/data ↓ /home/to/www /home/to/datadata,html(www)共に全文検索かけてみました。ちゃんとしたプログラミングをしていたらdata/config/config.php以外にドメインやパスの記述はありません。もしベタで書いている人がいるかもしれないので、ダンプファイルと同様に全文置換しましょう。(find & grepで置換できる人はアップロードしてからサーバー内でやってしまいましょう。)
これらを移行先にアップロードします。
データベースの設定
移行先でDatabaseの接続設定を行います。data/config/config.phpを開いて先ほどリストアしたDatabaseの接続情報に書き換えます。user,password,host,dbname以外はそのままにした方がトラブルが最小限になって楽です。パーミッションの設定
EC-CUBEのパーミッションが厄介です。777じゃないと作動しないところがあったりなかったり、ディレクトリを全部777にしてファイルを全部666にしたら動くとか動かないとかで、厄介です。画像のアップロードができないだのプラグインやモジュールが入るとか入らないとかで、もうなんて言うかシステムの体裁が整っているんだかって感じです。が、最低限なところで設定すべきところを紹介します。data [777] www [777] data/cache [777] data/cache/*.serial [666] data/class [777] data/logs [777] data/logs/*.log [666] data/Smarty [777] data/Smarty/templates_c [777] data/Smarty/templates_c/admin [777] data/Smarty/templates_c/default [777] data/upload [777] data/upload/csv [777]この設定が正しいのか正しくないのかわかりませんが、だいたいこのようなかたちで動きます。