[Solved] Horde not found (404) error

The Webmail client Horde on my cPanel/WHM server throwing a “not found” error on web browsers. Yeah, it’s weird. Here I’m explaining the steps to resolve this error painlessly.

Horde is one of the commonly using open source Webmail software in web hosting servers. The mail client Horde gives you the ability to access your information no matter where you are – On the road using your mobile phone; at your desk with your favorite web browser-based interface etc.

In latest version of cPanel (since 11.50) they updated/implemented a lot features with Horde. They moved the Horde user data storage from a single server-wide MySQL database to an individual SQLite database for each cPanel account.

We also activated new features of Horde that were previously disabled. So this fix probably works for server with cPanel version less that 11.50.

horde

Here we goes!!

How to troubleshoot this 404 error with Horde?

1st step of troubleshooting..

Check the MySQL on the server UP and listening.

2nd step

Please run the following command to know if there is any difference in Horde configuration.

/usr/local/cpanel/bin/update_horde_config

If there any problems exist, the above command may shows some errors like:

Horde 404 error + Fatal Error: Could not instantiate PDO with DSN “mysql:persistent=1; port=3306;protocol=tcp;ssl=1;host=127.0.0.1;dbname=horde”. PDOException: SQLSTATE[HY000]
[2003] Can’t connect to MySQL server on ’127.0.0.1′ (111) In
/usr/local/cpanel/3rdparty/php/54/lib/php/Horde/Db/Adapter/Pdo/Base.php on line 344

Then, we can move over to the 3rd step of troubleshooting

Checking the username and password for the Horde database is correct. You will get those details from the following configuration file.

/usr/local/cpanel/base/horde/config/conf.php

Open the file and check the following entries; username, password, hostspec, port

$conf['sql']['username'] = 'horde';
$conf['sql']['password'] = 'PASSWORD';
$conf['sql']['hostspec'] = 'localhost';
$conf['sql']['port'] = 3306;

Then check the password is working:

# mysql -u horde -p

If the password is not matching, reset it from the MySQL command prompt. You can use the following command to reset the password:

> use mysql;
> update user set password=PASSWORD("newpassword") where User='horde';
> flush privileges;
> quit

Restart MySQL

/etc/init.d/mysql stop; /etc/init.d/mysql start

That’s it dude!!

Ohh.. password is working for me. What to do then?

Okay, if all the steps we discussed are correct, then try the following one.

Open “/usr/local/cpanel/3rdparty/php/54/lib/php/Horde/Db/Adapter/Pdo/Mysql.php,” then change the following entry:

$this->_config['host'] = '127.0.0.1';
 to
$this->_config['host'] = 'localhost';

Then execute ” /usr/local/cpanel/bin/update_horde_config.”

That’s it!!

Post navigation

Arunlal A

Senior System Developer at Zeta. Linux lover. Traveller. Let's connect! Whether you're a seasoned DevOps pro or just starting your journey, I'm always eager to engage with like-minded individuals. Follow my blog for regular updates, connect on social media, and let's embark on this DevOps adventure together! Happy coding and deploying!

2 thoughts on “[Solved] Horde not found (404) error

  1. I get this when I try to run the script
    [root@server bin]# update_horde_config –full
    -bash: update_horde_config: command not found

    yet if I list the directory it is sitting right there? any thoughts

    1. Hello,

      The directory is “/usr/local/cpanel/bin/”
      I checked it on a server has latest cPanel and made sure that the file is there:

      [email protected] [/usr/local/cpanel/bin]# ll update_horde_config
      -rwxr-xr-x 1 root root 19399 Feb 17 04:26 update_horde_config*
      

Leave a Reply

Your email address will not be published. Required fields are marked *