IT女子のお気に入りフォルダ

管理人の備忘録と実践を兼ねた(出来るだけ)役に立つ情報を配信するブログです。

[EC-CUBE2.13]追加したプラグインの設定で500 Internal Server Errorが出た

EC-CUBEに有料プラグインをインストールしてその設定画面で「500 Internal Server Error」が出てあせったので対応方法をメモ。

ちなみに私がインストールしたプラグインは「商品オプションプラグイン」。
商品注文時に規格とは別にオプションを付加できる、なかなか便利なプラグインです。今回制作中のネットショップでは商品の性質上どうしても欠かせないプラグインなのであります。

なのにそのプラグインの設定画面にすすむと「500 Internal Server Error」が!

インストールは問題なかったのにここにきてのエラーとはっ!
しかも有料プラグインなのに!!!

で、冷静にメッセージを見てみたら・・・

*****/admin/products/product_option.php is writeable by group
(*****はEC-CUBEをインストールしている環境によって違うので省略。)

グループによる書き込み権限があるって言ってるようす。
対象ファイルのパーミッションを見てみたら「666」となっています。

グループから書き込み権限をなくせばいいのか?
というわけで、パーミッションを「644」にしてみると・・・

*****/admin/products/options.php is writeable by group

メッセージが変わった!
同じようにこのファイルのパーミッションも「666」から「644」に変更。

次は、

*****/admin/products/optioncategory.php is writeable by group

また、メッセージが変わった!
またまた同じくファイルのパーミッションを「666」から「644」に変更。

無事にプラグインを使えるようになりました。

今回の場合は、プラグインが原因でエラーが出たわけではなく、サーバーの仕様でグループに書き込み権限があるとエラーが返されてしまうようで、「644」に変えるのが絶対に正しいというわけではないみたい。

グループに書き込み権限を与えない「700」でも動いた。
いろいろ調べてみると、「700」や「711」に変えればいいと説明されていたり、よりセキュリティが高い「604」に変えればいいと説明されてたり・・・でも、どこもその理由が書かれてないんだよなー

というわけで、私は、*****/admin/products/にある他のファイルたちが「644」だったのでそこに合わせることにしました。

2014.12.26 追記
追加したプラグインの設定のときだけでなく、新規ページを追加してそのページにアクセスしてみたときにも同様のエラーがでました。
同じ方法で解決したので一応ご報告。

1週間でLPICの基礎が学べる本 第2版

体系的に学ぶ 安全なWebアプリケーションの作り方[リフロー版] 脆弱性が生まれる原理と対策の実践

スッキリわかる SQL 入門 ドリル215問付き!

改訂 FuelPHP入門

はじめてのフレームワークとしてのFuelPHP 改訂版