Kolab2 Installation - Horde
From Kolab wiki
Horde is a potential web-based groupware client for the Kolab server. The client is under active development and if you are interested in the current state of affairs and/or are willing to test the newest patches you should consult the Horde development page in this wiki.
Contents |
Overview
Horde obviously needs to be installed on a web server. But this will already result in a first choice: Are you going to install Horde on the Kolab server or would you like to install it on a separate web server? Once this choice has been made you need to decide on the version of Horde you would like to install. And finally you will need to configure the system.
We will split this into the Prerequisites, the Installation, and the Configuration.
Prerequisites
In order to install Horde you will need an Apache web server that supports PHP. There is no need whatsoever to install Horde on the Kolab server you are using. This is certainly possible and may be the simplest option. Harde has been included in Kolab Server 2.2 Beta 2 for the first time so this will be the earliest version supporting this.
But installing Horde on the Kolab Server itself might require too much processing power on larger Kolab installations. So you might instead consider splitting the web services from the mail processing on the Kolab server. The other two installation variants describe these scenarios.
Apache on the Kolab server
The advantage of installing Horde on the main Kolab server is that it gets configured automatically and it should be the easiest way to get the system up and running. Just download and install the Kolab server and follow the instructions to install the server including Horde. Kolab-Server-2.2-beta-2 is the first version supporting this installation variant.
Apache on a second Kolab server
You can also install a second Kolab server and use one server for the mail processing while the second offers the web services. That saves you precious computing power on your main machine.
This is not well supported yet. We are working on implementing this so that you get one machine without the web server and the second as a pure web server.
Apache on an external web server
If you decide to manually install Horde on a standard Apache web server with PHP support you will have some prerequisites you should consider before the installation.
| imap extensions | PHP provides IMAP support and these functions can be compiled into PHP. These MUST be provided by the PHP version you are using. |
| ldap extensions | PHP provides LDAP support and these functions can be compiled into PHP. These SHOULD be present. |
| c-client patch | Kolab uses patches for the c-client and PHP package (the PHP patch depends on the c-client patch). If you compiled the PHP on your web server yourself you SHOULD include these patches. They will significantly reduce the time Horde requires for querying the IMAP server. |
In addition there exist requirements for the Kolab server:
| Version | You will need to use Kolab-Server >= 2.2-beta1. |
| Horde schema | The LDAP database on your Kolab server needs to support the Horde LDAP schema. That means there must be a line "include /kolab/etc/openldap/schema/horde.schema" in your /kolab/etc/kolab/templates/slapd.conf.template file. Place the horde.schema file in the specified location. |
And finally you will have to select the correct Horde version:
| Note |
|---|
| The currently required Horde version is the Horde-3.2 ALPHA release (and the associated applications) from 02. August 2007 |
Installation
Apache on the Kolab server
The following should work:
mkdir kolabtemp cd kolabtemp wget -r -l1 -nd --no-parent "http://ftp.belnet.be/packages/kolab/server/beta/kolab-server-2.2-beta-2/sources/" chmod u+x install-kolab.sh ./install-kolab.sh -F -H
The -H flag instructs the installer to include Horde in the installation.
Apache on a second Kolab server
There are no installation instruction for this yet.
Apache on an external web server
For the following you will need to work on a system that provides PHP and has a basic pear installation. You will need access to the command line of the system and the tools wget, tar, and patch in order to run the installation script.
Move to a location in the web root of your web server where you wish to install Horde. The script will install it in a folder called horde within that folder. Run the following commands:
wget http://kolab.org/cgi-bin/viewcvs-kolab.cgi/*checkout*/server/horde/external-horde.sh sh external-horde.sh
This prepares the installation to the point where the only thing left to do is setting the specific connection parameters for your Kolab server.
Specify the Kolab server
You will have to manually edit both files horde/config/kolab.php and horde/kronolith/config/kolab.php. Add the specific details for your Kolab server instead of the variables embedded in the @ signs (e.g. rewrite @@@fqdnhostname@@@ to kolab.mydomain.com).
Test the installation
Assuming that the Horde installation is now accessible under /horde you should test the installation by looking at the URL http://my-domain.com/horde/test.php. You should do the same for the applications imp, ingo, mnemo, nag, kronolith, passwd, and turba. The test script for each application can be found in a subdirectory with this name (e.g. http://my-domain.com/horde/imp/test.php for imp).
There should be no error messages or red warnings. If there are, you need to identify the source of the error and fix it. You can remove the test.php scripts afterwards.
Often there will be PEAR packages missing or Horde does not find your PEAR installation. If PEAR is available at a non standard location on your web server you can inform Horde about its location by extending the include path in horde/lib/core.php:
ini_set('include_path', dirname(__FILE__) . '/../../php/pear/' . PATH_SEPARATOR . dirname(__FILE__) . PATH_SEPARATOR . ini_get('include_path'));
If all looks good, you should be able to log in at http://my-domain.com/horde/
Configuration
General Horde settings
Horde can be configured using the web frontend within the Horde client itself. In order to have access to this administration frontend you need to designate one (or several if you wish) of your Kolab users as the administrator of the Horde system. Enter the mail address of the user in the file horde/config/conf.php by modifying the admins setting:
$conf['auth']['admins'] = array('admin@example.com');
You can enter several addresses by seperating them with a comma. Careful: Only enter the primary e-mail address and not an alias or the UID of the user.
Once this user logs in, he should have access to the administration frontend via the menu to the left. All further configurations can now be modified through the web frontend.
Known Limitations
General Problems and bug trackers
You should know that the Horde client for Kolab 2 is still in an experimental state. Often you'll find some basic functionality limited or even not working at all. You might want to visit the Kolab bug tracker and search for the topic "horde". In addition the Horde bug tracking system lists some of the existing problems. You can find those by starting a query entering "kolab" into the "Summary like" field. There is also a specific "Kolab" queue available. Many of the bugs in the Horde bug tracker are currently outdated though.
You should really take the time to read through the Kolab related "tickets" to avoid wasting time if you run into a problem later on.
Troubleshooting
If you have issues when installing Horde you should consult the Horde troubleshooting page.
