EC-CUBE3をバックアップ・復元する方法

「もし管理しているお客さんのサイトのデータが消えてしまったら…」

考えるだけで、怖いですよね。特にEC-CUBEを使ったECサイトですと顧客情報や注文情報など、普通のサイトに比べても大切なデータがたくさんあります。

そこでこの記事では、EC-CUBEのバックアップを取る方法を紹介します。

EC-CUBE3のバックアップの基本

まず、折角取ったバックアップが復元できない、ということがないようにEC-CUBEの基本的な仕組みについて解説します。

HTML/CSS(一部、JavaScript)のみで作るサイトのことを「静的サイト」と呼びます。

一方で、EC-CUBEやWordPressのように、サーバー上にシステムとデータベースを持ち、ユーザーがページを見るたびに、データベースからデータを引っ張り出し、それをHTMLのページとして表示するサイトのことを「動的サイト」と呼びます。

静的サイトであれば、サーバー上のデータを全てバックアップしておけばいいのですが、EC-CUBEのような動的サイトは、

  • サーバー上のデータ:EC-CUBE本体、プラグイン、テーマ、画像など
  • データベース上のデータ:商品情報、顧客情報など

の2つのバックアップを取る必要があります。

EC-CUBE3用のバックアップ用プラグインはない

WordPressにはバックアップを取るにも便利なプラグインがいくつかありますが、EC-CUBE3にはありません。部分的にバックアップするものはありますが、全体をバックアップするものがありません。

ちなみに2.x系用はあります。ただ、2.x系自体がサポートが終了していますので、おすすめできません。

しかし、プラグインほどの手軽さはありませんが、データとデータベースをまるっと保管しておけば、バックアップとしては OKです。

また他のサーバーやドメインに復元、移管するときも修正箇所がまとまっているので、比較的簡単に書き換えできます。

EC-CUBE3のバックアップ方法

それではまずはEC-CUBEでのバックアップ方法を紹介します。

1. サーバー上のデータをダウンロード

サーバー上のデータをダウンロードします。変更部分だけだと軽くなりそうですが、EC-CUBE3のコアの部分もアップデートされていくので、ルートディレクトリからまるっとダウンロードして保管しておくことをおすすめします。

ダウンロード方法はサーバー(レンタルサーバー・VPSなど)によっては管理画面からバックアップ・ダウンロードできるレンタルサーバーもあります。僕はFTPソフトのCyberduckを使ってダウンロードしました。

Cyberduckの導入の仕方と使い方はドットインストールが分かりやすいので、まだ使ってない人はこちらもどうぞ。

2. データベース上のデータをダウンロード

続いて、データベース上のデータをダウンロードしていきます。こちらもサーバー(レンタルサーバー・VPSなど)によって違いますが、管理画面からバックアップ・ダウンロードできるレンタルサーバーもあります。僕はphpMyAdminを使って、ダウンロードしました。僕の使っているX SERVERでは、最初からphpMyAdminが入っており管理画面からアクセスできました。

これで完了です。

EC-CUBE3の復元方法

続いて復元する方法です。復元するパターンとして、

  1. 同じドメイン・同じデータベースに復元
  2. 同じドメイン・違うデータベースに復元
  3. 違うドメイン・同じデータベースに復元
  4. 違うドメイン・違うデータベースに復元

の4パターンが考えられます。

1の場合は、ただバックアップしたファイルとデータベースのデータを元に戻せばそのまま動きます。

他の場合は、少しだけ設定ファイルをいじるので流れを説明していきます。

1. サーバーにバックアップしたファイルとデータベースのデーターを戻す。

これはバックアップで説明したの全く逆で、バックアップしたファイルとデータベースのデータをそれぞれCyberduckとphpMyAdminを使って戻します。

2. 設定ファイルの編集

この作業のポイントです。

編集ファイルは以下のフォルダにあります。

(ルートディレクトリ)/app/config/eccube

その中に、4つのファイルが入っています

1. config.yml

基本的な設定ファイルです。
SSL設定してある場合は、設定が必要になる場合があるようですが、今回は設定してなかったので触りませんでした。

2. database.yml

データベースの設定ファイルです。
ここにデータベースの情報(ホスト名、DB名、ユーザー名、パスワード)が書いてあるので、バックアップした元とは別のデータベースを使う場合は、そのデータベースに合わせて書き換えます。

3. mail.yml

メール送信の設定ファイルです。
受注メール送信など設定をする場合は必要になりますが、今回は触りませんでした。

4. path.yml

パスの設定ファイルです。
各パスが、絶対パスで記載されているので、元とは別のドメインになる場合は、ドメイン部分を書き換えます。

パスの設定するところが多めですが、基本的にはドメイン部分を一括置換してしまえば対応できます。(一応、各行どのように書かれているか要確認)

これで完了です。

【まとめ】やり方を知ってしまえば、怖くない!

今回は、EC-CUBE3のバックアップと復元方法を紹介しました。

基本的にはドメインもデータベースも変更する移管作業であっても、2つのファイル(database.yaml、path.yaml)を書き換えれば完了なので、知ってしまえば難しいところはありません。

定期的にバックアップを取って、安心のEC-CUBEライフを送ってください。