Child pages
  • _HordeDataBehavior1150
Skip to end of metadata
Go to start of metadata

Overview

In cPanel & WHM version 11.50, we 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.

This document explains the methods that the system uses to manage Horde data in cPanel & WHM version 11.50 and later.

Per-user SQLite databases

Upgrades from 11.48 to 11.50

When servers upgrade from 11.48 to 11.50, the system performs a one-time conversion operation during the post-sync cleanup phase of the upgrade. script. This moves the Horde user data from the Horde MySQL database to a set of SQLite databases, one for each cPanel account.

The original Horde database backs up to the /var/cpanel/horde/horde.backup.sql.final file before the system performs this operation. If the backup and the conversion are both successful, the system removes the original Horde MySQL database.

Important:

You cannot downgrade Horde data from cPanel & WHM version 11.50 and later.

New installations of 11.50 and later

For new installations of cPanel & WHM version 11.50 and later, the system stores Horde user data into the new location from the installation. There is not a conversion step.

Backups/restores and transfers

This change impacts backups, restores, and transfers in the following ways:

cPanel & WHM VersionDescription
11.50 and laterEach cPanel account possesses its own Horde SQLite database.
11.48 > 11.50The system transfers your Horde data from a single MySQL database to per-account SQLite databases. After the upgrade, each cPanel account possesses its own Horde SQLite database.  
11.50 > 11.48

Important:

You cannot downgrade Horde data from cPanel & WHM version 11.50.

11.50 > 11.52The system uses the present Horde SQLite databases and upgrades them to work with the latest Horde components.
11.52 > 11.50

Important:

You cannot downgrade Horde data from cPanel & WHM version 11.52.

The cpanelhorde user

As part of the switch to SQLite, the system no longer uses the cpanelhorde user to manage access to the Horde database. The cpanelhorde user was necessary so that individual users could have limited access to the MySQL Horde database. In cPanel & WHM version 11.50 and later, each cPanel account possesses its own Horde SQLite database. Horde webmail and CalDAV/CardDAV services execute as the cPanel account user.

Component upgrades and table schema changes

cPanel & WHM version 11.50 upgrades several components which installs several bug fixes from the upstream maintainers. The new version upgrades the Kronolith application from version 4.1.3 to 4.2.5. The change in version required a minor schema change to the applications tables. cPanel account users should not see any difference in behavior as a result of this change.

cPanel & WHM version 11.52 also upgrades many components which installs numerous bug fixes and features from the upstream maintainers. These upgrades include, but are not limited to, the following modules:

  • Horde Application Framework
  • IMP (Mail)
  • Ingo (Mail Filters)
  • Kronolith (Calendar)
  • Mnemo (Notes and Memos)
  • Nag (Task List)
  • Trean (Bookmark Manager)
  • Turba (Address Book).

Scripts

ScriptDescription

/usr/local/cpanel/bin/update_horde_config

In cPanel & WHM version 11.48 and earlier, the update_horde_config script updated the /usr/local/cpanel/base/horde/config/conf.php file with database credentials and upgrading table schemas. In cPanel & WHM version 11.50, we made the follow changes to this script:

  • This script no longer adds database credentials to /usr/local/cpanel/ base/horde/config/conf.php file. The SQLite database uses filesystem permissions for access control.
  • This script handles the initial creation of cPanel account SQLite database for Horde.
  • The schema check and upgrade operation only executes if you perform the /usr/local/cpanel/ bin/update_horde_config --full command.

Note:

You can access the additional functions of this script if you perform the /usr/local/cpanel/ bin/update_horde_config --help command.

/scripts/horde_mysqltosqlite

This script installs with cPanel & WHM version 11.50 and later.

  • The script performs the switch from the system-wide Horde MySQL database to the per cPanel account Horde SQLite databases.
  • This script runs while the system upgrade from cPanel & WHM version 11.48 to 11.50.
  • This script only runs when you upgrade to cPanel & WHM version 11.50 or later.

Note:

You can read the output of this script in the /var/cpanel/logs/horde_mysqltosqlite_log file.


/usr/local/cpanel/scripts/fullhordereset

We removed this script in cPanel & WHM 11.50.

The SQLite Horde database and the ~/.cphorde directory

In cPanel & WHM version 11.50 and later, each cPanel account possesses its own.cphorde directory under the accounts home directory. The .cphorde directory contains the following items:

NameTypeDescription
horde.sqliteSQLite databaseThis database contains the cPanel accounts Horde data.
metaDirectoryThe backup service uses this directory to create the Horde database backups.
vfsrootDirectoryThe /usr/local/cpanel/ base/horde/config/conf.php file uses this directory for the vfsroot setting.

Changes to the /usr/local/cpanel/base/horde/config/conf.php file

In cPanel & WHM version 11.50 and later, the following changes were made to the  /usr/local/cpanel/ base/horde/config/conf.php file:

  1. The file no longer contains the Horde database credentials or a server-specific MySQL password. The SQL section now contains the generic SQLite setup configuration.
  2. The file's permission is world-readable. 

Important:

cPanel account users must have permissions to this file.

Horde database troubleshooting and repair in cPanel & WHM 11.50 and later

You can use the following table to troubleshoot problems for each cPanel account's Horde SQLite database.

Important:

If you delete a cPanel account's Horde SQLite database, you will lose all of that account's calendar and contact information.

I want to...cPanel & WHM 11.50 and later
Reset horde database password.You can no longer perform this action in cPanel & WHM version 11.50. The SQLite database relies on filesystem permissions for access control, not a password.
Create a missing database for cPanel user bob.

/usr/local/cpanel/bin/update_horde_config --user=bob

Create missing databases for all cPanel users on the system.

/usr/local/cpanel/bin/update_horde_config

Upgrade tables or create missing tables in an existing database for cPanel user bob.

/usr/local/cpanel/bin/update_horde_config --user=bob --full

Note:

The --full flag instructs the update_horde_config script to perform the full table schema check and upgrade/repair instead of only checking whether the database exists.

Upgrade tables or create missing tables in the existing databases for all users on the system.

/usr/local/cpanel/bin/update_horde_config --full

Warning:

This operation may require significant time to execute on systems with many accounts.

Move and re-create a new horde database for the cPanel user bob with the default calendars and address books.

 

  • mv ˜bob/.cphorde/horde.sqlite ˜bob/.cphorde/horde.sqlite.bak
  • /usr/local/cpanel/bin/update_horde_config --user=bob --create-defaults
  • No labels