だるまブログ

EC-CUBEプラグインのHETEMLでの利用

Posted by on 19 6月 2013 | Tagged as: プラグイン

HETEMLをご利用の場合、WAF(アプリケーション・ファイヤー・ウォール)がONになっていますと、プラグイン設定画面で保存した際403エラーとなります。
WAFのログで、
/test/admin/load_plugin_config.php?plugin_id=・・・
となっていることで確認いただけます。
この場合、一旦WAFをOFFで設定の上、設定後にWAFをONとしてください。


WpPost修正ファイル

Posted by on 19 6月 2013 | Tagged as: EC-CUBEプラグイン"WpPost"

下記内容はWpPost本体に取り込みましたので、修正ファイルの配布は終了いたしました。

最新バージョンをお使いください。

ダウンロードサイト -> http://www.ec-cube.net/products/detail.php?product_id=276

WpPostをご利用いただく際、サーバー環境によってエラーが出る場合があることが判明いたしました。

その際、プラグイン導入後
http://gizmo.co.jp/WpPostFiles130617.zip
より修正ファイルをダウンロードいただき、
data/downloads/plugin/WpPost 以下、
・plg_WpPost_Category_LC_Page.php
・plg_WpPost_LC_Page.php
・plg_WpPost_List_LC_Page_FrontParts_Bloc.php
3ファイルを入れ替えていただくようお願いいたします。


IPSec/L2TPで接続が切れる

Posted by on 30 5月 2013 | Tagged as: IPSec, サーバー

以前YamahaルータとCentOSのIPSec/L2TP接続をご紹介しましたが、接続が切れる場合があるので補足です。

Secureログを見てみると、IPsec SA expiredというログが出ていて、8時間ごとに接続が切れるのですが、これはIPSec-SAキーの寿命の関係で、CentOS、Yamahaルータ共に「28800秒 = 8時間」がデフォルトで設定されています。
このため、8時間ごとに接続が切れます。

Yamahaのサポートに確認したところ

・IPSec-SAキーの寿命をOFFにはできない
・通信中に寿命が来ても切断されず、通信が終了した段階で寿命切れとなる

ということでしたので再接続で回避するしかないようです。

/etc/xl2tpd/xl2tpd.conf の [lac L2TP1] に

redial = yes ←切断時に再接続する
redial timeout = 10 ←再接続までの待機時間
max redials = 6 ←再接続を行う最大回数

と設定することで自動的に再接続できます。


EC-CUBEのセキュリティーアップデート

Posted by on 24 5月 2013 | Tagged as: EC-CUBE

EC-CUBEのサイトにて緊急度の高い脆弱性を含めたアップデートが公開されています。
http://www.ec-cube.net/info/weakness/20130522/index.php
ご確認の上、ご対応ください。

今回のアップデートにつきましては、弊社でご提供しているプラグインが問題無く稼働することを確認しておりますが、カスタマイズを実施されている場合など保証いたしかねますので、ご注意の上実施をお願いいたします。


LinuxのCUPSプリンタをAirPrintから利用

Posted by on 23 5月 2013 | Tagged as: サーバー

全体の流れ

開発用、ファイル共有でCentOSのサーバを利用しています。
このサーバにCUPSをインストールし、Wifiで接続しているiPhone・iPadのAirPrintから利用できるようにします。
プリンタはブラザーの複合機MFC-9420CNです。

1. CentOSにCUPS、プリンタドライバをインストールし、プリンタを設定。
2. Bonjourが利用できるようCentOSにAvahiをインストール。
3. Avahiにプリンタの設定ファイルを作成

以上で、AirPrintが利用できるようになります。

1. CUPSとプリンタドライバのインストール

CentOSですので、CUPSとghostscriptをyumでインストール、プリンタドライバはブラザーのサイトからrpmを取得しインストールしました。
その後、https://サーバのIPアドレス:631/ でプリンタを設定し印刷できるところまで確認しておいてください。
なお、キュー名はMFC-9420CNとしました。

