ファイル変更だけ!ECCUBEの本番から開発環境をコピーする手順を解説
2017/03/11
ECCUBEの本番環境をコピーして開発環境を作る
開発環境を作る想定イメージ
ECCUBEの本番環境(公開環境)のプログラムのメンテナンスをする必要がある場合や、プラグインを試そうとする場合、デザインを修正する場合など、いきなり本番環境で実施するのではなく、事前に確認をするための開発環境(テスト環境)が欲しいと思う場面は多々あると思います。
そのような、ECCUBEの本番環境をコピーして、開発環境を作る場合の手順を解説します。
今回は、開発環境を作ることを想定していますが、開発環境を本番環境に移す場合も基本的には同じですので、参考になると思います。
ちなみに、レンタルサーバなどで、サーバ会社から提供されていたドメインで開発を行っていたものに対して、独自ドメインを当てていよいよ公開します、という場合の対応方法については「ECCUBEを開発環境から本番ドメインに変更でエラーが・パス変更について」に記事を書いていますので、併せて参考にしてください。
開発環境を作る手順
環境を構築する手順は、以下の順番になります。
・ECCUBEのデータベースをコピーする
・ECCUBEのファイルをコピーする
・ECCUBEの設定ファイルを変更する
ECCUBEのデータベースをコピーする
最初にデータベースのコピーを行います。
ECCUBEのデータベースの中にはデフォルトでも 130前後のテーブルがありますが、これをすべて新しい環境にコピーします。
phpMyAdminがあれば、データベースごと「エクスポート」でデータベース全体を取り出します。
そして、新しい空のデータベースを作成し、インポートします。
ECCUBEのファイルをコピーする
ECCUBEのプログラム、HTMLファイルをコピーします。
一般的には、FTPツールを使って、一度パソコンにダウンロードし、開発環境のフォルダにアップし直します。
Telnet、SSHでの接続が可能な場合は、コマンドでファイルをコピーしても OKです。
その場合は、下記のように、「-a」オプションでパーミッションなども含めてコピーすると確実でしょう。
「cp -ai html /dev.hoge.com」
必要なフォルダは、ドキュメントルートに入っているファイル一式、および、「data」フォルダです。
「data」フォルダは、ECCUBEの本体となるプログラムが入っているフォルダで、ドキュメントルートの外にある場合が多いですが、ドキュメントルートの中にある場合もあります。
ECCUBEの設定ファイルを変更する
dataフォルダへのパスを通す
まず最初に、ECCUBEのメインのプログラムが入っている「data」フォルダの場所を設定します。
/define.php
の 3行目あたりの
1 |
define('HTML2DATA_DIR', '../data/'); |
のパスを修正します。
デフォルトではドキュメントルートの外に「data」がある設定になっていますので、「../data/」の場合が多いのですが、サーバの環境によってはドキュメントルートの中に入れる必要がある場合は「./data/」となります。
また、元ある「data」とかぶらないように、dataのフォルダ名を変更する場合などは、変更したフォルダ名を記述すれば OKです。
config.phpファイルの設定変更
dataフォルダへのパスを変更した次は、dataフォルダの中にある config.phpファイルの更新です。
更新する対象は下記ファイルです。
/data/config/config.php
まずは、URLの情報設定である 3行目、4行目を変更します。
1 2 3 4 |
// define('HTTP_URL', 'http://www.example.com/'); // define('HTTPS_URL', 'https://www.example.com/'); define('HTTP_URL', 'http://test.example.com/'); define('HTTPS_URL', 'https://test.example.com/'); |
続いて、5行目。URLのパスを指定します。
上記のようにサブドメインで環境を構築するときは必要ありませんが、「http://www.example.com/test/」のようにサブフォルダタイプで環境を構築するときは、ドキュメントルートからのパスを指定します。
1 2 |
// define('ROOT_URLPATH', '/'); define('ROOT_URLPATH', '/test/'); |
続いて、データベースの接続先の設定です。
7行目~12行目あたりの下記の「DB_******」のあたりを変更します。
接続するデータベースが変わるだけなら「define(‘DB_NAME’, ‘abc_databasename’);」を変更します。
1 2 3 4 5 6 |
define('DB_TYPE', 'mysql'); define('DB_USER', 'abc_user'); define('DB_PASSWORD', 'abc_password'); define('DB_SERVER', 'localhost'); define('DB_NAME', 'abc_databasename'); define('DB_PORT', ''); |
ECCUBEはデータベースの修正なし
以上の設定変更で、ECCUBEの環境をコピーすることができます。
実際の設定内容を見て分かりますが、データベースには一切設定は保存されていません。
各設定ファイルを修正するだけで OKです。
WordPressはデータベースに保存されている設定情報を修正する必要があり面倒ですが、環境をコピーするだけなら ECCUBEの方が簡単ということですね。
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
SEO対策用タイトル、ディスクリプションの文字数カウントツール
SEO対策に使える文字数カウントツールで文字数の条件の説明も行っています。
-
-
GMOペイメントゲートウェイのjava.io.IOExceptionのエラー
ECCUBEの決済でGMOペイメントゲートウェイのモジュールを使ってテスト決済を行った場合の不具合、java.io.IOExceptionと言うエラーの原因と対策方法の解説です。
-
-
ob_start、ob_get_contents関数でPHPの標準出力をバッファリング・変数に代入
標準出力をバッファリングし変数に代入することができるob_start()関数の解説。include()の処理をバッファリングすることで自由な場所に処理を記述することが可能。
-
-
カオナビAPI Ver.2.0のtokenを取得する PHP+cURLのサンプルプログラム
PHPのcURLを使用してカオナビAPIのアクセスに必要なtoken、シートの情報を取得するサンプルプログラムを作成。cURLの処理は関数化しているため他のAPIでも流用できる。
-
-
路線・駅検索をPHPで実装する方法解説。GoogleMapsの緯度経度から計算し検索
路線・駅検索の仕組みの構築は大変。登録する側も最寄り駅が多い場合は大変。なので簡易に実装するため緯度経度に基づき直線距離を計算する処理を考案して実装して、その処理を解説。
-
-
ECCUBEの商品一覧ページのSEO対策!rel=”next” rel=”prev”を設定
Googleは関連あるページはその旨明示するよう求めています。ECCUBEの商品一覧ページでその求めに応じるための「rel=”next”」「rel=”prev”」について解説します。
-
-
Phpmailerでスパム回避!Gmail等のSMTPを経由するPHPのメールフォーム解説
お問い合わせ等のメールフォームから送ったメールがスパム扱いされる!その対策としてライブラリ「Phpmailer」を使う方法を解説。関数化していますのでコピペでOK。
-
-
ECCUBEのポイント設定、ポイント付与率を一括で変更する方法解説
ECCUBEの商品個別に設定してあるポイントを一括で変更する方法を解説。ECCUBEには商品個別のポイントを一括して変更する機能がありません。SQLを作成して一括置換!
-
-
Smartyの修飾子regex_replaceで正規表現の後方参照・PHPではpreg_replace
ECCUBEで使われているSmartyで文字列を正規表現で置換し後方参照で値を利用する装飾子regex_replaceの解説です。細かな条件がありますので注意が必要です。
-
-
ECCUBEでアップロードできない。upload_max_filesizeを設定する場所
テンプレートをアップロードする際に発生するエラー「テンプレートファイルがアップロードされていません」の対処方法。これはファイル容量の制限に引っかかっています。