6.0.0-beta13
4/11/26

Upgrade from Horde 5 / PEAR

Horde 5 is supposed to run on PHP 5.x - 7.4 and Horde 6 is supposed to run on PHP 7.4 - 8.x.
Also, the filesystem structure of Horde 6 is different. It is recommended NOT to run an inplace upgrade but backup all assets and start

++ Prerequisites

  • Copy existing installation's database to a new database. At the end of the installation the schema will be changed and no longer fit for Horde 5.
  • Go to all Horde 5 apps, including horde base, and safe files like
    • registry.local.php
    • conf.php
    • prefs.local.php
    • hooks.php
    • attributes.local.php
    • backends.local.php
    • basically *.local.php
    • registry.d/*

You normally don't need to keep these:

  • conf.xml
  • prefs.php
  • backends.php
  • attributes.php

These come with the code.
Modifying these was not advisable even in horde 5.

++ Setup a root project

git clone https://github.com/maintaina-com/horde-deployment.git

+++ Copy Horde configs

Mind the different structure:

old: horde/config/conf.php
new: var/config/horde/conf.php
old: horde/config/*.local.php
new: var/config/horde/
old: horde/config/registry.d
new: var/config/horde/registry.d/

old: horde/nag/conf.php
new: var/config/nag/conf.php
old: horde/nag/config/.local.php
new: var/config/nag/
.local.php

etc

+++ Editing registry

If your registry.local.php or registry.d/ snippet contains hardcoded webroot or fileroot, comment out these lines.

+++ Install Horde 6

++++ Install the base app

composer install

++++ Install additional apps

composer require horde/kronolith ^5 composer require horde/turba ^5 composer require horde/passwd ^6 composer require horde/mnemo ^5 composer require horde/content ^3 composer require horde/timeobjects ^3 composer require horde/imp ^7 etc ... see the installing chapter for more details on this step.

+++ Upgrade the database

./vendor/bin/horde-db-migrate up

+++ Check the Web UI for configs that need upgrading

Goto the horde/admin/config screen. Check for all apps if there are new settings which need configuration.