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系列が新たに出ました(ワー!!

早速導入。

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

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

EC-CUBE SHOP - TOPページ

いやほー!!

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

 

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

EC-CUBE SHOP - EC-CUBE管理画面

 

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

アカウントが間違っている可能性があるので、数回入れなおしをしてみましたが、それでもログインできず・・・
悩むこと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」になっています。

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

今日はこの辺りで

  • この記事を書いた人

カバノキ

印刷会社のWEB部隊に所属してます。 WEB制作に携わってから、もう時期10年になります。 普段の業務では、PHPをメインにサーバーサイドの言語を扱っています。 最近のお気に入りはJavascriptです。 Vue.jsを狂喜乱舞しながら、社内に布教中です。

-EC-CUBE, PHP
-,