2月 2014

Monthly Archive

EC-CUBEの公開とセキュリティーを考慮したディレクトリ配置

25 2月 2014 | : EC-CUBE

EC-CUBEをオフィシャルサイトからダウンロードし解凍すると、ディレクトリの中に、

  • data
  • docs
  • html
  • test
  • tests

のディレクトリと

  • .coveralls.yml
  • .travis.yml
  • build.xml
  • composer.json
  • COPYING

のファイルがあります。

EC-CUBEの公開では、本体はhtmlディレクトリの中身で、必要な様々なプログラムやテンプレートがdataの中に入っており、htmlの中のdefine.phpで設定を行います。

 

1. URLがhttp://example.comでEC-CUBEを公開し、そのルートがwwwというディレクトリ

wwwの中に上記htmlの中のファイルを全て入れます。

EC-CUBE公開ディレクトリ

EC-CUBE公開ディレクトリ

 

2. http://example.com/shop/でEC-CUBEを公開し、そのルートがwwwというディレクトリ

wwwの中のshopというディレクトリにhtmlの中のファイルをいれます。

dataディレクトリ

dataディレクトリ

 

上記でwwwは

ブラウザからアクセスできるディレクトリ

になるため、www以下にdataディレクトリを入れることはセキュリティー上問題があります。

ですので、ブラウザからアクセスできない

wwwと同じもしくはそれ以上の階層

にdataディレクトリを入れる必要があります。

そして、wwwもしくはshopの中にある、

define.php

でhtmlの中身から見たdataフォルダの相対パスと名前を設定します。

1.http://example.comでEC-CUBEを公開の場合、

define(‘HTML2DATA_DIR’, ‘../data/’);

2. http://example.com/shop/でEC-CUBEを公開の場合、

define(‘HTML2DATA_DIR’, ‘../../data/’);

となります。

xl2tpdのログに”CCP: timeout sending Config-Requests”と出る

25 2月 2014 | : IPSec, サーバー

ヤマハ-ルータ(RT107e)のIPSec/L2TP – 2:Centosとの接続で/etc/ppp/options.xl2tpd.conn-1に

logfile /var/log/xl2tpd.conn-1.log

とログファイルを指定していたのですが、そこに

sent [CCP ConfReq id=0x2]
sent [CCP ConfReq id=0x2]
CCP: timeout sending Config-Requests

と出ていました。

調べてみると、

CCP(Compression Control Protocol) とは、PPP通信に使用されるデータ圧縮の方式を、接続先と取り決めるのに使用するプロトコルです。

http://www.bcom.nec.co.jp/comstarz/router/faq/ro_faq/ppp.htm

とのことです。

RT107eの設定を見ると、インターネットプロバイダとの接続には

ppp ccp type none

となっていたので、CentOSとの接続もCCP無しで良いだろうと考え(ブロードバンドでいらないらしい)、VPNの接続に用いるPP1の設定に「ppp ccp type none」を設定しました。
YAMAHAルータ コマンド備忘録 『ppp ccp type none』

ところが、/var/log/xl2tpd.conn-1.logに変わらず上記エラーログが出るので、

/etc/ppp/options.xl2tpd.conn-1

noccp

を加え、サーバ・クライアント両方で「CCP使わないよ」と設定することでエラーログは出なくなりました。

追記:2014/03/02
上記設定でたまに切れていたVPNの接続が安定し、切れなくなりました。

Wp-Post 良くある質問1- WordPressインストールディレクトリ

24 2月 2014 | : EC-CUBEプラグイン"WpPost"

※2014/2/24に記事を書き換えました。

弊社で提供させていただいてるEC-CUBEプラグイン”WpPost“で

WordPressインストールディレクトリが良く分からない

という質問が多いので、例をあげてご説明したいと思います。

※ご注意
WpPostをご利用いただく場合、同一サーバ上にWordPressとEC-CUBEをインストールする必要がありますのでご注意ください。

WordPressインストールディレクトリとは

EC-CUBEの公開ディレクトリを基準としたWordPressインストールディレクトリまでのファイルパス

