Kolab2 Installation - Horde
From Kolab Wiki
Horde is the web-based groupware client for the Kolab server. It was introduced in Kolab 2.2 and 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. Horde 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 MUST be present. |
| sqlite extensions | PHP provides [1] and these functions can be compiled into PHP. These MUST 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 you will need to have git installed.
Installation
Apache on the Kolab server
Horde is automatically included in the server if you install Kolab-Server-2.2.1. There is no need for any further action.
Just access horde via http://example.com/client. Also checkout Web Client SyncML.
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 with the modules as described above. You will need access to the command line of the system and the tools git.
Move to a location in the web root of your web server where you wish to install Horde. Run the following commands:
git clone git://github.com/wrobel/horde-release.git cd horde-release git checkout -b kolab origin/t/KOLAB
The first command creates the directory horde-release. This one contains the actual horde installation within the directory horde-webmail. Assuming you did the steps above in the document root of your apache server you could now access the installation via
http://example.com/horde-release/horde-webmail.
If you don't like that path you should define an alias for the location. The following demonstrates how the apache configuration for your installation might look like:
Alias /horde "/var/www/horde-release/horde-webmail" <Directory "/var/www/horde-release/horde-webmail"> SSLRequireSSL Options FollowSymLinks AllowOverride All Order allow,deny Allow From all AddType application/x-httpd-php .php DirectoryIndex index.php </Directory>
Specify the Kolab server
You will have to manually edit both files horde-release/horde-webmail/config/kolab.local.php and horde-release/horde-webmail/kronolith/config/kolab.local.php. Look at the templates in the corresponding example files horde-release/horde-webmail/config/kolab.php and horde-release/horde-webmail/kronolith/config/kolab.php
If you already have another horde installation (preferably from an OpenPKG based Kolab Server installation) you may copy the kolab.php configuration from this installation:
cp /kolab/var/kolab/www/client/config/kolab.php horde-webmail/config/kolab.local.php cp /kolab/var/kolab/www/client/kronolith/config/kolab.php horde-webmail/kronolith/config/kolab.local.php
If you copied these files you need to ensure that the setting $conf['cookie']['path'] within horde-webmail/config/kolab.local.php has the correct value. It needs to match the base path of your horde installation as it is accessible via the web. So if you access the application using
http://example.com/horde-release/horde-webmail
you would need to set
$conf['cookie']['path'] = '/horde-release/horde-webmail';
within horde-webmail/config/kolab.local.php.
Create the sqlite database
Now we move into the directory horde-webmail and run the following to create the sqlite database:
cd horde-webmail sqlite storage/horde.db < scripts/sql/groupware.sql
Set permissions
To complete the installation some locations have to be made accessible to the web server. The following assumes your web server runs as kolab-n. This is the default from the Kolab-Server OpenPKG based installation but often it will be apache or www.
chown -R kolab-n\: log tmp storage chmod 644 config/kolab.local.php kronolith/config/kolab.local.php
The last line just ensures that the configuration files you created are readable. This might already be the case.
Test the installation
Assuming that the Horde installation is now accessible under /horde-release/horde-webmail you should test the installation by looking at the URL http://example.com/horde-release/horde-webmail/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://example.com/horde-release/horde-webmail/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.
If all looks good, you should be able to log in at http://example.com/horde-release/horde-webmail/
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 "web client". 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.
