Last Modified 2015-10-28 by Michael Rubinsky

(If you are only going to install the basic groupware and/or email applications as this guide shows, you should consider installing the Webmail bundle - it's much less work and takes care of most of the tasks on this page. Ed.)

**Instructions for installing Horde 5, IMP and others Horde applications, with Pear on Debian (Jessie) with Apache2, PHP5 and Mysql.

Last updated 2015-10-28

First steps and assumptions

Debian is installed with basic, web server and ssh at a minimum.

SMTP, IMAP and Apache servers are properly configured and working.

All services are on the same host.

Update your system

aptitude update (and aptitude safe-upgrade if necessary)
pear upgrade PEAR

Install Mysql and create Horde database

aptitude install mysql-server mysql-common mysql-client
mysql --user=root -p

  • Database=horde, user=horde, password=PasswordToHordeDatabase

create database horde;
grant ALL on horde.* to 'horde' identified by 'PasswordToHordeDatabase';

Install PHP5

aptitude install php5 php5-common php5-imap php5-mysql php-pear php5-gd php5-tidy php5-imagick php5-mcrypt php5-intl php5-memcache php5-geoip php-gettext imagemagick tidy gettext php5-curl

Install Horde (read INSTALL7 before proceeding)

pear channel-discover pear.horde.org
pear install horde/horde_role
pear run-scripts horde/horde_role
Filesystem location for the base Horde application : /var/www/horde
pear install -a -B horde/horde


  • Here you will get some "Failed to download" notices. Take note of what has failed, you MAY need to install them.
  • You will get some warnings too, These maybe harmless8.
  • At the time of these instructions those were:

pecl upgrade -a -B channel://pecl.php.net/sasl-0.1.0
pear upgrade -a -B channel://pear.php.net/Text_LanguageDetect-0.3.0
pecl upgrade -a -B channel://pecl.php.net/idn-0.2.0
pecl upgrade -a -B channel://pecl.php.net/ssh2-0.12
pear upgrade -a -B channel://pear.php.net/SOAP-0.13.0
pear upgrade -a -B channel://pear.php.net/XML_Serializer-0.20.2
pear upgrade -a -B channel://pear.php.net/Console_Color2-0.1.2
pear upgrade -a -B channel://pecl.php.net/msgpack-0.5.7
pear upgrade -a -B channel://pear.php.net/Numbers_Words-0.18.1
pear upgrade -a -B channel://pear.php.net/Image_Text-0.7.0

Install IMP (read INSTALL9 before proceeding)

pear install -a -B horde/imp
Optional: pear upgrade -a -B channel://phpseclib.sourceforge.net/File_ASN1

Install Ingo (read INSTALL10 before proceeding)

pear install -a -B horde/ingo

Install Turba (read INSTALL11 before proceeding)

pear install -a -B horde/turba

Install Kronolith (read INSTALL12 before proceeding)

pear install -a -B horde/kronolith
pear upgrade -a -B channel://pear.php.net/Date_Holidays-0.21.8
Optional: Install your country's holidays, if available.

Install Mnemo (read INSTALL13 before proceeding)

pear install -a -B horde/mnemo

Setup and configure Horde

chown -R www-data /var/www/horde

  • Optional: Setup for Horde logging.

mkdir /var/log/horde
touch /var/log/horde/horde5.log
chown -R www-data /var/log/horde/

  • Setup Apache2 for Horde.

First time configuration

cd /var/www/horde/config
cp -p conf.php.dist conf.php

* Use your browser to open your_Horde_site. You don't need to login, you will be using as "Administrator".
* Configure just database, optional logging (if so, do it before database).
* Gear -> Configuration -> Horde -> Database tag
* SQL Database Settings
* phptype -> Mysql (mysqli)
* username -> horde
* password -> PasswordToHordeDatabase
* database -> horde
* Click on "Generate Horde Configuration"

As your database is empty you will get an error and crash. Don't worry!

Setup horde database


Configure Horde and applications

* Use your browser to open your_Horde_site.
* Update all SQL DB schema
* Take a look at all Horde's tabs and configure all applications (Imp, Ingo, Turba, Kronolith, Mnemo and Nag).

Note: Do not click on the exit icon (logout), just close the browser. We still need to get back without login (Administrator).

Take a look at test.php

* Enable test (Horde configuration -> General -> uncheck testdisable).
* Click on "Generate Horde Configuration"

Note: Do not click on the exit icon (logout), just close the browser. We stiil need to get back without login (Administrator).

* Use your browser to open your_Horde_site/test.php.
* You should see many Yes and some yellows. You decide if you need those yellows.
* Special care to PHP memory_limit, session.gc_divisor, session.gc_probability, upload_max_filesize and post_max_size.
* If you are OK with test, Horde configuration -> General -> check testdisable.
* Click on "Generate Horde Configuration"

Consider using https

* Setup Apache to use Horde via https
* Horde configuration -> General -> URL Settings -> use_ssl -> "Assume we are using SSL and allways generate https URLs."

Note: Do not click on the exit icon (logout), just close the browser. We still need to get back without login (Administrator).

Setup authentication and resume Horde configuration

* Horde configuration -> Authentication -> Authentication Settings
* admins: Comma separated list of logins of those who will administer Horde. Your login should be on the list.
* driver: "Let a Horde application handle authentication"
* app: imp
* Click on "Generate Horde Configuration".


* Now click on the exit icon (logout) and you should see the login page
* Login and check that you can use and configure Horde applications.