になります。

多く考えられるのは、以下のケースではないでしょうか。

CASE1 今までWordPressでサイトを展開しているが、新たにEC-CUBEをインストールし、ECサイトを追加したい。

CASE2 新たにWordPressとEC-CUBEをインストール

また、CASE1の場合、

  • A.今までのWordpressの下にEC-CUBEをインストール。
  • B.今までのWordpressと別ドメインでEC-CUBEを運営したい。
  • C.サブドメインでEC-CUBEを運営したい。

という場合が考えられます。

Case1-A 今までのWordpressの下にEC-CUBEをインストール

例えば、URLがhttp://hoge.com/でWordPressのサイトを展開していて、EC-CUBEをhttp://hoge.com/shop/で公開するとします。

この場合、/html/wp/shopにEC-CUBEをインストールするというのがもっとも簡単なやり方です。

※EC-CUBEのhtmlというディレクトリの名前をshopと変えています。
※www部分はサーバの設定によって異なりますので、ご自分野環境に合わせて読み替えてください。

図にすると、こんな感じです。

Case1-A 今までのWordpressの下にEC-CUBEをインストール

Case1-A 今までのWordpressの下にEC-CUBEをインストール

※EC-CUBEのPHPやSmartyが入るdataディレクトリはブラウザでアクセスできない場所に置くことにします。
上の図の場合、shop(元html)/define.php の中でdataフォルダの位置と名前を define(‘HTML2DATA_DIR’, ‘../../../data/’); で指定します。

この場合、一つ上の階層にWordPressがインストールされていますので、

WordPressインストールディレクトリ = ../

となります。下図の、「*1」がWordPressのインストール場所になります。

Case1-A WordPressのインストール場所

Case1-A WordPressのインストール場所

Case1-B 今までのWordpressと別ドメインでEC-CUBEを運営したい。

http://hoge.com/でWordPressのサイトを展開していて、これと別にhttp://shop-happy.com/でEC-CUBEを展開するとします。

※ドメインの設定は、サーバによって異なりますので、ご自分野環境に合わせてください。
※EC-CUBEのhtmlというディレクトリの名前をshopと変えています。
※www部分はサーバの設定によって異なりますので、ご自分野環境に合わせて読み替えてください。

図にすると、こんな感じです。

Case1-B 今までのWordpressと別ドメインでEC-CUBEを運営

Case1-B 今までのWordpressと別ドメインでEC-CUBEを運営

この場合、EC-CUBEとWordPressが同じ階層にインストールされているので、以下のような設定になります。

Case1-B WordPressのインストール場所

Case1-B WordPressのインストール場所

WordPressインストールディレクトリ =../wp

上の、「*1」がWordPressのインストール場所になります。

Case1-C サブドメインでEC-CUBEを運営したい。

例として、http://hoge.com/でWordPressのサイトを公開していて、http://shop.hoge.com/でEC-CUBEを公開するとします。

この場合、CASE1-BとWEBサーバの公開設定部分が異なるだけで、WpPost・WpPostPlusの設定はCASE1-Bと同じになり、

  • /html/wpをhttp://hoge.com/で公開
  • /html/shopをhttp://shop.hoge.com/で公開

となります。
※サブドメインの設定は、サーバによって異なりますので、ご自分野環境に合わせてください。
※EC-CUBEのhtmlというディレクトリの名前をshopと変えています。
※www部分はサーバの設定によって異なりますので、ご自分野環境に合わせて読み替えてください。

図にすると、こんな感じです。

Case1-C サブドメインでEC-CUBEを運営

Case1-C サブドメインでEC-CUBEを運営

この場合、WordPressインストールディレクトリは以下のようになります。

Case1-C WordPressのインストール場所

Case1-C WordPressのインストール場所

WordPressインストールディレクトリ =../wp

となります。上の、「*1」がWordPressインストールディレクトリになります。

Case2 新たにWordPressとEC-CUBEをインストール

この場合は自由に決められますので、サイト設計の際、WordPressインストールディレクトリを決定ください。