Horde Webmail · 7 min read · Sep 29, 2025

Instalar Horde 5 Webmail para ISPConfig en Debian Jessie a través de PEAR

Horde es un conjunto de herramientas de grupo que ofrece correo electrónico, calendario, gestión de tareas, gestión de contactos y más cosas. También ofrece SyncML y ActiveSync para sincronizar con tus teléfonos móviles u otro software. Puedes obtener más información sobre Horde en su página web: http://www.horde.org/

Este Howto asume que seguiste la instalación de ISPConfig 3 para Debian Jessie (Apache2, Bind, Dovecot) y todos los paquetes allí.

1. Instalar paquetes necesarios

apt-get install php5-sasl php5-intl libssh2-php php5-curl php-http php5-xmlrpc php5-geoip php5-ldap php5-memcache php5-memcached php5-tidy

2. Eliminar paquetes en conflicto

El paquete php5-xcache no funciona con Horde. En lugar de php5-xcache se puede usar alguna de las otras herramientas de caché como memcache.

apt-get remove php5-xcache

3. Registrar el canal de Horde Pear

pear channel-discover pear.horde.org

4. Establecer el directorio de instalación de Horde

pear install horde/horde_role  
pear run-scripts horde/horde_role

Se te hará la siguiente pregunta:

Instalación del sistema de archivos para la aplicación base de Horde: /var/www/horde

También puedes elegir otra carpeta para los archivos de horde accesibles por la web. Sin embargo, necesitarás ajustar la ruta en los siguientes pasos.

5. Instalar Horde Groupware Webmail Edition

pear install -a -B horde/webmail

Esto toma un tiempo y habrá algunos errores relacionados con paquetes de pear faltantes. Esos se solucionarán más tarde.

6. Crear base de datos MySQL

El script de instalación de Horde no creará una base de datos MySQL por sí mismo. Así que tenemos que crearla primero y también el usuario correspondiente.

Ingresa a la shell de MySQL como

mysql -u root -p

Una vez dentro, crea la base de datos y el usuario ‘horde’ con la contraseña ‘PASSWORD’. Si deseas cambiar el nombre de la base de datos, el nombre de usuario, cambia la información correspondiente. Establece tu propia contraseña, por supuesto.

CREATE DATABASE horde;  
GRANT ALL ON horde.* TO horde@localhost IDENTIFIED BY 'PASSWORD';  
FLUSH PRIVILEGES;

Sal de la shell de MySQL nuevamente

exit;

7. Ejecutar el script de instalación

webmail-install

Se te harán las siguientes preguntas:

¿Qué backend de base de datos deberíamos usar? mysql

Nombre de usuario para conectarse a la base de datos como: El nombre de usuario que estableciste en el paso anterior

Contraseña para conectarse: La contraseña que estableciste en el paso anterior

¿Cómo deberíamos conectarnos a la base de datos? unix

Ubicación del socket UNIX: Simplemente presiona [enter]

Nombre de la base de datos a usar: El nombre de la base de datos que estableciste en el paso anterior

Charset utilizado internamente: utf-8

¿Usar SSL para conectarse al servidor? 0 *

Autoridad de certificación a usar para la conexión SSL: Simplemente presiona [enter]

¿Dividir lecturas a un servidor diferente? false

Especificar un usuario de correo existente al que deseas otorgar permisos de administrador (opcional): [email protected]

  • Solo establece SSL en 1 si puedes proporcionar para cada dominio un certificado SSL.

Selecciona un usuario de correo electrónico existente. Ese usuario tendrá derechos de configuración desde dentro de Horde. Esto es necesario para crear archivos de configuración iniciales.

8. Crear carpeta phptmp personalizada y cambiar la propiedad de la carpeta horde al usuario de Apache

mkdir /var/www/horde/phptmp/  
chown -R www-data:www-data /var/www/horde

9. Agregar componentes adicionales de PEAR

pear install channel://pear.php.net/Console_GetoptPlus-1.0.0RC1  
pear install horde/Horde_ManageSieve  
pear install channel://pear.php.net/XML_Serializer-0.20.2  
pear install channel://pear.php.net/Date_Holidays-0.21.8  
pear install channel://pear.php.net/Text_LanguageDetect-0.3.0  
pear install pear/HTTP_Request2  
pear install channel://pear.php.net/Console_Color2-0.1.2  
pear install channel://pear.php.net/Numbers_Words-0.18.1  
pear install channel://pear.php.net/Image_Text-0.7.0  
pear install pear/Console_Getargs

10. Agregar calendarios de vacaciones locales de PEAR (opcional)