起動時にCUPSを起動させるには

chkconfig cups on

としてください。

2. Avahiのインストール

yumでインストールします。

yum install avahi avahi-compat-libdns_sd

3. Avahiにプリンタの設定ファイルを作成

ここが一番のポイントになりますが、設定ファイルを作成するPythonスクリプトがGitHubで公開されています。
https://github.com/tjfontaine/airprint-generate

airprint-generate.pyをダウンロードの上、PythonのCUPSモジュールをインストールします。

yum install system-config-printer-libs

インストールできましたら、avahi-daemonを起動します。

service avahi-daemon start

起動時にavahi-daemonを起動させるには

chkconfig avahi-daemon on

としてください。

先ほどダウンロードしたairprint-generate.pyのあるディレクトリで

python airprint-generate.py

とすると、同じディレクトリに

AirPrint-プリンタキューネーム.service

で設定ファイルが作成されます。
今回の場合 AirPrint-MFC-9420CN.service というファイルが作成されました。
このファイルを

/etc/avahi/services/

にコピーします。
続いて、/etc/cups/cupsd.confの最後に

ServerAlias *

を追加します。
ここまで出来ましたら、AvahiとCUPSを再起動します。

service avahi-daemon restart
service cups restart

iPhoneからAirPrintを利用する

これで、Wifiで接続しているiPad、IphoneからAirPrintが使えるようになります。
iPhine AirPrint


ヤマハ-ルータ(RT107e)のIPSec/L2TP – 3:Windows7・iOSとの接続

Posted by on 22 5月 2013 | Tagged as: IPSec, サーバー

 RT107eの追加設定

基本的にこちらを参考にしました。
Windows7、iOSは動的IPですのでanonymousとして設定し、ユーザー名、パスワードで認証します。
CentOS(固定グローバルIP)の設定に追加設定します。

pp select anonymous ←動的IPアドレス用L2TP接続設定

pp bind tunnel2-tunnel4 ←クライント用にtunnel2~4を設定
pp auth request chap-pap
pp auth username 接続ユーザー名1 接続パスワード1
pp auth username 接続ユーザー名2 接続パスワード2
pp auth username 接続ユーザー名3 接続パスワード3
ppp ipcp ipaddress on
ppp ipcp msext on
ip pp remote address pool 192.168.1.71-192.168.1.75 ←接続したクライアントにLocal側で192.168.1.71~192.168.1.75を与えます。RT107eは対地数6ですので、CentOSと別に5個を設定しました
ip pp mtu 1258
pp enable anonymous

動的IPアドレスの複数クライアントから接続する場合(今回の場合tunnel2~4)、共有キーは共通である必要があります。

tunnel select 2 ←接続ユーザー1用L2TPトンネル

tunnel encapsulation l2tp
ipsec tunnel 2 ←tunnel2で利用するIPSecトンネルを2とする
ipsec sa policy 2 2 esp 3des-cbc sha-hmac ←tunnel2、IPSecトンネル2の暗号アルゴリズム、認証アルゴリズムを設定
ipsec ike keepalive use 2 off
ipsec ike local address 2 192.168.1.1 ←RT107eのLocalアドレス
ipsec ike nat-traversal 2 on ←NATトラバーサル有効化
ipsec ike pre-shared-key 2 text efgh5678 ←共有キー
ipsec ike remote address 2 any
l2tp tunnel disconnect time off
l2tp keepalive use on 10 3
l2tp keepalive log on
l2tp syslog on
ip tunnel tcp mss limit auto
tunnel enable 2

tunnel select 3 ←接続ユーザー2用L2TPトンネル

