忘れないように記録しとこ

カバの樹

vagrantの synced_folder に展開した、EC-CUBE3 の管理画面にログインができない

動作環境

OS    : linux5.5
php   : 5.6.20(phpenv)
mysql: 5.7
webserver: apache2.2.15

 

EC-CUBE3の導入

EC-CUBEのメジャーアップデートで3系列が新たに出ました(ワー!!

早速導入。

導入・・・どうにゅう・・・どう・・にゅ・・・う

紆余曲折ありましたが導入できました!

いやほー!!

さて管理画面はどうかなー

 

管理画面にログインできない

 

管理画面にログインできませーん!

アカウントが間違っている可能性があるので、数回入れなおしをしてみましたが、それでもログインできず・・・
悩むこと2日・・・。
ようやく解決に至りました。

 

それ、俺のsessionじゃねーから!

https://github.com/EC-CUBE/eccube-vagrant/issues/15
http://gongo.hatenablog.com/entry/2014/12/17/204831

上記URLを見てもらうとわかります。

つまりsessionには、以下の条件があります。

PHP5.4.28 からは、 セッションファイルの owner が root あるいは Webサーバのユーザ(apache,nginx等)でなければ、エラーになる

ということみたいです。
これは知らなかったー!

そして、それに加えてvagrantの synced_folderの特性がからんであああああああ!!!!!

以下、vagrantの synced_folderの特性の参考URL
http://www.webcyou.com/?p=5464

ようは、synced_folderの適用フォルダーの所有者が変更できませんということです。

通常、sessionをapacheが生成したなら、所有者はapacheになるはず。
ところが、vagrantの特性により、所有者がsynced_folderの適用フォルダの所有者になってました!

 

Vagrantfileを変更する

管理人の場合、

config.vm.synced_folder ".", "/vagrant", owner: "vagrant", group: "vagrant", mount_options: ['dmode=777','fmode=777']

になっていたので、

それを,

config.vm.synced_folder ".", "/vagrant", owner: "root", group: "root", mount_options: ['dmode=777','fmode=777']

に変更しました。

おわかりでしょうか?

「vagrant」が「root」になっています。

これで見事にログインができました!

今日はこの辺りで

  • B!