ECCUBE4

EC-CUBE4 システム障害が発生(Warning: mkdir(): Permission denied)について

こんにちはジャムです。

現在、EC-CUBE4のポートフォリオ作成のためにVPSにEC-CUBE4を立ち上げて、せっせとプラグインをアップして公開していく予定です。

今回初めて、自作のプラグインをインストールした際にエラーが発生したので、その備忘録に記載します。

現象

本番モードで動かしていましたので、プラグインをアップロードして有効化した際に、エラーが発生しました。

その後は、通常ログインをして操作は可能でした。

本番モードとデバックモードでの差異は以下になります。

本番モード:システム障害が発生しました!管理者に連絡してください。

デバックモード:Warning: mkdir(): Permission denied

原因

結論から言いますと、原因は「app/proxy/entity」フォルダの権限がダメでした。

対象フォルダの権限は705の状態のため、その他のユーザーがは読み取り、実行権限しかない状態だからです。

$ cd app/proxy
$  ls -al
drwx---r x 3 user user 4096 10月 22 21:16 entity

プラグインの内容に既存のテーブルを変更するTraitファイルが入っていると、「app/proxy/entity」以下にWebサーバーがテーブル変更に関するフォルダとファイルを生成します。

だから、その際にWebサーバーにフォルダとファイルを作成する権限がないためエラーとなりました。

対策

対策はWebサーバーにも権限を持たせる必要があるため

その他のユーザーにも権限を持たせるため、権限を707にするとかですかね

本番環境の動かし方によって、決める方がいいかと思います。

$ sudo chmod 707 app/proxy

以上です。