, , ,

1. Install necessary packages

# apt-get install php5-sasl php5-intl libssh2-php php5-curl php-http php5-xmlrpc php5-geoip php5-ldap php5-memcache php5-memcached php5-tidy

2. Register the Horde Pear channel

# pear channel-discover pear.horde.org

3. Set the Horde installation directory

# pear install horde/horde_role
# pear run-scripts horde/horde_role

Filesystem installation for base Horde application: /var/www/horde

4. Add additional PEAR components

# pear install channel://pear.php.net/SOAP-0.13.0
# pear install pear/MDB2#mysql
# pear install channel://pear.php.net/HTTP_WebDAV_Server-1.0.0RC7
# pear install channel://pear.php.net/XML_Serializer-0.20.2
# pear install channel://pear.php.net/Date_Holidays-0.21.6
# pear install Net_LDAP
# pear install channel://pear.php.net/Text_CAPTCHA-0.4.3
# pear install pear/HTTP_Request2
# pear install channel://pear.php.net/Console_Color2-0.1.1

5. Create custom phptmp folder and chown horde folder to Apache user

# mkdir /var/www/horde/phptmp/
# chown -R www-data:www-data /var/www/horde

6. Create MySQL Database

# mysql -u root -p
GRANT ALL ON horde.* TO horde@localhost IDENTIFIED BY ‘PASSWORD’;

7. Install Horde Groupware Webmail Edition

# pear install -a -B horde/webmail
# webmail-install

You’ll be asked the following questions:

What database backend should we use? mysql
Request persistent connections? 0
Username to connect to the database as: The username you set in the previous step
Password to connect with: The password you set in the previous step
How should we connect to the database? unix
Location of UNIX socket: Just press [enter]
Database name to use: The database name you set in the previous step
Internally used charset: utf-8
Use SSL to connect to the server: 0
Certification Authority to use for SSL connection: Just press [enter]
Split reads to a different server? false
Filesystem installation for base Horde application: /var/www/horde
Specify an existing mail user who you want to give administrator permissions (optional): user@fakrul.name

8. Create /etc/apache2/conf.d/horde.conf with the following content

# vi /etc/apache2/conf.d/horde.conf
Alias /Microsoft-Server-ActiveSync /var/www/horde/rpc.php
Alias /horde /var/www/horde

Options +FollowSymLinks
AllowOverride None
order allow,deny
allow from all
php_value include_path “.:/usr/share/php”
php_value open_basedir “none”
php_value upload_tmp_dir “/var/www/horde/phptmp/”

9. Edit /var/www/horde/conf/conf.php and set

# vi /var/www/horde/conf/conf.php
$conf[‘testdisable’] = false; http://mail.fakrul.name/horde/test.php

10. Resolve Default Identity issue. Edit horde/imp/config/backends.php:

$servers[‘imap’] = array(
‘disabled’ => false,
‘name’ => ‘IMAP Server’,
‘hostspec’ => ‘localhost’,
‘hordeauth’ => false,
‘protocol’ => ‘imap’,
‘port’ => 143,
‘secure’ => ‘tls’,
‘maildomain’ => ‘fakrul.name’, //change the domain name.
‘cache’ => false,

[source: http://www.howtoforge.com/install-horde-4-webmail-for-ispconfig-on-debian-squeeze-through-pear]