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
You normally don't need to keep these:
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.