Permissions in FOP2 users are not related at all with PHP sessions or system file permissions on the server.
That is much more "down level" than whatever you can configure via FOP2.
The recordings, phonebooks and call history are a kind of sub application from the main FOP2 dashboard. Those are written in PHP while FOP2 is an html5/websocket application. They are different beasts. The authentication is done via websocket, and that cannot be 'shared' with php apps. So the browser will try to set php session variables, but it has to authenticate first doing a connection to port tcp/4445 locally, when that is done and the authentication is validated, then session variables are configured.
So your problem could be that PHP session are totally broken, due to permission issues or similar.. or maybe the connection to localhost/4445 is not allowed because of selinux or local firewall rules.
Do not look at FOP2 configurations, they are not related at this point.
You can try to disable selinux and try again, type:
setenforce 0
service httpd restart
Then log back into FOP2 and try to open call history or contacts. If it works, then you know problem is selinux and you should disable it or configure it to allow socket connections.. There is an entry in the FAQ on www.fop2.com telling you how to add those permissions, or it might be simpler to disable it altogether in /etc/selinux/config
If you still have issues, then look at your web server error log file and see if you can spot any errors regarding file permissions for the session directory (that is probably /var/lib/php/session). As you use vanilla everything, that directory should be owned by the same user apache is running as, and not the "asterisk" user.