راه حل :
Please make sure that the following line exist in /etc/my.cnf:
socket=/var/lib/mysql/mysql.sock
Also check that Mysql service is running and /var/lib/mysql/mysql.sock socket exists..
Make sure that the ‘horde’ user is able to connect to the ‘horde’ database with a password from etc/psa/.webmail.shadow using the command:
# mysql -uhorde -p`cat /etc/psa/.webmail.shadow` -D horde
If /etc/psa/.webmail.shadow is missing, put some password into this file and change the password for the ‘horde’ user in the ‘mysql’ database using the query listed below.
If you get the error, make sure that the only one ‘horde’ MySQL user exists in the ‘user’ table in ‘mysql’ database and try to change it’s password with mysql query like:
# mysql -uadmin -p`cat /etc/psa/.psa.shadow` -D mysql
mysql> update user set password=password(“THE_PASSWORD_FROM_WEBMAIL.SHA DOW”) where user=”horde”;
mysql> FLUSH PRIVILEGES;
Look into “psa-horde” log (by default: /var/log/psa-horde). If you see something like:
Nov 02 12

06 HORDE [emergency] [horde] DB Error: connect failed: [nativecode=Access denied for user: 'root@localhost' (Using password: NO)] ** Array [on line 1329 of "/usr/share/psa-horde/lib/Horde/DataTree/sql.php"]
make sure that sql.safe_mode is disabled in php.ini, it should be like:
sql.safe_mode=Off
Restart Apache after changes in php.ini have been made