tunnel encapsulation l2tp
ipsec tunnel 3 ←tunnel3で利用するIPSecトンネルを3とする
ipsec sa policy 3 3 esp 3des-cbc sha-hmac ←tunnel3、IPSecトンネル3の暗号アルゴリズム、認証アルゴリズムを設定
ipsec ike keepalive use 3 off
ipsec ike local address 3 192.168.1.1 ←RT107eのLocalアドレス
ipsec ike nat-traversal 3 on ←NATトラバーサル有効化
ipsec ike pre-shared-key 3 text efgh5678 ←共有キー
ipsec ike remote address 3 any
l2tp tunnel disconnect time off
l2tp keepalive use on 10 3
l2tp keepalive log on
l2tp syslog on
ip tunnel tcp mss limit auto
tunnel enable 3

tunnel select 4 ←接続ユーザー3用L2TPトンネル

tunnel encapsulation l2tp
ipsec tunnel 4 ←tunnel4で利用するIPSecトンネルを4とする
ipsec sa policy 4 4 esp 3des-cbc sha-hmac ←tunnel4、IPSecトンネル4の暗号アルゴリズム、認証アルゴリズムを設定
ipsec ike keepalive use 4 off
ipsec ike local address 4 192.168.1.1 ←RT107eのLocalアドレス
ipsec ike nat-traversal 4 on ←NATトラバーサル有効化
ipsec ike pre-shared-key 4 text efgh5678 ←共有キー
ipsec ike remote address 4 any
l2tp tunnel disconnect time off
l2tp keepalive use on 10 3
l2tp keepalive log on
l2tp syslog on
ip tunnel tcp mss limit auto
tunnel enable 4

ipsec transport 2 2 udp 1701  ←tunnel2、IPSecトンネル2にトランスポートモードを設定
ipsec transport 3 3 udp 1701  ←tunnel3、IPSecトンネル3にトランスポートモードを設定
ipsec transport 4 4 udp 1701  ←tunnel4、IPSecトンネル4にトランスポートモードを設定

以上の設定でwindows7、iOSからRT107eにIPSec/L2TPで接続し、ローカル環境にアクセスできるようになりました。

今Androidの環境がないのでテストできていませんが、問題なく接続できると思います。

2013/5/26追記
WindowsXPの場合、「Service Pack 2 で IPsec NAT トラバーサル (NAT-T) の既定の動作が変更」となっています。
Microsoftのサイトを参考の上、ご対応ください。

←「2:Centosとの接続」へ戻る


ヤマハ-ルータ(RT107e)のIPSec/L2TP – 2:Centosとの接続

Posted by on 22 5月 2013 | Tagged as: IPSec, サーバー

 RT107eの設定

基本的にこちらを参考にしました。

ただしNATトラバーサルを利用しますので、若干設定が変わります。

pp select 2 ←CentOS固定IPアドレス用L2TP接続設定

pp bind tunnel1 ←tunnel1を使用
pp auth request chap-pap ←RT107eはchapかpapを利用可能(※ルーターによって異なります)
pp auth username L2TPユーザー名 L2TPパスワード
ppp ipcp ipaddress on
ppp ipcp msext on
ip pp remote address 192.168.1.80 ←CentOSはRT107e内側のローカルで192.168.1.80として扱う
ip pp mtu 1258
pp enable 2

tunnel select 1 ←CentOS固定IPアドレス用L2TP用トンネル

tunnel encapsulation l2tp
tunnel endpoint address yyy.yyy.yyy.yyy ←CentOSのGlobalアドレス
ipsec tunnel 1 ←tunnel1で利用するIPSecトンネルを1とする
ipsec sa policy 1 1 esp aes-cbc sha-hmac ←tunnel1、IPSecトンネル1の暗号アルゴリズム、認証アルゴリズムを設定
ipsec ike keepalive log 1 off
ipsec ike keepalive use 1 off
ipsec ike local address 1 192.168.1.1 ←RT107eのLocalアドレス
ipsec ike nat-traversal 1 on ←NATトラバーサル有効化
ipsec ike pre-shared-key 1 text ABCD1234 ←共有キー
ipsec ike remote address 1 yyy.yyy.yyy.yyy ←CentOSのGlobalアドレス
l2tp tunnel disconnect time off
l2tp keepalive use on 10 3
l2tp keepalive log on
l2tp syslog on
ip tunnel tcp mss limit auto
tunnel enable 1

