ファイル変更だけ!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
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
CentOS6、7のPHPを5.3から5.6、7.0、7.1にバージョンアップする手順の解説
CentOS6系、7系のPHPバージョンを5.3から5.6、7.0、7.1にアップする作業手順と解説。yum updateコマンドを使い作業時間は約10分。コマンドの解説や引数の意味なども解説しているので役に立つはず。
-
-
サーバ移転、PHPバージョンアップでPHPのソースコードが表示される・ショートタグのPHPが動かない
PHPでショートタグを使うのは危険。サーバ移転やバージョンアップで動かなくなる!ソースが丸見え、設定情報流出のリスクが!php.iniのshort_open_tagの設定を再確認。
-
-
数値文字参照コード変換ツール(HTML特殊文字コード変換ツール)
テキストを数値文字参照コード(特殊文字コード)に変換するツール。テキストを数値文字参照コードに簡単変換。数値文字参照、文字実体参照、特殊文字などの違いも解説。
-
-
ECCUBEの新規追加ページがInternal Server Error・Not Foundに
ECCUBEで新規追加したページがInternal Server Errorに!原因はファイルのパーミッションの場合が多くその対処方法とプログラムの修正ポイントを解説。Not Foundも解説。
-
-
JSON形式の値を配列形式に変換・PHPでは json_decode()、json_encode()
JSONとは「JavaScript Object Notation」の略でテキストベースのデータフォーマット。JSONの値をPHPで配列に変換するWebツールの紹介とその処理「json_encode()」「json_decode()」関数の解説。
-
-
Basic認証の.htaccess、.htpasswd生成ツールと解説
Basic認証を設定する際に必要となる.htaccess、.htpasswdファイルを生成するツール。ID、PASS、.htpasswdへのパスを入力することで編集する情報を生成します。
-
-
ECCUBE2.13.3で商品規格の在庫数が無制限から変更できないバグがある
2.13.3固有のバグである商品規格の在庫数の入力エリアがアクティブにならない不具合を解消する解説です。product_class.tplの2行を修正するだけの簡単対応です。
-
-
PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法
「PHP スクレイピング」で検索すると「phpQuery」ばかりヒットするが、10年以上も放置されている。なので今も開発が続いている「PHP Simple HTML DOM Parser」をオススメする。
-
-
Smartyの修飾子regex_replaceで正規表現の後方参照・PHPではpreg_replace
ECCUBEで使われているSmartyで文字列を正規表現で置換し後方参照で値を利用する装飾子regex_replaceの解説です。細かな条件がありますので注意が必要です。
-
-
QRコード(二次元バーコード)作成サービスを公開
QRコード(二次元バーコード)を生成するサービス。QRコードにする文字列を入力するだけで QRコードが簡単に作れる。オプションとして、画像サイズ、余白サイズ、エラー訂正レベルがある。