Common Problems with Horde Webmail using Plesk

Common issues with Horde not working in Plesk often involve the 'webmail' sub-domain not being configured correctly or recent upgrades of PHP, MySQL, or Zend Optimizer. In all of these cases it is important to double check configuration files and verify that all of the versions are compatible. You may need to upgrade to the latest Plesk release to fix some problems. Plesk has a great community forums and knowledge base section where you can find a solution to almost any problem:

Plesk Unix/Linux Knowledgebase: http://kb.parallels.com/en/products/pleskunix
Plesk Windows Knowledgebase: http://kb.parallels.com/en/products/pleskwindows
Plesk Support Forums: http://forum.swsoft.com/

Here are some things to check for specific problems you might be having with Horde in Plesk:

Check Your Server's DNS

Plesk requires that the webmail sub-domain is configured correctly for webmail to work. Verify that your DNS is configured to use the webmail sub-domain (webmail.yourdomain.tld).

Next, in the Plesk Control Panel, go to 'Domains' under the General section on the left and then click on the domain name you need webmail access on. Click on 'Mail' and make sure there is an icon that says "Switch Off". If the icon says "Switch On" click on the icon to switch email services on for this domain.

Then click on 'Preferences' and make sure the 'Webmail' checkbox is clicked. This configures Horde to make webmail available for this domain. Click 'Ok'.

If you are using Plesk to run your DNS server, click on 'Server' under the System section on the left, then click on 'DNS Settings'. Make sure an entry exists for the webmail.<domain> sub-domain. Now click on 'Domains under the General section on the left, then click on domain name you need webmail access on. Click on 'DNS Setting's and make sure a webmail.yourdomain.tld entry exists.

Plesk or Horde stop working after installation of Zend Optimizer (Windows)

The Zend Optimizer installer resets the location of the php.ini scripts. To correct this, open regedit and remove the following key from the registry:

HKEY_LOCAL_MACHINE\SOFTWARE\php\IniFilePath

Error when logging in to Horde ("fatal error. DB Error: connect failed") (Windows / Linux)

A fatal error has occurred
DB Error: connect failed
Details have been logged for the administrator.

This probably means that either the MySQL server is not running, that the login credentials for MySQL are incorrect, that the Horde database does not exist, or that the servername for the MySQL database is invalid.

WINDOWS:

Check the Horde log file at C:\Windows\Temp\horde.log for detailed information.

Check the horde conf.php file at %plesk_vhosts%webmail\horde\config\conf.php and make sure the server, port, username, password, database name, server IP, and other related settings are configured correctly. Also verify that the MySQL username and password are correctly set in MySQL, and that the Horde database exists in MySQL.

See http://kb.parallels.com/en/1356 for more information.

LINUX:

Check /etc/my.cnf and make sure the following line exists:

socket=/var/lib/mysql/mysql.sock

Run the following command and make sure you can no errors are received:

mysql -uhorde -p`cat /etc/psa/.webmail.shadow` -D horde

Type 'quit' to exit mysql.

If /etc/psa/.webmail.shadow is missing, create the file and type a password into the file. The file should only contain one password. Save the file and then update mysql with the new password:

mysql -uadmin -p`cat /etc/psa/.psa.shadow` -D mysql

Now type this at the mysql prompt:

update user set password=password("PASSWORD_FROM_WEBMAIL.SHADOW") where user="horde";

FLUSH PRIVILEGES;

Also check /var/log/psa-horde/psa-horde.log for any errors. If you see something like this:

DB Error: connect failed: [nativecode=Access denied for user: 'root@localhost' (Using password: NO)]

open the /etc/php.ini file and make sure sql.safe_mode is set to off, like this:

sql.safe_mode=off

Restart Apache if you edit the php.ini file:

/usr/sbin/apachectl -k restart

See http://kb.parallels.com/en/940 for more information.

Horde mail users not authorized (Linux)

Running 'tail /usr/local/psa/var/log/maillog' shows LOGIN FAILED and "unable to open mail authentication database: No such file or directory"

You can verify this by running 'ls /var/lib/plesk/mail/auth/passwd.db', which will return "No such file or directory".

Fix this by running the following command as root:

/usr/local/psa/admin/sbin/mail_auth_dump