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