6.0.0-beta13
4/10/26

(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';
    quit

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 INSTALLhttp://www.horde.org/apps/horde/docs/INSTALL 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

Notes

  • 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 harmlesshttp://marc.info/?l=horde&m=138351291524461&w=2.
  • 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 INSTALLhttp://www.horde.org/apps/imp/docs/INSTALL before proceeding)

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

Install Ingo (read INSTALLhttp://www.horde.org/apps/ingo/docs/INSTALL before proceeding)

pear install -a -B horde/ingo

Install Turba (read INSTALLhttp://www.horde.org/apps/turba/docs/INSTALL before proceeding)

pear install -a -B horde/turba

Install Kronolith (read INSTALLhttp://www.horde.org/apps/kronolith/docs/INSTALL 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 INSTALLhttp://www.horde.org/apps/mnemo/docs/INSTALL 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

horde-db-migrate

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".

Done!

  • 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.