ファイル変更だけ!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
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
指定した数で文字列を丸める(n文字目で…にする)関数substr、mb_substr、mb_strimwidthの違い
文字列を指定された数で抜き出すPHPの関数、substr、mb_substr、mb_strimwidthについての解説。似た関数だが引数の指定方法が違ったり、文字数がバイト数か文字数かも違ったり、注意が必要だ。
-
-
路線・駅検索のために緯度経度からPHPで2点間の距離を計算する処理解説
路線・駅検索の仕組みの構築は大変。それを簡易に実装するために緯度経度を元に距離計算をする仕組みを考案。まずは2点間の距離を計算する仕組みを解説し、距離計算にまつわる関連技術も紹介。
-
-
数値がMySQLのint(11)に保存できない!PHPの変数が本当にint型か確認!
PHPでintegerとdoubleが混在するような計算をする場合は要注意!計算結果が整数値であっても途中で使用する変数にdoubleの値が入っているときは計算結果がintegerではない場合があります。
-
-
ECCUBEの商品一覧ページのSEO対策!rel=”next” rel=”prev”を設定
Googleは関連あるページはその旨明示するよう求めています。ECCUBEの商品一覧ページでその求めに応じるための「rel=”next”」「rel=”prev”」について解説します。
-
-
フォルダを指定してファイルのパーミッションを変更するプログラム
フォームからフォルダ、パーミッションを指定しパーミッションを変更するサンプルプログラムの解説です。
-
-
ob_start、ob_get_contents関数でPHPの標準出力をバッファリング・変数に代入
標準出力をバッファリングし変数に代入することができるob_start()関数の解説。include()の処理をバッファリングすることで自由な場所に処理を記述することが可能。
-
-
乱数発生器(パスワード生成サービス)がバージョンアップで高速化!
乱数やパスワードを生成する乱数発生器を高速化!重複しない10桁、20桁の文字列を10万件、20万件と生成することも可能!イベントのキャンペーンのシリアルコードなどにも利用可能!
-
-
sleepの秒指定は整数のみなので1.5秒はsleep、usleepを組み合わせる
PHPのプログラム処理を遅延させる「sleep()」は整数秒単位。「usleep()」は1秒未満のマイクロ秒単位。では「1.5」秒はどう表現するのか。「sleep()」「usleep()」を組み合わせる。その解説。
-
-
Smartyの修飾子regex_replaceで正規表現の後方参照・PHPではpreg_replace
ECCUBEで使われているSmartyで文字列を正規表現で置換し後方参照で値を利用する装飾子regex_replaceの解説です。細かな条件がありますので注意が必要です。
-
-
ECCUBEでカード決済NGの受注情報をマイページ購入履歴に表示しない方法解説
ECCUBEでカード決済に失敗しても購入履歴一覧に注文情報(受注情報)が表示される問題への対処方法を解説。受注情報レコードの作成の流れとステイタスについても解説。
