Page 1 of 1

squirrelmail problems

Posted: 2014/02/28 20:59:28
by abou333
I have installed squirrelmail and configured it according to this document which seems to be pretty standard: ... p-by-step/

When I go to : http://x.x.x.x/webmail

I get an Http 500 internal server error. I am however able to access my index.html via http://x.x.x.x. Based on the output from /var/log/httpd/error_log I am thinking it has something to do with PHP or permissions. Also I don't know if this make any difference but I am running Centos 5.3 via Trixbox 2.6. Pasted below is the output from /var/log/httpd/error_log after attempting to try accessing squirrelmail via http://x.x.x.x/webmail -thanks

[Fri Feb 28 13:16:17 2014] [error] [client] PHP Warning: require_
once(../config/config.php) [<a href='function.require-once'>function.require-onc
e</a>]: failed to open stream: Permission denied in
/usr/share/squirrelmail/functions/global.php on line 105

[Fri Feb 28 13:16:17 2014] [error] [client] PHP Fatal error:
require_once() [<a href='function.require'>function.require</a>]: Failed opening required '../config/config.php'

Re: squirrelmail problems

Posted: 2014/02/28 21:30:22
by TrevorH
First: please don't run CentOS 5.3! It's ancient and unmaintained and has had no security updates for about 4 years and is riddled with security holes that have subsequently been patched. You should `yum update` to get to 5.10 ASAP.

I read your link to the squirrelmail guide and it starts with "Disable selinux". Any guide you read that has that in it is not a good guide and you should stop reading and find a different one. Also, that guide seems to be for CentOS 6.3 not for 5. Did you post in the wrong section? If so I can move this topic to the correct forum. For CentOS 5, squirrelmail is included in the base CentOS repos and you can install it simply by running `yum install squirrelmail`.

Could you post the output of `ls -laZ /var/www/squirrelmail/config`

Re: squirrelmail problems

Posted: 2014/02/28 22:18:15
by abou333
Thanks for you response. As far as the Disable selinux I understand this is probably a security problem but this is a lab environment. My background is cisco voip and micosoft exchange and I am kind of a noob with Linux. So I feel my best plan of action is to get a basic email / asterisk system working first to grasp some basic concepts and then later add security to the mix.

Yum update returns :

--> Missing Dependency: is needed by package memcached-1.2.2-2.rf.i386 (installed)
Error: Missing Dependency: is needed by package memcached-1.2.2-2.rf.i386 (installed)

and ls -laZ /var/www/squirrelmail/config returns:

ls: /var/www/squirrelmail/config: No such file or directory

Since this is on a VMware lab I am thinking it may be best to just nuke this server and install centos 6.x and start from scratch since this version seems to have so many bugs?

Re: squirrelmail problems

Posted: 2014/02/28 22:31:30
by TrevorH
Your yum update error is caused by a package from a third party "rpmforge" repository.

CentOS 5 still has around 3 years of life left in it so it's still a valid choice for installations but CentOS is supported until 2020 so is a better long term bet. However, squirrelmail is supplied by CentOS 5 but not by 6 so for 6 you will need to use the copy from EPEL (Extra Packages for Enterprise Linux) third party repo. EPEL and rpmforge don't generally get along too well together and it's best to pick one of them and stay with it if at all possible.

As far as selinux goes, it's actually easier to leave it enabled and fix problems as you go along than it is to disable it and then be faced with an enormous task to re-enable it. Little bites generally leave less indigestion than one massive meal! If you set it to permissive mode then it does everything that it would do in enforcing mode except that it doesn't deny the access. This means that all denials will be logged but not enforced and then you can fix problems more easily. You can toggle between enforcing and permission mode by running `setenforce 0` (or 1) to eliminate selinux as a cause of problems then use the logs generated to fix the problem.