Ya hay varios calendarios de vacaciones disponibles en PEAR. Por defecto, no están instalados. Selecciona uno o más de los siguientes calendarios si deseas instalarlos. Esto habilita en Horde Kronolith (=calendario) para mostrar vacaciones para ese país. Por supuesto, también podrías agregar tu propio calendario personalizado a la instalación de PEAR.

pear install channel://pear.php.net/Date_Holidays_Australia-0.2.2  
pear install channel://pear.php.net/Date_Holidays_Austria-0.1.6  
pear install channel://pear.php.net/Date_Holidays_Brazil-0.1.2  
pear install channel://pear.php.net/Date_Holidays_Croatia-0.1.1  
pear install channel://pear.php.net/Date_Holidays_Czech-0.1.0  
pear install channel://pear.php.net/Date_Holidays_Denmark-0.1.3  
pear install channel://pear.php.net/Date_Holidays_Discordian-0.1.1  
pear install channel://pear.php.net/Date_Holidays_EnglandWales-0.1.5  
pear install channel://pear.php.net/Date_Holidays_Finland-0.1.2  
pear install channel://pear.php.net/Date_Holidays_Germany-0.1.2  
pear install channel://pear.php.net/Date_Holidays_Iceland-0.1.2  
pear install channel://pear.php.net/Date_Holidays_Ireland-0.1.3  
pear install channel://pear.php.net/Date_Holidays_Italy-0.1.1  
pear install channel://pear.php.net/Date_Holidays_Japan-0.1.3  
pear install channel://pear.php.net/Date_Holidays_Netherlands-0.1.4  
pear install channel://pear.php.net/Date_Holidays_Norway-0.1.2  
pear install channel://pear.php.net/Date_Holidays_PHPdotNet-0.1.2  
pear install channel://pear.php.net/Date_Holidays_Portugal-0.1.1  
pear install channel://pear.php.net/Date_Holidays_Romania-0.1.2  
pear install channel://pear.php.net/Date_Holidays_SanMarino-0.1.1  
pear install channel://pear.php.net/Date_Holidays_Serbia-0.1.0  
pear install channel://pear.php.net/Date_Holidays_Slovenia-0.1.2  
pear install channel://pear.php.net/Date_Holidays_Spain-0.1.4  
pear install channel://pear.php.net/Date_Holidays_Sweden-0.1.3  
pear install channel://pear.php.net/Date_Holidays_Turkey-0.1.1  
pear install channel://pear.php.net/Date_Holidays_Ukraine-0.1.2  
pear install channel://pear.php.net/Date_Holidays_UNO-0.1.3  
pear install channel://pear.php.net/Date_Holidays_USA-0.1.1  
pear install channel://pear.php.net/Date_Holidays_Venezuela-0.1.1

11. Crear /etc/apache2/conf-available/horde.conf con el siguiente contenido

Alias /Microsoft-Server-ActiveSync /var/www/horde/rpc.php
Alias /horde /var/www/horde

           Options +FollowSymLinks
           AllowOverride All
           Require all granted
           AddType application/x-httpd-php .php
           php_value include_path ".:/usr/share/php"
           php_value open_basedir "none"
           php_value upload_tmp_dir "/var/www/horde/phptmp/"

Luego habilita este nuevo fragmento de configuración de apache:

a2enconf horde

12. Reiniciar apache

/etc/init.d/apache2 restart

13. Editar /var/www/horde/config/conf.php y establecer

$conf['testdisable'] = false; 

14. Abrir la página de prueba de horde en cualquier dominio

http://www.domain.com/horde/test.php

La mayoría de la configuración debería estar bien ahora. Sin embargo, es posible que desees alterar algunas de las configuraciones predeterminadas de recolección de basura de php.

Vuelve a editar el /var/www/horde/conf/conf.php y desactiva la página de prueba

$conf['testdisable'] = true;

15. Arreglar la opción BaseRewrite

La configuración predeterminada no reconocerá correctamente la opción BaseRewrite y hará que Nag falle al agregar/editar entradas. Para solucionar esto, necesitas editar el archivo /var/www/horde/.htaccess y buscar


    RewriteEngine On
    RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteCond   %{REQUEST_FILENAME}  !-d
    RewriteCond   %{REQUEST_FILENAME}  !-f
    RewriteRule ^(.*)$ rampage.php [QSA,L]

y reemplazar todo el bloque con esto


    RewriteEngine On
    RewriteBase /horde
    RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteCond   %{REQUEST_FILENAME}  !-d
    RewriteCond   %{REQUEST_FILENAME}  !-f
    RewriteRule ^(.*)$ rampage.php [QSA,L]

