This is an old revision of the document!
= Installing and configuring Horde Groupware =
Horde Groupware or Horde Webmail Groupware is an open-source web-based group management application. It features common tools for group/team management: calendar (kronolith), address book (turba), webmail (imp, mimp, dimp), task lists (nag), notes (mnemo), wiki (wicked), group management, permissions, categories. It's also highly customizable, allowing you to choose themes, define your entry/portal web-page, set locales, set display preferences, etc.
The installation and configuration process is complex but quite straightforward. Horde's readme} and install} files and wiki and searchable mailing lists should provide all necessary answers. I've completed four installation processes, all on a Debian GNU/Linux 5.0 Lenny; the last one was accomplished while writing this tutorial to make sure I don't miss out on something. Having more than one installation experience helped me discover new features and configuration options in Horde.
I will detail my installation/configuration process in the rest of this tutorial. Hopefully it will help reduce the time someone would normally invest when installing Horde Groupware.
I didn't use Debian's internal package, as I wanted more freedom when installing and configuring Horde. For my third and fourth installation instances, I used a non-privileged account, so it was mandatory that I installed Horde from its source package.
The following list shows the system configuration and setting and desired features. We want an Apache2 and MySQL based instance, with IMAPS login (based on an e-mail account) and the built-in wiki.
* Debian GNU/Linux 5.0 Lenny * Horde Webmail Groupware * non-privileged account * Apache2 web-server * MySQL * IMAPS e-mail access * IMAPS login * Horde builtin wiki (wicked)
The required Debian packages are listed below. A MySQL server also has to be configured (it need not be on the same system). cvs needs only be installed for CVS-based modules (such as wicked).
* apache2 * libapache2-mod-php5 * mysql-client-5.0 * php5 * php5-cli * php-pear * php5-imap * cvs for CVS-based modules
Most installation steps are described in the install file.
First of all a database has to be created. Afterwards, the setup script (setup.php) needs to be run (php5-cli package must be installed). It will ask for the webroot path and then will enable further configuration, using a screen similar to the one below:
The database configuration step 1} should run smoothly. However, the create_database_or_tables} step 2} failed for me everytime as I had the database already created. As such I used the groupware.mysql.sql} script:
Do not worry about the above errors. The script is ment to be run by the MySQL root user, enabling the creation of the database and user. As I had already created the database and required user, those steps were not needed.
To test the configuration, one has to access the required web page (test.php}). Anything marked with red is bad news and should be corrected. Most of the time the problem is missing packages. Use the specific web pages to run tests for Imp, Ingo, Kronolith and Turba.
Configure webmail authentication:
By default, Horde Groupware uses IMP's IMAP authentication. The configuration option can be changed by altering the driver configuration option: conf_auth_driver_application}
Congratulations! You have a working instance of Horde Webmail Groupware installed. Accessing your base URL (http://SERVER_NAME/WEBROOT/) should get you to the secured login page.
As mentioned above, wicked (Horde's integrated wiki) should be installed. In order to do that we have to download the CVS version, as mentioned [http://www.horde.org/source/using.php|on the site] (don't forget to install cvs)
As mentioned [http://www.horde.org/source/modules.php|on the site], the tag for wicked's stable branch is FRAMEWORK_3, and this is what we will checkout:
The sql scripts have to be run in a similar fashion to the first set of scripts:
Run the wicked test.php script (http://SERVER_ROOT/WEBROOT/wicked/test.php). It should complain you do not have the Text_Wiki PEAR package installed. If you have privileges, you could use 'pear install'. Otherwise, use manual downloading:
To enable Creole markup, use the configuration menu in the Administrative user interface.
Certain features of Horde can be tuned either at global level, through the use of configuration files, or at user level, through the use of the configuration interface for each user.
When using IMP, you would like automatic configuration of the Default Identity (sender address). For that we use a postauthentication script, as mentioned [http://wiki.horde.org/CustomizingPreferences|here] (search David Komanek). Update $HORDE_INSTALL_DIR/config/hooks.php with the script. Also update the postauthenticate configuration in $HORDE_INSTALL_DIR/config/conf.php conf_hooks_postauthenticate_true}
File to update: $HORDE_INSTALL_DIR/config/prefs.php Preference to alter: 'theme' (I like 'silver')
As the sidebar is quite small, I like updating it from 150 to 200.
File to update: $HORDE_INSTALL_DIR/config/prefs.php Preference to alter: 'sidebar_width'
File to update: $HORDE_INSTALL_DIR/imp/config/prefs.php Preference to alter: 'sending_charset'
File to update: $HORDE_INSTALL_DIR/imp/config/prefs.php Preference to alter: 'delhide'
File to update: $HORDE_INSTALL_DIR/imp/config/prefs.php Preferences to alter: 'first_week_day', 'twentyFour', 'date_format', 'timezone'
A non-admin user can alter his/hers configuration through the Options → Global Options menu. The user can configure personal information, theme, sidebar width, time format, etc.
The administrative UI configuration is enabled through the Administration → Setup menus. As the admin user is altering the configuration files, these must be writable by the web server user (www-data for Apache2) (the backup file must be created if it does not exist):
The Administration → Setup → Wicked menu enable configuration of the built-in wiki. The usual configuration I'm doing is changing the default markup to creole (the $conf[wicked][format] variable).