Installation · 8 min read · Sep 29, 2025

Installer Horde 5 Webmail pour ISPConfig sur Debian Jessie via PEAR

Horde est une suite de groupware qui offre des services de messagerie, calendrier, gestion des tâches, gestion des contacts et bien plus encore. Il propose également SyncML et ActiveSync pour synchroniser avec vos téléphones portables ou d’autres logiciels. Vous pouvez en savoir plus sur Horde sur leur page web : http://www.horde.org/

Ce guide suppose que vous avez suivi l’installation d’ISPConfig 3 pour Debian Jessie (Apache2, Bind, Dovecot) et tous les paquets nécessaires.

1. Installer les paquets nécessaires

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. Supprimer les paquets conflictuels

Le paquet php5-xcache ne fonctionne pas avec Horde. Au lieu de php5-xcache, l’un des autres outils de cache peut être utilisé, comme memcache.

apt-get remove php5-xcache

3. Enregistrer le canal Pear de Horde

pear channel-discover pear.horde.org

4. Définir le répertoire d’installation de Horde

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

Vous serez invité à répondre à la question suivante :

Installation du système de fichiers pour l’application de base Horde : /var/www/horde

Vous pouvez également choisir un autre dossier pour les fichiers horde accessibles via le web. Cependant, vous devrez ajuster le chemin dans les étapes suivantes.

5. Installer Horde Groupware Webmail Edition

pear install -a -B horde/webmail

Cela prend un certain temps et il y aura quelques erreurs concernant des paquets pear manquants. Ceux-ci seront corrigés plus tard.

6. Créer une base de données MySQL

Le script d’installation de Horde ne créera pas de base de données MySQL par lui-même. Nous devons donc la créer d’abord ainsi que l’utilisateur correspondant.

Entrez dans le shell MySQL en tant que

mysql -u root -p

Une fois entré, créez la base de données et l’utilisateur ‘horde’ avec le mot de passe ‘PASSWORD’. Si vous souhaitez modifier le nom de la base de données, le nom d’utilisateur, changez les informations correspondantes. Mettez bien sûr votre propre mot de passe.

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

Quittez à nouveau le shell MySQL

exit;

7. Exécuter le script d’installation

webmail-install

Vous serez invité à répondre aux questions suivantes :

Quel backend de base de données devrions-nous utiliser ? mysql

Nom d’utilisateur pour se connecter à la base de données : Le nom d’utilisateur que vous avez défini à l’étape précédente

Mot de passe pour se connecter : Le mot de passe que vous avez défini à l’étape précédente

Comment devrions-nous nous connecter à la base de données ? unix

Emplacement du socket UNIX : Appuyez simplement sur [entrée]

Nom de la base de données à utiliser : Le nom de la base de données que vous avez défini à l’étape précédente

Charset utilisé en interne : utf-8

Utiliser SSL pour se connecter au serveur : 0 *

Autorité de certification à utiliser pour la connexion SSL : Appuyez simplement sur [entrée]

Diviser les lectures sur un serveur différent ? false

Spécifiez un utilisateur de messagerie existant à qui vous souhaitez donner des permissions d’administrateur (facultatif) : [email protected]

  • Ne définissez SSL sur 1 que si vous pouvez fournir pour chaque domaine un certificat SSL.

Sélectionnez un utilisateur de messagerie existant. Cet utilisateur a alors des droits de configuration depuis Horde lui-même. Cela est nécessaire pour créer des fichiers de configuration initiaux.

8. Créer un dossier phptmp personnalisé et changer le propriétaire du dossier horde à l’utilisateur Apache

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

9. Ajouter des composants PEAR supplémentaires

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. Ajouter des calendriers de vacances PEAR locaux (facultatif)

Il existe plusieurs calendriers de vacances déjà disponibles dans PEAR. Par défaut, ils ne sont pas installés. Sélectionnez un ou plusieurs des calendriers suivants si vous souhaitez les installer. Cela permet à Horde Kronolith (=calendrier) d’afficher les vacances pour ce pays. Bien sûr, vous pouvez également ajouter votre propre calendrier personnalisé à l’installation 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. Créer /etc/apache2/conf-available/horde.conf avec le contenu suivant

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/"

