\documentclass{article}
\usepackage{ulem}
\usepackage{graphicx}
\usepackage{hyperref}
\pagestyle{headings}
\begin{document}
\part{Horde 6 Installation Instruction (Draft)}
Horde 6 (unreleased) uses the composer package manager. <a href="https://getcomposer.org/doc/00-intro.md">https://getcomposer.org/doc/00-intro.md</a> A lot of details have changed compared to previous versions.<br />
Before running this code in production, please ensure you are familiar with the procedures

\section{Linux Server: Installation from Scratch}
This section is about an end user installation for testing or running in production

\subsection{Prerequisites}
\begin{itemize}
\item <a href="https://wiki.horde.org/Doc/Dev/H6/Installation/SQL">SQL Database Setup</a>


\item <a href="https://wiki.horde.org/Doc/Dev/H6/Installation/WebServer">Web Server Setup</a>


\item <a href="https://wiki.horde.org/Doc/Dev/H6/Installation/PHP">PHP Version and Extensions</a>


\item <a href="https://wiki.horde.org/Doc/Dev/H6/Installation/Composer">Composer</a>


\item <a href="https://wiki.horde.org/Doc/Dev/H6/Installation/git">git - optional, recommended</a>


\item <a href="https://wiki.horde.org/Doc/Dev/H6/Installation/Mail">IMAP and SMTP Server -optional, needed for Webmail and other mail related services</a>


\end{itemize}
\subsection{Installation Steps}
This section goes through an installation step by step. You will first setup Horde with users stored into a SQL database, then add groupware applications with their default settings and finally setup Web Mail and Filters.<br />
See "Recovering" for more concise, automation-friendly instructions.

\begin{itemize}
\item <a href="https://wiki.horde.org/Doc/Dev/H6/Installation/RootProject">Get A Root Project</a>


\item <a href="https://wiki.horde.org/Doc/Dev/H6/Installation/InstallBase">Install the Horde Base System, connect to database, inject initial admin user</a>


\end{itemize}
\subsection{Install Horde Applications}
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/InstallAppsGroupware">Kronolith Calendar, Nag Tasks, Mnemo Notes, Passwd Password, Turba Contacts, content/timeobjects</a><br />
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/InstallAppsMail">IMP Webmail, Ingo Mail Filter Manager</a><br />
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/InstallAppsGollem">Gollem File Manager</a><br />
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/InstallAppsWicked">Wicked WIKI - TBD</a><br />
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/InstallAppsHermes">Hermes Time Tracking - TBD</a><br />
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/InstallAppsWhups">Whups Ticket System - TBD</a><br />
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/InstallAppsAnsel">Ansel Photo Gallery App - TBD</a><br />
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/InstallAppsSesha">Sesha Inventory App - TBD</a><br />
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/InstallAppsDev">Development Tools: Components, Chora Repo Viewer,</a><br />
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/InstallThirdParty">Installing a Third Party application for the Horde 6 Framework</a>

\subsection{Removing a Horde Application}
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/UninstallApps">How to remove an app</a>

\subsection{Upgrading a Horde 6 system after installation}
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/UpgradeApps">How to upgrade a single app or the whole deployment</a>

\subsection{Backup a Horde Installation}
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/BackupApps">How to backup a horde environment</a>

\subsection{Recovering from Backup}
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/Recovery">How to recover from a backup</a>

\section{Developer Install}
This section is for developers. If you don't intend to work with git and run the very latest, untested code, then this is not for you.

There is a developer container setup if that's your thing. <a href="https://github.com/horde/horde-support/tree/feat/containers">https://github.com/horde/horde-support/tree/feat/containers</a>. Don't run this for anything but testing.

For a developer setup right on your machine, provided you already have a mail server, a database etc

1) Get the latest build of horde-components.phar from <a href="https://github.com/horde/components/releases">https://github.com/horde/components/releases</a><br />
2) Export a github token to your shell:<br />
export GITHUB\_TOKEN=ghp\_...<br />
export HORDE\_GIT\_DIR=/srv/git/<br />
export HORDE\_INSTALL\_DIR=/var/www/horde-dev<br />
3) Run horde-components github-clone-org<br />
4) Run horde-components install<br />
5) cd /var/www/horde-dev<br />
6) composer install<br />
7) cp /var/www/horde-dev/vendor/horde/horde/config/conf.php.dist /var/www/horde-dev/var/config/horde<br />
8) composer horde:reconfigure<br />
9) Configure your webserver and/or php-fpm.  The /web dir is your webroot. /web/horde/ is your horde base app.<br />
10) Amend your configuration until you have your database configuration. Then run /var/www/horde-dev/vendor/bin/horde-db-migrate.<br />
11) Then setup authentication. If you use SQL authentication you can inject a user from the command line.<br />
12) Install more horde apps:<br />
composer require horde/nag<br />
composer require horde/mnemo<br />
composer require horde/kronolith<br />
composer require horde/passwd

Run the migration again:<br />
/var/www/horde-dev/vendor/bin/horde-db-migrate

Put the config files in /var/www/horde-dev/var/config/\$app<br />
Run composer horde:reconfigure to link the config files.

To update your installation to the latest upstream changes run again horde-components.phar github-clone-org

\section{Ready to run docker groupware setup}
\section{Windows: Installation from scratch}
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/Windows">How to install on Windows 10 or 11</a>

\section{Upgrading from Horde 5 PEAR or Linux Distribution}
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/UpgradeH5Release">Upgrade from official Horde 5 releases</a>

\section{Upgrading from Horde 5 git-tools installation}
<a href="https://wiki.horde.org/Doc/Dev/H6/Installation/UpgradeH5Git">From git-tools</a>

\section{Upgrading from Horde 4 or older}
TBD

\section{Developer specific workflows}
<a href="https://wiki.horde.org/Doc/Dev/H6/Developer/LibraryWorkflow">Checkout a single library and setup for development</a><br />
<a href="https://wiki.horde.org/Doc/Dev/H6/Developer/ApplicationWorkflow">Upgrade a single application and dependencies to development versions</a><br />
<a href="https://wiki.horde.org/Doc/Dev/H6/Developer/ReleaseWorkflow">Release an application version</a>

\section{Known issues}
\section{<a href="https://wiki.horde.org/Doc/Dev/H6/Developer/KnownIssues">Known issues and proposed fixes for current alpha version</a>}
Back to the <a href="https://wiki.horde.org/Doc/Dev/">Development Documentation</a>

\end{document}
