See http://www.horde.org/apps/horde/docs/INSTALL and the installation documents in docs/INSTALL.
The Horde Framework and the different Horde applications are configured through a set of configuration files. The main configuration files conf.php can be modified through a web interface.
Administrators can access this interface through the Administration -> Setup menu. There is a list of all installed applications, including their version numbers and the current state of the configuration. You will see warning messages if a configuration hasn't been created at all, or if it is outdated, because you installed a newer version.
Right above the application list is a button that checks for newer versions of the installed applications on the horde.org web server. This only works if the local web server is allowed to make an HTTP request to an external web server. If you click the button, the page is reloaded and you see a message for each installed application whether a newer version exists. If there is a newer version available, there is also a link where you can immediately download the most recent version.
If you want to configure an application, you can click on the application name in this application list. You get to a form where all system-wide configurations for that application can be modified to your needs. If there are many configuration settings, they will be organized into tabs. Click on the tab of area that you want to configure. You can change tabs without losing any changes you made in current tab.
Some configuration changes may require to reload the form, to show more configuration items, based on that change. Again, no changes that have been done before get lost.
Once you are done with the configuration you can click on the button to generate the configuration. The complete configuration is then converted into a PHP file, and the web server tries to save that code into the application's config/conf.php file. For this to work, the conf.php file must have file permissions set so that the web server can overwrite that file.
If you don't have the permissions set, you will get a warning message and be returned to the configuration form. At the bottom you will now see a text field with the generated PHP code. Above that field is a link that shows you the difference between the old and the new configuration. It is not necessary though to lower the server security by making the configuration file writable. There are other methods to get the generated PHP file onto the server:
All methods to store the configuration try to create a backup of the old configuration. This only succeeds if there are sufficient file and directory permissions. The new configuration will be stored anyway, whether the backup could be created or not. You can restore a backup from the individual application's configuration form. If a configuration backup is found for that application, there will be another button at the bottom for restoring the backup.
The different available configuration settings are further explained on individual pages for the applications. Not all configuration settings are explained, because some are self-explanatory or already have sufficient explanations in the configuration interface, or because they simply haven't been documented yet.
There are slides of a talk in the Horde Library that introduce into the 7 ways of customizing Horde:
In the developer documentation is also some more interesting information that's useful for administrators that want to customize their Horde installations or integrate it with other systems. See also the customization section on HowTo.