概要
今回は、EC-CUBE4サイトを別のレンタルサーバへ引っ越ししたときのざっくりな手順を紹介します。
背景としましては、、以下のとおりです。
- EC-CUBE4のサイトをとあるレンタルサーバに設置をしていたんだけど、方針が変わって別のレンタルサーバに設置することとなった。
- とあるレンタルサーバに設置しているEC-CUBEサイトは商品とかだいぶ登録してあって、その中身とかもまるごと別サーバに持ってくる必要があった…。
注意
参考程度でお願いします、一旦自分はこの通りに行いました。もっと良い方法があればご教授いただきたいです。
レンタルサーバによってはその他設定の調整とかが発生するかもしれません。参考程度でお願いいたします。
既にオープン済みの場合は特に要注意をしてください。移行先のサーバにDNS切り替える前にしっかり検証を。
ざっくり作業手順
新しいレンタルサーバ側の調整をおこなう
新しいレンタルサーバで新しいドメインを使うのであれば、ドメイン取得をしてDNS調整してサイトとして表示できる領域を準備できればいいと思います。あとはSSLをかけるとか。
移行前サイトと同じドメインを使うのであれば、新しいレンタルサーバ側に表示できる領域を作って、ローカルのhostsファイルで名前解決をしてあげればいいかと。引越し作業後に十分な検証後に新しいレンタルサーバ側にDNSを切り替えてSSLをかけてあげるとか。
ソースコードを引っ越す
EC-CUBE4のソースコードを新しいサーバに持ってくる必要があります。移行前のサーバにSSHでログインし、対象のEC-CUBE4ディレクトリをまるごとzip圧縮してあげてください。
その際に var/
ディレクトリ内のキャッシュファイル、ログファイル、セッションのファイルは移行先では不要になりますので除いてあげるのがベストです
cd /home/user/example.jp/public_html/
zip -r eccube4.zip eccube4 -x *var/cache/* -x *var/log/* -x *var/sessions/*
私は一度ローカルのPCにダウンロードしてきてから新しいレンタルサーバにzipをアップロードしました。
scp server:/home/user/example.jp/public_html/eccube4.zip ~/Desktop/
scp ~/Desktop/eccube4.zip new-server:/home/user/example.com/
そして解凍。
cd /home/user/example.com/
unzip eccube4.zip
mv eccube4 public_html
コマンドの内容は調整して使ってね。
データベースの内容を引っ越し
移行前のEC-CUBE4サイトで使用しているデータベースをエクスポートします。MySQLを使っているのであればレンタルサーバのphpMyAdmin管理画面から簡単にエクスポートできるはず。
移行先のレンタルサーバにEC-CUBE4で使用するデータベースを設置する。その後にエクスポートしてきたdumpデータを設置したデータベースにインポートしよう。データベース名が同じであればすんなりインポートできるし、すんなりインポートできないときは移行前と移行先で違っているからだと思うからdumpデータを調整してあげよう。
設定情報(環境変数)を書き換える
移行先に持ってきたソースコードの設定情報(環境変数)を書き換えてあげる必要があります。データベースの接続先だったりです。
EC-CUBE4の場合、設定情報は .env
ファイルか .htaccess
に SetEnv
で環境変数を書いてあげるかだと思います。
以下は .htaccess
に書いてあげた例で、調整していただけたらと思います。
SetEnv APP_ENV dev # prod or 1
SetEnv APP_DEBUG 1 # 0 or 1
SetEnv DATABASE_URL #新しいデータベースの接続先情報に
SetEnv DATABASE_SERVER_VERSION #新しいデータベースサーバのバージョン
SetEnv MAILER_URL # Mailerに指定があれば
SetEnv ECCUBE_AUTH_MAGIC # 移行前と同じでいい
…
以上です。
移行先でしっかり検証を行なってください。