Horde est une suite collaborative qui propose des e-mails, un calendrier, des tâches, la gestion des contacts et bien plus encore. Il propose également SyncML et ActiveSync pour se 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 packages.
1. Installez les packages 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 packages en conflit
Le package 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. Enregistrez la chaîne Horde Pear
pear channel-discover pear.horde.org
4. Définissez le répertoire d'installation de Horde
pear install horde/horde_role
pear run-scripts horde/horde_role
La question suivante vous sera posée :
Installation du système de fichiers pour l'application Horde de base :/var/www/horde
Vous pouvez également choisir un autre dossier pour les fichiers horde accessibles sur le Web. Cependant, vous devrez alors 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 des erreurs concernant les paquets de poire 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 d'abord le créer, ainsi que l'utilisateur correspondant.
Entrez 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, modifiez les informations correspondantes. Définissez votre propre mot de passe bien sûr.
CREATE DATABASE horde;
GRANT ALL ON horde.* TO [email protected] IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
Quittez à nouveau le shell MySQL
exit;
7. Exécuter le script d'installation
webmail-install
Les questions suivantes vous seront posées :
Quel backend de base de données devrions-nous utiliser ? mysql
Nom d'utilisateur pour se connecter à la base de données en tant que :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 se 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
Jeu de caractères 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 autre serveur ? faux
Spécifiez un utilisateur de messagerie existant auquel vous souhaitez accorder des autorisations d'administrateur (facultatif) :[email protected] **
* Ne définissez SSL sur 1 que si vous pouvez fournir un certificat SSL pour chaque domaine.
** Sélectionnez un utilisateur de messagerie existant. Cet utilisateur a alors des droits de configuration depuis Horde lui-même. Ceci est nécessaire pour créer les fichiers de configuration initiaux.
8. Créez un dossier phptmp personnalisé et un dossier chown horde pour 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)
Plusieurs calendriers de vacances sont 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 jours fériés pour ce pays. Bien sûr, vous pouvez également ajouter votre propre calendrier personnalisé à l'installation 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. Créez /etc/apache2/conf-available/horde.conf avec le contenu suivant
Alias /Microsoft-Server-ActiveSync /var/www/horde/rpc.php Alias /horde /var/www/horde <Directory /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/" </Directory>
Activez ensuite ce nouvel extrait de configuration apache :
a2enconf horde
12. Redémarrez apache
/etc/init.d/apache2 restart
13. Modifiez /var/www/horde/config/conf.php et définissez
$conf['testdisable'] = false;
14. Ouvrez la page de test de la horde sur n'importe quel domaine
http://www.domain.com/horde/test.php
La plupart des paramètres devraient être ok maintenant. Cependant, vous voudrez peut-être modifier certains éléments de récupération de place par défaut de php.
Rééditez le /var/www/horde/conf/conf.php et désactivez la page de test
$conf['testdisable'] = true;
15. Corrigez l'option BaseRewrite
La configuration par défaut ne reconnaîtra pas correctement l'option BaseRewrite et empêchera Nag d'ajouter/modifier des entrées. Pour résoudre ce problème, vous devez modifier le fichier /var/www/horde/.htaccess et rechercher
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ rampage.php [QSA,L] </IfModule>
et remplacez tout le bloc par ceci
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /horde RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ rampage.php [QSA,L] </IfModule>
Avis : Lorsque vous mettez à jour Horde, ce fichier peut être écrasé. Dans ce cas, modifiez-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 ISPConig depuis Horde. Pour cela, Horde fournit un addon Passwd qui doit être configuré pour fonctionner avec ISPConfig
Installez l'addon et transférez-le à 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 ex. utiliser par défaut une horloge 24h. Vous pouvez ainsi 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 sur une ligne.
Modifiez maintenant 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 // The following two settings allow you to specify custom queries for // lookup and modify functions if special functions need to be // performed. In places where a username or a password needs to be // used, refer to this placeholder reference: // %d -> gets substituted with the domain // %u -> gets substituted with the user // %U -> gets substituted with the user without a domain part // %p -> gets substituted with the plaintext password // %e -> gets substituted with the encrypted password // // '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 en votre nom de base de données ISPConfig. Une fois que cela est changé, vous pouvez utiliser l'outil Passwd pour changer le mot de passe depuis Horde.
La section politique vous permet de définir diverses options pour ce à quoi le mot de passe doit ressembler. Dans cette configuration, il doit comporter au moins 7 caractères et contenir au moins 1 chiffre et aucun espace blanc. Consultez le début de ce fichier pour découvrir les autres options disponibles.
17. Dernières choses
Une fois que vous avez effectué toutes les modifications, connectez-vous avec l'utilisateur administratif pour horde. L'utilisateur de messagerie que vous avez défini lors de la configuration du script d'installation de la messagerie Web. Une fois connecté, allez dans la section administration puis configuration de la horde et créez toutes les configurations nécessaires. Pour commencer, vous pouvez utiliser le bouton qui les crée tous ou vous pouvez choisir de revoir vous-même la configuration de chaque application horde et d'appliquer les modifications que vous souhaitez.
Horde propose également d'autres applications. Visitez http://www.horde.org/apps pour voir ce qu'il y a.
Horde propose également un flux RSS afin que vous soyez informé des nouvelles versions et pour les mises à jour, voir ici :http://www.horde.org/apps/webmail/docs/UPGRADING