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-tidy2. 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-xcache3. Registrar el canal de Horde Pear
pear channel-discover pear.horde.org4. Establecer el directorio de instalación de Horde
pear install horde/horde_role
pear run-scripts horde/horde_roleSe 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/webmailEsto 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 -pUna 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-installSe 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/horde9. 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_Getargs10. 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.111. 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 horde12. Reiniciar apache
/etc/init.d/apache2 restart13. 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.phpLa 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/passwdHorde 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.phpEl 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
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.