Ensuite, activez ce nouveau fragment de configuration apache :

a2enconf horde

12. Redémarrer apache

/etc/init.d/apache2 restart

13. Modifier /var/www/horde/config/conf.php et définir

$conf['testdisable'] = false; 

14. Ouvrir la page de test de horde sur n’importe quel domaine

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

La plupart des paramètres devraient être corrects maintenant. Cependant, vous voudrez peut-être modifier certains des paramètres par défaut de collecte des déchets php.

Modifiez à nouveau le fichier /var/www/horde/conf/conf.php et désactivez la page de test

$conf['testdisable'] = true;

15. Corriger l’option BaseRewrite

La configuration par défaut ne reconnaîtra pas correctement l’option BaseRewrite et empêche Nag d’ajouter/modifier des entrées. Pour corriger cela, vous devez modifier le fichier /var/www/horde/.htaccess et rechercher


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

et remplacer tout le bloc par ceci


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

Remarque : Lorsque vous mettez à jour Horde, ce fichier peut être écrasé. Dans ce cas, éditez-le à nouveau.

16. Permettre aux utilisateurs de changer leur mot de passe depuis Horde (facultatif)

Horde peut permettre aux gens de changer leur mot de passe ISPConfig depuis Horde. Pour cela, Horde fournit un addon Passwd qui doit être configuré pour fonctionner avec ISPConfig.

Installez l’addon et changez le propriétaire à l’utilisateur Apache :

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

Horde fournit également un moyen simple de modifier les fichiers de configuration avec des valeurs locales. Cela se fait en copiant un fichier de configuration existant (par exemple, conf.php) vers conf.local.php. Cela peut être utile si vous souhaitez modifier les paramètres de préférence par défaut de certaines applications Horde, par exemple utiliser par défaut une horloge de 24h. Ainsi, vous pouvez fournir une configuration de départ homogène pour les nouveaux utilisateurs. Il en va de même pour l’addon Passwd. En utilisant un fichier de configuration local, nous nous assurons qu’une future mise à jour de horde ne remplacera pas nos paramètres.

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

La commande ci-dessus est une seule ligne.

Maintenant, modifiez le fichier /var/www/horde/passwd/config/backends.local.php et recherchez

$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',
  ),
);

et remplacez tout le bloc par ceci

$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
    // Les deux paramètres suivants vous permettent de spécifier des requêtes personnalisées pour
    // les fonctions de recherche et de modification si des fonctions spéciales doivent être
    // exécutées. Dans les endroits où un nom d'utilisateur ou un mot de passe doit être
    // utilisé, faites référence à ce placeholder :
    // %d -> est remplacé par le domaine
    // %u -> est remplacé par l'utilisateur
    // %U -> est remplacé par l'utilisateur sans la partie domaine
    // %p -> est remplacé par le mot de passe en clair
    // %e -> est remplacé par le mot de passe crypté
    //
    // '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',
  ),
);

Bien sûr, remplacez le mot de passe par le mot de passe root MySQL et changez le nom de la base de données par le nom de votre base de données ISPConfig. Une fois cela changé, vous pouvez utiliser l’outil Passwd pour changer le mot de passe depuis Horde.

La section policy vous permet de définir diverses options sur l’apparence du mot de passe. Dans cette configuration, il doit comporter au moins 7 caractères et contenir au moins 1 chiffre et aucun espace. Vérifiez le début de ce fichier pour trouver d’autres options disponibles.

17. Dernières choses

Une fois que vous avez effectué tous les changements, connectez-vous avec l’utilisateur administratif de horde. L’utilisateur de messagerie que vous avez défini lors de la configuration du script webmail-install. Une fois connecté, allez dans la section d’administration puis dans la configuration de horde et créez toutes les configurations nécessaires. Pour commencer, vous pouvez utiliser le bouton qui les crée toutes ou vous pouvez choisir de revoir la configuration de chaque application horde vous-même et appliquer les modifications que vous souhaitez.

Horde propose également d’autres applications. Visitez http://www.horde.org/apps pour voir ce qui est disponible.

Horde propose également un flux RSS afin que vous soyez informé des nouvelles versions et pour les mises à jour, consultez ici : http://www.horde.org/apps/webmail/docs/UPGRADING

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.