cPanel upgrade to 11.50.x – issues with horde database ?

Prior to cPanel & WHM version 11.50,  Horde user data was stored in a single server-wide MySQL database. However, in 11.50, cPanel moved these data to individual SQLite database for each cPanel account.

Recently, during the upgrade, several users are seeing this failure message :

While attempting to back up Horde database, mysqldump did not exit cleanly: 2

For more information about the exact nature of the failure, review the /var/cpanel/logs/horde_mysqltosqlite_log file. cPanel & WHM versions 11.50 and later require SQLite for Horde data storage. Any Horde data that the system could not migrate is not visible to Horde users.

Review the log file as mentioned and see if the entire conversion has failed.

The command to perform the conversion in full on a server that did not get a chance to begin the conversion would be :

# /scripts/horde_mysqltosqlite

If you encounter a server that has been partially completed according to the output of the conversion process  /var/cpanel/logs/horde_mysqltosqlite_log , then it can be performed for a single user as per the logs using the following command :

# /usr/local/cpanel/3rdparty/bin/perl -MCpanel::Horde::MySQLToSQLite -e 'Cpanel::Horde::MySQLToSQLite->new->convert_user("cpanelaccountname")'

Replace ‘cpanelaccountname‘ with the concerned cpanel account name viewed from the logs !


Corrupt Roundcube tables in WHM ?

Are you getting a message from cPanel saying something like ?

check_mysql has determined that there are corrupted database tables .

cPanel & WHM has determined that the following database tables are corrupt: 

Error : Table 'roundcube.contacts' doesn't exist
Error : Table 'roundcube.identities' doesn't exist
Error : Table 'roundcube.messages' doesn't exist
Error : Table 'roundcube.session' doesn't exist

The roundcube database on the server might have got corrupt. You can re-generate the database by stopping the MySQL service, moving away the corrupt ones, restarting the service and then moving ahead with updating roundcube :

# /etc/init.d/mysql stop

# mv /var/lib/mysql/roundcube/ var/lib/mysql/roundcube_bk

# /scripts/restartsrv_mysql

# /usr/local/cpanel/bin/update-roundcube --force

Once this is done, you will be able to access roundcube and the databases will be fixed !


Upgrade / install a different version of Python in CentOS !

The Python version which comes along with CentOS is usually 2.4.x, which is way behind and some of the applications / scripts would require a newer version of Python.

Upgrading Python in a cPanel environment using yum is not preffered as it may break services / managers including yum which is dependent on Python.

The best option will be to install a different version of Python at a different location. The default Python binary will be at /usr/bin/python. We can install the newer one at an alternate location. Following steps will help you :

cd /usr/src


( You can download a different version if you prefer, just go to the above URL – deleting upto /3.0.. and check for the versions )

tar -xvzf Python-3.0.tgz

cd Python-3.0

./configure –prefix=/usr/local


make install

Now, Python3.0 will be installed in /usr/local and the binary will be available at /usr/local/bin/python3.0 and you can use this path as reference to scripts / apps which require the newer version.

That’s it !


Remove the option to change the theme for a cPanel user !

There might be situations in which a particular cPanel user mess with his themes and you would want to limit his privilages so that he cant change the theme to a specific one or two. Perhaps you do not want him to change to X Theme or Paper Lantern.

To do this, login to your server as root and create the following file :


Edit the file and mention the list of themes which you want to be in the switch theme dropbox in cPanel interface.

For example, if you do not want X theme, the content of the above file would be :


# cat /var/cpanel/themes.conf

If you want the X theme and do not want paper_lantern, just give x in place of paper_lantern in the file.

That’s it !