6.0.0-beta1
7/4/25
Last Modified 5/12/05 by Jan Schneider

Horde Administrator's FAQ

Obtaining and Installing Prerequisite Packages

Table of Contents

About this FAQ section

This section of the FAQ addresses issues that routinely come up while installing programs and packages upon which Horde and its components depend. This is not a step-by-step guide to installing any of the components. In other words, you'll still need to read the installation instructions (usually in README and INSTALL) of the prerequisite packages you need to install.

General prerequisites

What does Horde need to run?

Horde itself requires the following:

  • A Web server, such as Apache
    • PHP, preferably version 4.
      • Horde 2.0 requires PHP 4.1.0, or PHP 4.0.6 with a manually upgraded PEAR.
      • Horde 2.1 requires PHP 4.1.0 to 4.2.x, with at least 4.1.2 recommended
      • Horde 2.2 require version 4.1.0 or better, with 4.3.0 recommended
      • Horde 3.x and the CVS code requires version 4.3.0 or better.
      • PHP 4.2.1 and above have missing modules from PEAR, which must be manually installed. See horde/docs/INSTALL for more information.
      • PHP 4.2.3 has some problems with the imap routines, and may cause problems. We recommend you not use 4.2.3
    • Horde 2.0 and higher require the PHP extensions gettext and xml.
    • Horde 3.0 and higher require the PHP extensions gettext, xml, and domxml.

Horde can use the following, although they are not required:

  • A secure, SSL-enabled webserver (such as Apache with mod_ssl)
    • One of the following databases:
    • An LDAP directory.
    • The PHP mcrypt extension (will allow more secure encryption)

It should be noted that while a database is not technically required, it is strongly recommended. While Horde can track its sessions in shared memory, development takes place on a system with a database, and the majority of Horde users do the same.

Does Horde work with PHP5?

[Horde 2.x]: No.

[Horde 3.x]: Yes.

For a detailed answer read this article.

How do I build Apache with PHP?

The following is not meant to spare you from having to read the installation instructions that come with PHP and Apache, but since some of the steps aren't exactly intuitive, the general procedure is as follows:

  1. If your Horde components require PHP support for specific packages (such as IMAP or database support), obtain and install those packages.
    1. Obtain and untar Apache and PHP.
    2. Move into the apache directory and run ./configure once. Don't worry about arguments for now; this run is just to put things that PHP requires in place.
    3. Move to the php directory and run ./configure --help. Make sure that you note all of the options that your components need.
    4. Run ./configure. A basic configuration with MySQL and IMAP support would be


./configure --with-apache=../apache-1.3.12 \ 

            --with-mysql=/usr/local/mysql \ 

            --with-imap=../imap-4.7c 

where ../apache-1.3.12 is your Apache source directory, and ../imap-4.7c is your UW-IMAP source directory, and /usr/local/mysql is your MySQL? installation directory.

  1. Run make install. If all is successful, PHP is installed and ready to go.
    1. Change back to the Apache directory and run ./configure --help. Make sure that you note all of the options your local configuration needs.
    2. Run ./configure. A basic configuration with PHP version 4 would be


./configure --activate-module=src/modules/php4/libphp4.a

Note that the file src/modules/php4/libphp4.a does not exist yet. While that seems wrong, that's how it's supposed to work, and it will be built when Apache builds.

  1. Run make and make install. You now have a PHP-enabled Apache installed.

Can I install Horde's prerequisites from RPMs?

In order to provide a seamless RPM-based installation of Horde, the Horde developers have put together customized PHP RPMs with the appropriate --with configure options and with any necessary patches already applied. Those RPMs are available on the Horde FTP site. A thorough explanation of an RPM-based Horde prerequisite installation is available in the README file in the RPMs directory on ftp.horde.org. RPMs for PHP version 4 should be appearing soon.

Do I really need gettext support?

[Horde 1.x]: Horde 1.x and IMP 2.x do not require gettext support.

[Horde 2.x]: At a minimum, Horde 2.x and its applications require gettext support in PHP. Horde will not run without gettext support in php. In addition, if you wish to have the messages translated, then you will require working gettext support in the operating system and the desired locales installed for the languages you want to support. Some operating system specific notes follow.

Debian Linux: You can configure the locale support with the command dpkg-reconfigure locales.

(In the rare case that the above command returns an error about locales not being installed, you should use the command apt-get install locales to install and configure the locales).

RedHat Linux: You will need the RPMS gettext and php-gettext installed.

With RedHat 8.0 and above, if your only getting English no matter what language you select, try re-installing glibc-common. You can do this with a command such as: rpm -Uhv --force glibc-common-2.2.93-5.i386.rpm

Slackware Linux: Make sure you have the glibc-i18n package installed. Make sure in /etc/apache/php.ini you set register_argc_argv = On (it's Off by default) and that you enable the gettext extension by setting adding or uncommenting extension=gettext.so also (also not enabled by default).

SuSE Linux: Make sure you have the glibc-locale package installed. You can install it via the yast configuration tool.

Solaris: On Solaris 7, you must have installed the Partial Locales (SUNWploc) and Supplementary Partial Locales (SUNWploc1) packages. On Solaris 8, you must install the local packages required for the locales you desire (for example, you may need to install SUNWweuos for Western European locales or SUNWmeaos for Middle Eastern locales). Horde assumes that the Sun Solaris gettext implementation is in place. If you have installed the GNU gettext instead or in addition, you may have problems. In particular you must make sure that your web server software and php software are linked to the same version of gettext (e.g. libintl.so). See the file /horde/po/README for more information. (Since Horde 2.2 this information is instead located in /horde/docs/TRANSLATIONS)

On some systems, in particular on Solaris, you will need to rebuild the Horde locale files. You may need to restart the web server after rebuilding the locale files in order for the web server to see the new files.

For more information, see the file /horde/docs/TRANSLATIONS.