Note:
There are significant changes to Horde's behavior between cPanel & WHM version 11.48 to 11.50. Click the tab below that corresponds with your version of cPanel & WHM.
Overview
In cPanel & WHM version 11.42, we upgraded the cPanel-provided version of the Horde webmail application to Horde Groupware Webmail Edition 5.1.1. We will package and distribute this and all future updates to Horde as RPMs to ensure consistent installation and updates.
As a result, the way in which Horde data behaves on a cPanel & WHM server has undergone several changes. This guide details the changes that the system makes when you upgrade from Horde Webmail 1.2, as well as the new behavior after you upgrade.
Upgrades from Horde 1.2
The upgrade from Horde 1.2 to Horde 5.1.1 performs various actions in addition to RPM installation. Your server's webmail application settings determine which steps the upgrade takes.
If you enabled Horde on your cPanel & WHM version 11.40 server, the upgrade will perform the following actions:
- The system backs up and stores any old Horde configurations in the following locations:
- As a tarball in the
/var/cpanel/horde/horde_1.2_config.tar.gz
file. In a
.rpmorig
file in the/usr/local/cpanel/base/horde
directory, so that they are accessible by the Horde RPMs.Warning:
Horde 1.2 customizations may be lost in the upgrade process and are not supported in later Horde installations.
- As a tarball in the
- The system installs the new Horde RPMs.
- The installation process upgrades the Horde 1.2 database from
ISO-8859-1
(Latin 1
) toUTF-8
encoding.
- The installation process upgrades the Horde 1.2 database from
- The
/usr/local/cpanel/bin/update_horde_config
script runs the database schema migration scripts for all Horde applications and components.- The
update_horde_config
script is located in the/usr/local/cpanel/bin/update_horde_config
file. - The script will perform a backup if some migration actions are pending.
- For more information, read the Database backups and Configuration values sections of this document.
- The
If you had disabled Horde on your cPanel & WHM version 11.40 server, the upgrade will perform the following actions:
- The system sets the Horde target to the
uninstalled
state. - The system installs the new Horde RPMs.
- At the end of the upgrade process, the system uninstalls the Horde RPMs.
Upgrade a centralized database
If Horde data exists in a centralized database, we recommend that you perform the following steps to upgrade that database:
- Upgrade a single node and ensure that the database schema upgrade succeeded.
- Upgrade the nodes that remain for that database immediately to ensure database stability.
Removed scripts
The upgrade process removes the following Horde scripts and symlinks:
/usr/local/cpanel/bin/killhordeobjs /usr/local/cpanel/bin/real-updatehorde /usr/local/cpanel/bin/update-horde /usr/local/cpanel/bin/updatehorde
Database backups
If the update_horde_config
script detects the need for a schema update, it will first back up the Horde MySQL database to the /var/cpanel/horde/
directory.
- Only the last five backups in the
/var/cpanel/horde/
directory are available. - The system will always save the most recent backup as the
/var/cpanel/horde/latest
file. The following example lists the
horde.backup
files that you may see in the/var/cpanel/horde/
directory:-rw-------. 1 root root 87K Aug 14 17:33 horde.backup.sql.20130813 -rw-------. 1 root root 87K Aug 14 17:33 horde.backup.sql.20130814 -rw-------. 1 root root 87K Aug 14 17:31 horde.backup.sql.20130814.2 -rw-------. 1 root root 87K Aug 14 17:34 horde.backup.sql.20130814.3 -rw-------. 1 root root 16K Aug 16 10:47 horde.backup.sql.20130816 lrwxrwxrwx. 1 root root 25 Aug 16 10:47 latest -> horde.backup.sql.20130816
Configuration values
Warning:
Do not alter these values. If you do, the update_horde_config
script will overwrite them the next time it runs.
The following table lists the configuration values that the update_horde_config
script modifies:
Configuration Variable | Description |
---|---|
$conf['sql']['password'] | The MySQL® database password. |
$conf['sql']['hostspec'] | The MySQL database hostname. |
$conf['sql']['database'] | The MySQL database name |
$conf['auth']['admins'] | The Horde administrators' usernames. Note: The system takes this value from, and updates this value in, the |
$conf['spell']['params']['path'] | The path to the third-party binary for the spellchecker. |
Customize Horde
When you upgrade from Horde 1.2, the system backs up and stores your Horde configurations as a tarball in the/var/cpanel/horde/horde_1.2_config.tar.gz
file.
Warning:
Although the system backs up the configuration in this file, Horde 1.2 themes and customizations are not supported in later installations.
To customize Horde 5.1.1 or later, system administrators must build a custom RPM. For more information, read the How to Build and Install Custom RPMs documentation.
Included Horde plugins
The cPanel-provided installation of Horde includes the following plugin components:
horde
— Horde Application Framework.content
— A tag application.imp
— A web-based webmail system.ingo
— An email filter rules manager.kronolith
— A web-based calendar.mnemo
— A web-based notes manager.nag
— A web-based task list manager.timeobjects
— The Horde timeobjects application.trean
— A web-based bookmark application.turba
— A web-based address book.webmail
— Horde Groupware Webmail Edition.
Note:
Due to the complexities of shared hosting, the cPanel-provided installation of Horde does not include the gollem
plugin.
Additional Horde modules, and information about customization, are available from the Horde project.
Account data
In cPanel & WHM version 11.40 and earlier, the deletion of a cPanel user account or email address did not remove the associated Horde data.
However, in cPanel & WHM version 11.42 and later, the following statements are true:
- When you delete a cPanel user's account, the system removes all of the data for all of the account's addresses from the Horde database.
- When you delete an email address in cPanel, the system removes all of the address's data from the Horde database.
Backup Horde data
Important:
As of cPanel & WHM version 11.42, Horde uses InnoDB tables, which we cannot repair. You cannot restore Horde accounts that you did not back up without third-party assistance. We strongly recommend that you back up your Horde account data.
All cPanel & WHM backup systems now use the /horde
directory in the backup tarball to store Horde account backups. The /mysql/horde.sql
file no longer exists.
The following Horde data tables are not part of users' account data and, for this reason, the system does not back them up in conjunction with Horde accounts:
kronolith_resources
— Resources and Resource Groups are global on the server. Only Horde administrators can access them.- All
*_schema_info
tables — The system saves the version in a meta file. horde_cache
— A temporary Horde cache file.horde_groups
andhorde_groups_members
— The Horde user system.horde_histories_modseq
— The global internal settings for history retention.horde_imap_client_data
— A temporary Horde cache file.horde_imap_client_message
— A temporary Horde cache file.horde_imap_client_metadata
— A temporary Horde cache file.horde_locks
— Horde's internal lock mechanism.horde_perms
— Horde's internal permissions mechanism.horde_sessionhandler
— Horde's current sessions.imp_sentmail
— A temporary Horde cache file.
For more information, read the Backup Tarball Contents documentation.
Restore Horde data
You can restore data from accounts in Horde 5.1.1 or later in the same manner as other account data when you use the Restricted Restore system.
Warning:
Because of changes to Horde's MySQL database, you cannot restore Horde data from cPanel & WHM version 11.42 or later to a server that runs cPanel & WHM version 11.40 or earlier.
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 Version | Description |
---|---|
11.50 and later | Each cPanel account possesses its own Horde SQLite database. |
11.48 > 11.50 | The 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.52 | The 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
Script | Description |
---|---|
| In cPanel & WHM version 11.48 and earlier, the
Note: You can access the additional functions of this script if you perform the |
| This script installs with cPanel & WHM version 11.50 and later.
Note: You can read the output of this script in the |
/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:
Name | Type | Description |
---|---|---|
horde.sqlite | SQLite database | This database contains the cPanel accounts Horde data. |
meta | Directory | The backup service uses this directory to create the Horde database backups. |
vfsroot | Directory | The
/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:
- 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.
- 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 . |
|
Create missing databases for all cPanel users on the system. |
|
Upgrade tables or create missing tables in an existing database for cPanel user bob . |
Note: The |
Upgrade tables or create missing tables in the existing databases for all users on the system. |
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
|
|
Additional documentation