6.0.0-git
2024-04-25

Diff for DebJessieHorde5 between 3 and 4

[[toc]]

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

**##red|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 INSTALL[http://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 harmless[http://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 INSTALL[http://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 INSTALL[http://www.horde.org/apps/ingo/docs/INSTALL] before proceeding)

{{pear install -a -B horde/ingo}}

----

+++ Install Turba (read INSTALL[http://www.horde.org/apps/turba/docs/INSTALL] before proceeding)

{{pear install -a -B horde/turba}}

----

+++ Install Kronolith (read INSTALL[http://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 INSTALL[http://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 ##green|Yes ## and some ##yellow|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.