• Plesk Uservoice will be deprecated by October. Moving forward, all product feature requests and improvement suggestions will be managed through our new platform Plesk Productboard.
    To continue sharing your ideas and feedback, please visit features.plesk.com

Horde

D

demonicnewbie

Guest
When trying to access webmail the login screen comes up. I put the email address in and the password but then it goes to the next screen displaying the following error:


A fatal error has occurred:

DB Error: connect failed

[line 108 of /home/httpd/vhosts/webmail/horde/lib/Prefs/sql.php]

Details have been logged for the administrator.


Don't really have a clue what this means. Squirrelmail works okay but I'd rather use horde but this has got me stumped. Everthing else in plesk seems fine.

I use mysql 4.1.10 could this be the problem? Anyway around it if so?

Thanks
 
/* Connect to the SQL server using the supplied parameters. */
include_once 'DB.php';
$this->db = &DB::connect($this->params, true);
if (DB::isError($this->db)) {
Horde::fatal($this->db, __FILE__, __LINE__);
}

# webmail/horde/config/prefs.php (line 172)

// get password from WEBMAIL_PASSWORD_FILE
if (!($fd = fopen("/etc/psa/.webmail.shadow", "r"))) {
echo "<script>alert('Unable to get webmail password!')</script>";
exit();
}

Make sure you can login to the database using the "horde" user, and the password listed in /etc/psa/.webmail.shadow ... if you can, I dont know. If you can't, you've found the problem.
 
Originally posted by demonicnewbie

A fatal error has occurred:

DB Error: connect failed

[line 108 of /home/httpd/vhosts/webmail/horde/lib/Prefs/sql.php]

Details have been logged for the administrator.

Quick n dirty

root@have [~]# mysqlshow |grep horde
root@have [~]#

Hum no db could be the problem

root@have [~]# mysqladmin create horde
root@have [~]# mysqlshow |grep horde
| horde |

Much better, but it's empty.
You'll need to get the Mysql admin password from /etc/psa/.psa.shadow, then login and do this:

mysql> use mysql
Database changed
mysql> show tables;
+-----------------+
| Tables_in_mysql |
+-----------------+
| columns_priv |
| db |
| func |
| host |
| tables_priv |
| user |
+-----------------+
6 rows in set (0.00 sec)

mysql> select * from user;


This should give you the password for the horde user. This is going to go into /home/httpd/vhosts/webmail/horde/passwd/config/backends.php but you've got to chmod 644 backends.php first.
then VI the file, and it goes between the ' ' for password in this entry.
),
'driver' => 'sql',
'params' => array(
'phptype' => 'mysql',
'hostspec' => 'localhost',
'username' => 'horde',
'password' => '',
'encryption' => 'md5-hex',
'database' => 'horde',
'table' => 'horde_users',
'user_col' => 'user_uid',
'pass_col' => 'user_pass'

Set the file back to 444 and you're done.
 
I had the same error appear on a server after it upgraded to 7.5.3. The problem was that the mysql user table gained an additional record for the horde user. One had the % host for all hosts, the username horde and the Plesk-generated password, the second record which the 7.5.3 upgraded added had the host set to localhost, user set to horde and a blank password. Removing the new addition and flushing privileges got webmail working again.

David
 
Back
Top