Kolab2 Installation - Horde

From Kolab Wiki

Jump to: navigation, search
The content of this page is outdated. It only applies to the very old Kolab 2.2. Horde is not even part of recent versions of Kolab.
If you have checked or updated this page and found the content to be suitable, please remove this notice. Alternatively, check docs.kolab.org for more recent information.

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 travel pulau tidung. 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.

PHP requirements
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.

Agen poker, Agen domino99, poker uang Asli, poker online uang asli

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.

Critical Information Directories
The directories tmp, log, and storage hold critical information that may not leak to people accessing your web server. These directories contain .htaccess files that will deny access as long as you have a configuration line like AllowOverride All for the install location in your apache configuration. If you want to improve the protection you should move these directories out of the horde-webmail directory to a path not within the document root. You will have to adapt the horde configuration files accordingly.


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.

Personal tools