Resolution
1. Verify that authenticate via IMAP is possible. Get valid name and password of some mail account:~# /usr/local/psa/admin/sbin/mail_auth_view
...
| mail@domain.tld | | password |
...
~#
Try authorization:
~# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc. See COPYING for distribution information.
01 login mail@domain.tld password
01 OK LOGIN Ok.
If IMAP authorization failed verify that configuration of IMAP server is correct. Here is correct configuration:
/etc/psa-horde/imp/servers.php
--->8---
$servers['imap'] = array(
'name' => 'IMAP Server',
'server' => 'localhost',
'hordeauth' => false,
'protocol' => 'imap/notls',
'port' => 143,
'maildomain' => $DomainName,
'smtphost' => 'localhost',
'smtpport' => 25,
'realm' => '',
'preferred' => '',
'quota' => array(
'driver' => 'courier',
'params' => array(),
),
);
---8<---
Verify that package courier-imap is installed and up-to-date. For example for version 9.2, CentOS5:
~# rpm -qa | grep courier-imap
courier-imap-3.0.8-cos5.build92090714.19
~#
Reinstall the packages if something is incorrect*.
2. session.save_path is defined in PHP configuration. The directory exists and has correct permissions:
~# grep session.save_path /etc/php.ini | grep -v ';'
session.save_path = "/var/lib/php/session"
~#
~# ls -ld / /var/ /var/lib/ /var/lib/php/ /var/lib/php/session/
drwxr-xr-x 22 root root 4096 Oct 13 09:03 /
drwxr-xr-x 21 root root 4096 Dec 19 2008 /var/
drwxr-xr-x 23 root root 4096 Mar 11 2009 /var/lib/
drwxr-xr-x 3 root root 4096 Dec 5 2008 /var/lib/php/
drwxrwx--- 2 root apache 4096 Mar 24 2009 /var/lib/php/session/
~#
3. If there are more than 300 Web sites hosted on the server, Apache may fail to work because of problem with file descriptors limit. By default Apache can handle only 1024 file descriptors. Use following instructions to get number of file descriptors used by Apache. Get id of the root Apache process:
~# ps axf | grep httpd
10220 ? Ss 0:07 /usr/sbin/httpd <=== root Apache process
4018 ? S 0:00 \_ /usr/sbin/httpd
5170 ? S 0:00 \_ /usr/sbin/httpd
Get number of file descriptors used by Apache process:
~# ls /proc/10220/fd/ | wc -l
If the value is more then 1024 it means that Apache is lacking in file descriptors and may fail to work. It is recommended that you enable Piped Logs for Apache Web Server or recompile Apache, PHP and IMAP packages with increased number of file descriptors. For details how to resolve the problem refer to this articles:
How do I enable Piped Logs for Apache Web Server.
How to recompile Apache,PHP and IMAP with increased value of file descriptors larger than FD_SETSIZE (1024) on RedHat-like system?
4. Verify that all Horde packages are installed and up-to-date. For example for version 9.2, CentOS5:
~# rpm -qa | egrep 'psa-horde|psa-imp|psa-ingo|psa-kronolith|psa-mimp|psa-mnemo|psa-passwd|psa-turba'
psa-horde-3.1.7-cos5.build92090714.19
psa-ingo-1.1.5-cos5.build92090714.19
psa-passwd-3.0.1-cos5.build92090714.19
psa-kronolith-2.1.8-cos5.build92090714.19
psa-mnemo-2.1.2-cos5.build92090714.19
psa-turba-2.1.7-cos5.build92090714.19
psa-imp-4.1.6-cos5.build92090714.19
psa-mimp-1.0.2-cos5.build92090714.19
~#
Reinstall the packages if something is incorrect*.
Additional information
* The packages may be downloaded from website http://autoinstall.plesk.com/. Locate your Parallels Plesk Panel version and architecture. The files are located in subdirectories opt/maildrivers/, opt/horde/.For example:
http://autoinstall.plesk.com/PSA_9.2.2/dist-rpm-CentOS-5-i386/opt/maildrivers/
http://autoinstall.plesk.com/PSA_9.2.2/dist-rpm-CentOS-5-i386/opt/horde/