既にプロバイダ接続用で1000番にnatの設定がありましたので、udpの500(ISAKMP : Internet Security Association and Key Management Protocol)と4500(IPSec NAT Traversal)を追加しました。

また、ヤマハのNATトラバーサルのページには「NATトラバーサルを使う限り、ESPパケットは発生しないので、ESPの設定は不要です。」とあるのですが、ESPの設定がないとCentOSから接続できなかったので、ESP関係も設定しました。

nat descriptor type 1000 masquerade
nat descriptor address outer 1000 ipcp
・・・
nat descriptor masquerade static 1000 10 192.168.1.1 udp 500
nat descriptor masquerade static 1000 11 192.168.1.1 udp 4500
nat descriptor masquerade static 1000 12 192.168.1.1 esp

ipsec transport 1 1 udp 1701  ←tunnel1のIPSecトンネル1にトランスポートモードを設定
ipsec auto refresh on
l2tp service on

プロバイダ接続用でフィルタの設定がありましたので、udpの500、4500、1701(L2TP)、ESPを追加しました。

ip filter 200089 pass * 192.168.1.1 udp * 500
ip filter 200090 pass * 192.168.1.1 udp * 4500
ip filter 200091 pass * 192.168.1.1 udp * 1701
ip filter 200092 pass * 192.168.1.1 esp * *

上記フィルタが使用されるようにプロバイダ接続用pp1インターフェースを設定します。

ip pp secure filter in ・・・ 200089 200090 200091 200092 ←追加したフィルタ

 CentOSの設定

こちらを参考にさせていただきました。

上記設定で接続できましたので、変更点だけ記載します。

/etc/ipsec.d/connection.conf

right=xxx.xxx.xxx.xxx ←RT107eのGlobalIP

/etc/ipsec.d/ipsec.secrets

: PSK “ABCD1234″ ←共有キー

/etc/xl2tpd/xl2tpd.conf

lns = xxx.xxx.xxx.xxx ←RT107eのGlobalIP

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

name L2TPユーザー名 ←RT107eで設定したL2TPユーザー名
mtu 1258 ←RT107eのmtu設定に合わせました
mru 1258 ←RT107eのmtu設定に合わせました

/etc/ppp/chap-secrets

“L2TPユーザー名” * “L2TPパスワード” * ←RT107eで設定したL2TPユーザー名とL2TPパスワード

以上の設定でVPS上のCentOSがローカル側のクライアントから192.168.1.80でアクセスできるようになりました。

2013/5/26追記
route add -net 192.168.1.0 netmask 255.255.255.0 dev ppp0
を /etc/ppp/ipup に追加すると接続時、自動的に設定されます。

2013/5/26追記
クライアントのCentOSで /var/log/messages に

Maximum retries exceeded for tunnel 37028.  Closing
Connection 44740 closed to ・・・

というエラーが出て接続が切れる現象が発生しました。
/etc/xl2tpd/xl2tpd.conf の [lac L2TP1] に

redial = yes ←切断時に再接続する
redial timeout = 10 ←再接続までの待機時間
max redials = 6 ←再接続を行う最大回数

を追加することで自動的に再接続されるようになりました。

←「1:接続計画」へ戻る 「3:Windows7・iOSとの接続」へ続く→


ヤマハ-ルータ(RT107e)のIPSec/L2TP接続 – 1:接続計画

Posted by on 22 5月 2013 | Tagged as: IPSec, サーバー

ずいぶん間が空きました。

VPN接続を今まで色々やってみましたが、PPTPよりセキュアなIPSecに変え、更にハードの方が速度が速いだろうということでYAMAHAのRT107eを手に入れました。

VPSのCentOS、Windows7、iOSから接続を行います。

前提条件

