\documentclass{article}
\usepackage{ulem}
\pagestyle{headings}
\begin{document}
\part{ 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.\newline
Also, the filesystem structure of Horde 6 is different. It is recommended NOT to run an inplace upgrade but backup all assets and start

\section{ 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.\newline
- Go to all Horde 5 apps, including horde base, and safe files like\newline
  - registry.local.php\newline
  - conf.php\newline
  - prefs.local.php\newline
  - hooks.php\newline
  - attributes.local.php\newline
  - backends.local.php\newline
  - basically *.local.php\newline
  - registry.d/*

You normally don't need to keep these:\newline
  - conf.xml\newline
  - prefs.php\newline
  - backends.php\newline
  - attributes.php

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

\subsection{ Web Server Config}
The Web server's webroot needs to point to the /web subdirectory of the root project, not the top directory of the root project.\newline
See fresh install docs for more detail.

\section{ Setup a root project}
\begin{verbatim}

git clone https://github.com/maintaina-com/horde-deployment.git
\end{verbatim}

\subsection{ Copy Horde configs}
Mind the different structure:\newline
\begin{verbatim}

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
\end{verbatim}

\subsection{ Editing registry}
If your registry.local.php or registry.d/ snippet contains hardcoded webroot or fileroot, comment out these lines.

\subsection{ Install Horde 6}
\subsubsection{ Install the base app}
\begin{verbatim}

composer install
\end{verbatim}

\subsubsection{ Install additional apps}
\begin{verbatim}

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
composer require horde/nag ^5
composer require horde/activesync v3.0.0.alpha4

\end{verbatim}

\newline
etc \ldots see the installing chapter for more details on this step.\subsection{ Upgrade the database}
\begin{verbatim}

./vendor/bin/horde-db-migrate up
\end{verbatim}

\subsection{ 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.

\end{document}