Nota: Cuando actualices Horde, este archivo podría ser sobrescrito. En ese caso, simplemente edítalo nuevamente.

16. Permitir a los usuarios cambiar su contraseña desde Horde (opcional)

Horde puede habilitar a las personas para cambiar su contraseña de ISPConfig desde dentro de Horde. Para esto, Horde proporciona un complemento Passwd que necesita ser configurado para trabajar con ISPConfig.

Instala el complemento y cámbiale la propiedad al usuario de Apache:

pear install -a -B horde/passwd  
chown -R www-data:www-data /var/www/horde/passwd

Horde también proporciona una forma sencilla de alterar archivos de configuración con valores locales. Esto se hace copiando un archivo de configuración existente (por ejemplo, conf.php) a conf.local.php. Esto puede ser útil si deseas alterar la configuración de preferencias predeterminadas de algunas aplicaciones de Horde, por ejemplo, usar por defecto un reloj de 24 horas. Así puedes proporcionar una configuración inicial homogénea para nuevos usuarios. Lo mismo se aplica al complemento Passwd. Al usar un archivo de configuración local, nos aseguramos de que una futura actualización de horde no sobrescriba nuestras configuraciones.

cp -a /var/www/horde/passwd/config/backends.php /var/www/horde/passwd/config/backends.local.php

El comando anterior es una línea.

Ahora edita el archivo /var/www/horde/passwd/config/backends.local.php y busca

$backends['sql'] = array (
  'disabled' => false,
  'name' => 'SQL Server',
  [...]
    // 'query_lookup' => 'SELECT user_pass FROM horde_users WHERE user_uid = %u',
    // 'query_modify' => 'UPDATE horde_users SET user_pass = %e WHERE user_uid = %u',
  ),
);

y reemplaza todo el bloque con esto

$backends['sql'] = array (
  'disabled' => false,
  'name' => 'SQL Server',
  'preferred' => '',
  'policy' => array(
    'minLength' => 7,
    'maxLength' => 64,
    'maxSpace' => 0,
    'minNumeric' => 1,
  ),
  'driver' => 'Sql',
  'params' => array(
    'phptype' => 'mysql',
    'hostspec' => 'localhost',
    'username' => 'root',
    'password' => '***',
    'encryption' => 'crypt-md5',
    'database' => 'ISPCONFIG_DATABASE',
    'table' => 'mail_user',
    'user_col' => 'email',
    'pass_col' => 'password',
    'show_encryption' => false
    // Las siguientes dos configuraciones te permiten especificar consultas personalizadas para
    // funciones de búsqueda y modificación si se necesitan realizar funciones especiales.
    // En lugares donde se necesita un nombre de usuario o una contraseña,
    // usa esta referencia de marcador de posición:
    // %d -> se sustituye con el dominio
    // %u -> se sustituye con el usuario
    // %U -> se sustituye con el usuario sin la parte del dominio
    // %p -> se sustituye con la contraseña en texto plano
    // %e -> se sustituye con la contraseña encriptada
    //
    // 'query_lookup' => 'SELECT user_pass FROM horde_users WHERE user_uid = %u',
   // 'query_modify' => 'UPDATE horde_users SET user_pass = %e WHERE user_uid = %u',
  ),
);

Por supuesto, reemplaza la contraseña con la contraseña de root de MySQL y cambia el nombre de la base de datos al nombre de tu base de datos de ISPConfig. Una vez que esto esté cambiado, puedes usar la herramienta Passwd para cambiar la contraseña desde dentro de Horde.

La sección de políticas te permite establecer varias opciones sobre cómo debe ser la contraseña. En esta configuración, debe tener al menos 7 caracteres y debe contener al menos 1 número y no espacios en blanco. Revisa el principio de este archivo para encontrar qué otras opciones hay.

17. Cosas finales

Una vez que hayas realizado todos los cambios, inicia sesión con el usuario administrativo de horde. El usuario de correo electrónico que configuraste durante la configuración del script webmail-install. Una vez que hayas iniciado sesión, ve a la sección de administración y luego a la configuración de horde y crea todas las configuraciones necesarias. Para comenzar, puedes usar el botón que simplemente las crea todas o puedes optar por revisar la configuración de cada aplicación de horde tú mismo y aplicar los cambios que desees.

Horde también ofrece más aplicaciones. Visita http://www.horde.org/apps para ver qué hay.

Horde también ofrece un feed RSS para que te notifiquen sobre nuevas versiones y para actualizar, consulta aquí: http://www.horde.org/apps/webmail/docs/UPGRADING

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.