RT107e
・RT107eはファームウェアRev.8.03.92 以降が必要です。
・Globalは固定IP xxx.xxx.xxx.xxx
・RT107eの内側は192.168.1.0/24としRT107eのLocalIPは192.168.1.1
CentOS
・Globalは固定IP yyy.yyy.yyy.yyy
iOS Windows7
・Globalは動的IPのため不定

IPSec/L2TP接続図

「2:Centosとの接続」へ続く→


WpPostインストールに際しての注意点

Posted by on 11 10月 2012 | Tagged as: EC-CUBEプラグイン"WpPost"

EC-CUBEのプラグイン”WpPost”のインストールに際し、フォルダのパーミッションで問題が発生する場合があります。

以下のフォルダがWEBサーバーの実行権限で書き込み可能となっている必要があります。
ご自分の環境をご確認いただきますようお願いします。

■dataフォルダ以下
・data/downloads/plugin
・data/Smarty/plugin/templates/default
・data/Smarty/plugin/templates/default/frontparts/bloc
※default部分はテンプレートにより変更になります。
※dataフォルダの名称を変更されている方は、ご自分の環境に合わせ読み替えてください。

■htmlフォルダ以下
・html
・html/plugin
・html/frontparts/bloc
※htmlフォルダの名称を変更されている方は、ご自分の環境に合わせ読み替えてください。

Pleskをお使いの方へ

Pleskをお使いの方はWEBサーバーの実行権限とフォルダのオーナー権限が異なりますので、707、757など適切なパーミッションを設定してください。
詳細はホスティング業者へお尋ねください。

さくらインターネットをご利用の方へ

さくらインターネットではフォルダーのパーミションが777757707の場合、およびファイルのパーミッションが 666646606 の場合 Internal Server Error が発生いたします。

WpPostインストール後に

・html
・html/plugin
・html/plugin/WpPost
・html/plugin?WpPost/media
・html/frontparts/bloc
・html/wppost
のフォルダパーミッションが 755 となっているかご確認いただき、異なる場合、手動にて変更ください。
また、各フォルダ内のファイルにつきましては 644 となっているかをご確認いただき、異なる場合、手動にて変更をお願いいたします。


なぜWpPostを作ったか

Posted by on 29 8月 2012 | Tagged as: EC-CUBE, EC-CUBEプラグイン"WpPost", プラグイン

本日(もう昨日になりましたが)、EC-CUBEとWordPressの連携プラグイン”WpPost”の新しいバージョンをリリースさせていただきました。

http://gizmo.co.jp/wppost/wppost-new/

良く分かってないころから、EC-CUBE東京ユーザグループやプラグイン開発合宿の皆さまには大変お世話になり、感謝してもしきれません。
また、下北沢のオープンソースカフェWordPress部の方にもサジェスチョンいただきました。ありがとうございます。

 
私がこのプラグインを作ろうと思った理由は、

「世の中にWordPressで作ったサイトがたくさんあるが、ECサイトをやろうとするとEC-CUBEの方が使いやすい気がする」

という点です。

 

  • WordPressでできている資産をそのまま利用できれば、ECサイトで展開する時も有利ではないか。
  • EC-CUBEとWordPressのデザインを揃えるだけでは、会員やポイントなど、ECの機能がうまくいかない。

と思って、色々テストしていた時に、EC-CUBEのプラグインリリースがあり、プラグイン開発合宿に参加させていただきました。

ここで、最初のバージョンを作成させていただいたのですが、今考えると、この時点ではEC-CUBEを良く分かってなく、参加された皆様にはご迷惑かけたのではないかと、今考えると冷や汗ものです。

商品一覧は2.11のカスタマイズで機能を盛り込んでいたのですが、コメント部分は結構時間がかかってしまいました。

まだ、不具合やバグなどもあるかと思いますので、何かありましたらご連絡いただけると嬉しいです。

今後とも、”WpPost”をよろしくお願いいたします。


« Prev - Next»