• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

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