Outils personnels
Vous êtes ici : Accueil GNU / Linux Debian Installer Horde Groupware Webmail Edition sur Debian 4.0 Etch ou 5.0 Lenny
Actions sur le document
  • Send this page to somebody
  • Print this page
  • Add Bookmarklet

Installer Horde Groupware Webmail Edition sur Debian 4.0 Etch ou 5.0 Lenny

Par Pierre-Yves Landuré - Dernière modification 19/12/2012 21:59

Le projet Horde vise a créer un groupware libre. Il est basé sur PHP et propose l'un des meilleurs WebMail du moment. Cet article vous guide lors de son installation sur Debian 4.0 Etch ou 5.0 Lenny.

Ce guide est obsolète. Utilisez la nouvelle version sur le Help Desk Biapy:

Installer Horde Groupware Webmail Edition sur Debian

Installation

Le projet Horde est constitué de plusieurs logiciels qui ensemble forment un groupware très complet. Ces logiciels sont disponibles soit séparément, soit dans le bundle Horde Groupware Webmail Edition. C'est ce dernier que nous allons installer dans ce guide. En premier lieu, nous installons les pré-requis :

/usr/bin/apt-get install libapache2-mod-php5 php5-gd php5-mysql php5-mcrypt php5-imap php5-tidy php5-cli php-pear

Afin que Horde fonctionne sans soucis, nous augmentons la limite d'utilisation mémoire du module PHP d'Apache 2 :

/bin/sed -i -e 's/memory_limit = .*/memory_limit = 128M/' /etc/php5/apache2/php.ini

De plus, vous pouvez augmenter les performances de Horde en installant memcached :

apt-get install memcached php5-memcache

Nous mettons à jour l'installation de PEAR :

/usr/bin/pear channel-update pear.php.net
/usr/bin/pear upgrade-all

Nous installons maintenant les extensions PEAR et PECL recommandées par Horde. En premier lieu, nous installons les logiciels nécessaires à la compilation de l'extension :

/usr/bin/apt-get install libmagic-dev libgeoip-dev make php5-dev

Et nous compilons et installons les extensions PECL :

  • fileinfo :
    Cette extension permet d'améliorer la gestion des pièces jointes.
    /usr/bin/pecl install fileinfo
    /bin/echo "extension=fileinfo.so" | /usr/bin/tee /etc/php5/conf.d/fileinfo.ini
  • lzf :
    Cette extension permet de réduire la taille des sessions (et donc l'occupation mémoire du serveur).
    /usr/bin/pecl install lzf
    /bin/echo "extension=lzf.so" | /usr/bin/tee /etc/php5/conf.d/lzf.ini
  • geoip :
    Cette extension améliore la géolocalisation des adresses IP. Cependant, du à des problèmes de version, elle n'est pas installable simplement sur Etch. Si vous utilisez ce guide sur Debian 5.0 Lenny, vous n'êtes pas soumis à cette limitation :
    if [ "$(/bin/cat /etc/debian_version)" != "4.0" ]; then
    /usr/bin/pecl install geoip
    /bin/echo "extension=geoip.so" | /usr/bin/tee /etc/php5/conf.d/geoip.ini
    fi
  • idn :
    Cette extension apporte le support des noms de domaines internationalisés. Cependant, à l'heure ou j'écris ce guide, cette extension est encore en Beta.

Une fois ces extensions installées, redémarrez votre serveur Apache pour les prendre en compte :

/etc/init.d/apache2 force-reload

Nous renseignons la dernière version de Horde Groupware Webmail Edition :

VERSION=1.2.2

Nous téléchargeons Horde Groupware Webmail Edition :

/usr/bin/wget http://ftp.horde.org/pub/horde-webmail/horde-webmail-$VERSION.tar.gz \
    --output-document=/tmp/horde-webmail-$VERSION.tar.gz

Nous décompressons le fichier téléchargé :

/bin/tar --directory /opt -xzf /tmp/horde-webmail-$VERSION.tar.gz

Nous renommons le dossier ainsi obtenu :

/bin/mv /opt/horde-webmail-$VERSION /opt/horde-webmail

Et nous le rendons disponible via le serveur HTTP :

/bin/ln -s /opt/horde-webmail /var/www/

Remarque : Si vous souhaitez que Horde soit disponible à la racine d'un domaine dédié (pour obtenir une URL du type http://mail.domaine.com/), vous trouverez les informations nécessaires à la mise en place d'une telle configuration dans mon guide Installer et configurer Apache2 sur Debian 4.0 Etch.

Nous pouvons maintenant passer à la configuration de ce logiciel.

Configuration de Horde

Remarque : Horde nécessite l'accès à une base de donnée. Si vous le souhaitez, vous pouvez installer un serveur MySQL ou créer une base de donnée sur un tel serveur en suivant mon guide MySQL sur Debian 4.0 Etch ou 5.0 Lenny.

La configuration de Horde est assez complexe tellement sont nombreux les paramètres. Je vous invite donc à lire la documentation de Horde pour que votre système soit configuré aux petits oignons. Ce guide se contente de mettre en place une configuration fonctionnelle, mais basique. Pour ce faire nous allons utiliser le petit script fourni avec Horde :

/usr/bin/php /opt/horde-webmail/scripts/setup.php

Répondez aux questions posées par ce script.

Remarque : Dans la section "Configure database settings", choisissez "mysqli" comme type de base de données.

 

Important : si votre serveur IMAP n'est pas sur le serveur ou est installé Horde, ou s'il nécessite une identification par TLS, vous devez modifier la configuration de IMP :

/usr/bin/vim /opt/horde-webmail/imp/config/servers.php

Plusieurs valeurs sont possibles pour l'entrée 'protocol' :

  • imap/notls : Connexion à IMAP non chiffrée (en clair).
  • imap/tls : Connexion à IMAP chiffrée, avec un certificat SSL valide.
  • imap/tls/novalidate-cert : Connexion à IMAP chiffrée, avec un certificat SSL non valide (par exemple, signé avec une authorité locale, ou CACert.org).

Source : Merci à Daniel E. Markle pour son article Horde/IMAP and IMAP/TLS.

Pour information, voici la configuration que j'utilise pour brancher Horde avec un serveur Cyrus IMAP installé à l'aide du guide Installer le serveur IMAP Cyrus sur Debian 4.0 Etch et 5.0 Lenny.

$servers['imap'] = array(
    'name' => 'IMAP Server',
    'server' => 'cyrus.domain.xen',
    'hordeauth' => false,
    'protocol' => 'imap/tls/novalidate-cert',
    'port' => 143,

    'quota' => array(
        'driver' => 'imap',
        'params' => array(),
    ),
    'acl' => array(
        'driver' => 'rfc2086',
    ),
);

Une fois la configuration terminée, vous pouvez vérifier qu'il ne manque rien en visitant :

Remarque : Ne tenez pas compte de l'erreur sur la limite mémoire. 128 Mo devraient suffire.

Domaine d'email par défaut

Nous allons maintenant configurer l'email de contact utilisé lorsqu'un utilisateur rencontre des problème, et le domaine des email des utilisateurs de Horde, lorsque ce dernier ne peut le détecter. Pour ce faire, renseignez les valeurs à appliquer :

CONTACT_MAIL=contact@votre-domaine.com
DEFAULT_MAIL_DOMAIN=votre-domaine.com

Appliquez maintenant ces paramètres :

/bin/sed -i -e "s/^\(.*problems.*email.*=\).*;/\1 '${CONTACT_MAIL}';/" \
            -e "s/^\(.*problems.*maildomain.*=\).*;/\1 '${DEFAULT_MAIL_DOMAIN}';/" \
         /opt/horde-webmail/config/conf.php

Fichier log

Nos modifions l'emplacement du fichier log de horde :

/bin/mkdir --parent /var/log/horde
/bin/chown www-data:www-data /var/log/horde
/bin/chmod 0750 /var/log/horde
/bin/sed -i -e 's/\/tmp\/horde\.log/\/var\/log\/horde\/horde\.log/' /opt/horde-webmail/config/conf.php

Nous mettons en place la rotation de ces fichiers log :

/bin/cp /opt/horde-webmail/scripts/horde.logrotate /etc/logrotate.d/horde

Et nous l'adaptons à notre besoin :

/bin/sed -i -e 's|/var/log/horde\.log|/var/log/horde/horde.log|' /etc/logrotate.d/horde

Cache mémoire

En premier lieu, assurez vous d'avoir installer le cache mémoire :

apt-get install memcached php5-memcache
/etc/init.d/apache2 force-reload

Nous activons le support de memcached :

/bin/sed -i -e 's/^\(.*memcache.*enabled.*=\).*;/\1 true;/' /opt/horde-webmail/config/conf.php

Et nous le configurons :

/bin/sed -i -e "/^\(.*conf.*memcache.*enabled.*=\).*/i\
\$conf['memcache']['hostspec'] = array('localhost');\n\
\$conf['memcache']['port'] = array('11211');\n\
\$conf['memcache']['weight'] = array();\n\
\$conf['memcache']['persistent'] = false;\n\
\$conf['memcache']['compression'] = false;\n\
\$conf['memcache']['large_items'] = true;" /opt/horde-webmail/config/conf.php

Emplacement du cache

Nous créons un dossier de cache sécurisé pour Horde :

/bin/mkdir /var/cache/horde
/bin/chown www-data:root /var/cache/horde
/bin/chmod 0700 /var/cache/horde

Et nous configurons Horde afin qu'il l'utilise :

/bin/sed -i -e "/^\(.*conf.*umask.*=\).*/a\
\$conf['tmpdir'] = '/var/cache/horde';" /opt/horde-webmail/config/conf.php

De même, nous configurons le nettoyage régulier des fichiers caches générés par Horde :

/bin/cp /opt/horde-webmail/scripts/temp-cleanup.cron /etc/cron.daily/horde-temp-cleanup
/bin/chmod +x /etc/cron.daily/horde-temp-cleanup
/bin/sed -i -e 's/^\(TMP_DIR=\).*/\1\/var\/cache\/horde/' /etc/cron.daily/horde-temp-cleanup

Envoi des emails d'alerte

Nous configurons maintenant l'envoi des emails d'alertes par Horde :

/bin/echo "# /etc/cron.d/horde : crontab fragment for horde
# Horde Alarms
*/5 * * * * /usr/bin/php /opt/horde-webmail/scripts/alarms.php" \
| /usr/bin/tee /etc/cron.d/horde

Outil d'administration des sessions

Si vous souhaitez que l'outil d'administration des sessions de Horde soit fonctionnel, exécutez la ligne de commande suivante :

/bin/chown www-data /var/lib/php5

Attention : Ceci peut engendrer des problèmes de sécurité, aussi je ne le recommande pas.

Gestion des pièces jointes

Si vous souhaitez pouvoir visionner vos pièces jointes directement dans Horde sans avoir à les télécharger, voici la ligne de commande vous permettant d'installer les logiciels nécessaires :

/usr/bin/apt-get install unrtf libwpd-tools xlhtml source-highlight ppthtml rpm wv enscript

Une fois ceci fait, nous corrigeons la configuration des chemins vers ces utilitaires dans Horde :

sed -i -e 's/\/usr\/local\/bin\/xlhtml/\/usr\/bin\/xlhtml/' \
       -e 's/\/usr\/local\/bin\/ppthtml/\/usr\/bin\/ppthtml/' \
    /opt/horde-webmail/config/mime_drivers.php

Enfin, nous activons les outils rendu disponibles :

sed -i -e "s/\/\/ \('deb'\)/\1/g" \
       -e "s/\/\/ \('enscript'\)/\1/g" \
       -e "s/\/\/ \('msword'\)/\1/g" \
       -e "s/\/\/ \('msexcel'\)/\1/g" \
       -e "s/\/\/ \('mspowerpoint'\)/\1/g" \
       -e "s/\/\/ \('rpm'\)/\1/g" \
       -e "s/\/\/ \('rtf'\)/\1/g" \
       -e "s/\/\/ \('srchighlite'\)/\1/g" \
       -e "s/\/\/ \('webcpp'\)/\1/g" \
       -e "s/\/\/ \('wordperfect'\)/\1/g" \
    /opt/horde-webmail/config/mime_drivers.php

Enfin, nous indiquons à Horde ou se trouve la base de donnée des informations Mime :

/bin/sed -i -e "/^\(.*conf.*sessionhandler.*type.*=\).*/a\
\$conf['mime']['magic_db'] = '/usr/share/file/magic';" /opt/horde-webmail/config/conf.php

Configuration de IMP

Afin de rendre la lecture des emails plus agréable, nous allons améliorer la configuration par défaut d'IMP :

Affichage en ligne des messages HTML

Par défaut, vous devez télécharger les messages au format HTML afin de pouvoir les lire. Ce n'est pas très agréable. Les lignes de commande suivantes modifient cette configuration :

/bin/sed -i -e '/.*mime_drivers.*imp.*html.*=.*array.*/{n;d}' /opt/horde-webmail/imp/config/mime_drivers.php
/bin/sed -i -e "/.*mime_drivers.*imp.*html.*=.*array.*/a\
    'inline' => true," /opt/horde-webmail/imp/config/mime_drivers.php

Adaptation aux défauts de Thunderbird

Afin d'adapter les dossiers utilisé par Horde à ceux utilisé par Thunderbird, nous allons modifier quelques options :

  • Le dossier des courriers envoyés :
    /bin/sed -i -e "/.*_prefs.*'sent_mail_folder'.*/,/^\([^\/]*'value'\).*/{s|^\([^/]*'value'\).*|\1 => 'INBOX/Sent',|}" \
             /opt/horde-webmail/imp/config/prefs.php
  • Le dossier des brouillons :
    /bin/sed -i -e "/.*_prefs.*'drafts_folder'.*/,/^\([^\/]*'value'\).*/{s|^\([^/]*'value'\).*|\1 => 'INBOX/Drafts',|}" \
             /opt/horde-webmail/imp/config/prefs.php
  • Le dossier de la corbeille :
    /bin/sed -i -e "/.*_prefs.*'trash_folder'.*/,/^\([^\/]*'value'\).*/{s|^\([^/]*'value'\).*|\1 => 'INBOX/Trash',|}" \
             /opt/horde-webmail/imp/config/prefs.php
  • Le dossier des indésirables :
    /bin/sed -i -e "/.*_prefs.*'spam_folder'.*/,/^\([^\/]*'value'\).*/{s|^\([^/]*'value'\).*|\1 => 'INBOX/Junk',|}" \
             /opt/horde-webmail/imp/config/prefs.php

Adaptation aux défauts de Outlook

Si vous n'utilisez pas Thunderbird, mais Outlook, voici les lignes de commande à utiliser :

  • Le dossier des courriers envoyés :
    /bin/sed -i -e "/.*_prefs.*'sent_mail_folder'.*/,/^\([^\/]*'value'\).*/{s|^\([^/]*'value'\).*|\1 => '\&AMk-l\&AOk-ments envoy\&AOk-s',|}" \
             /opt/horde-webmail/imp/config/prefs.php
  • Le dossier des brouillons :
    /bin/sed -i -e "/.*_prefs.*'drafts_folder'.*/,/^\([^\/]*'value'\).*/{s|^\([^/]*'value'\).*|\1 => 'Brouillons',|}" \
             /opt/horde-webmail/imp/config/prefs.php
  • Le dossier de la corbeille :
    /bin/sed -i -e "/.*_prefs.*'trash_folder'.*/,/^\([^\/]*'value'\).*/{s|^\([^/]*'value'\).*|\1 => '\&AMk-l\&AOk-ments supprim\&AOk-s',|}" \
             /opt/horde-webmail/imp/config/prefs.php

Prévisualisation des pièces jointes

Afin de rendre disponible la prévisualisation en ligne des pièces jointe, exécutez la commande suivante :

/bin/sed -i -e 's/^\(.*mailbox.*show_preview.*=\).*;/\1 true;/' /opt/horde-webmail/imp/config/conf.php

Activation du cache

Afin que l'affichage des messages soit plus réactif, il vous faut activer l'utilisation du cache par IMP. Pour ce faire, exécutez la commande suivante :

/bin/sed -i -e 's/^\(.*mboxcache.*use_mboxcache.*=\).*;/\1 true;/' /opt/horde-webmail/imp/config/conf.php

Et de le configurer :

/bin/sed -i -e "/^\(.*conf.*mboxcache.*use_mboxcache.*=\).*/i\
\$conf['mboxcache']['use_compress'] = false;\n\
\$conf['mboxcache']['preview_size'] = 1000;\n\
\$conf['mboxcache']['lifetime'] = 2592000;" /opt/horde-webmail/imp/config/conf.php

De même, pour cacher la liste des messages :

/bin/sed -i -e 's/^\(.*mlistcache.*use_mlistcache.*=\).*;/\1 true;/' /opt/horde-webmail/imp/config/conf.php
/bin/sed -i -e "/^\(.*conf.*mlistcache.*use_mlistcache.*=\).*/i\
\$conf['mlistcache']['lifetime'] = 604800;" /opt/horde-webmail/imp/config/conf.php

Affichage de la priorité et de la présence de pièces jointes dans la liste des messages

Pour afficher la priorité et la présence de pièces jointes dans la liste des messages, utilisez la commande suivante (l'activation du cache est recommandée) :

/bin/sed -i -e 's/^\(.*mailbox.*show_attachments.*=\).*;/\1 true;/' \
            -e 's/^\(.*mailbox.*show_xpriority.*=\).*;/\1 true;/' \
         /opt/horde-webmail/imp/config/conf.php

Mise en cache du JavaScript et du CSS

Afin d'accélérer le chargement des pages, il est possible de créer des fichiers Javascripts et CSS allégé. C'est ce que fait cette configuration :

  • Pour le cache JavaScript :
    /bin/sed -i -e 's/^\(.*server.*cachejs.*=\).*;/\1 true;/' /opt/horde-webmail/imp/config/conf.php
    /bin/sed -i -e "/^\(.*conf.*server.*cachejs.*=\).*/i\
    \$conf['server']['cachejsparams']['timeout'] = 86400;\n\
    \$conf['server']['cachejsparams']['mtime'] = false;" /opt/horde-webmail/imp/config/conf.php
  • Pour le cache CSS :
    /bin/sed -i -e 's/^\(.*server.*cachecss.*=\).*;/\1 true;/' /opt/horde-webmail/imp/config/conf.php
    /bin/sed -i -e "/^\(.*conf.*server.*cachecss.*=\).*/i\
    \$conf['server']['cachecssparams']['timeout'] = 86400;\n\
    \$conf['server']['cachecssparams']['mtime'] = false;" /opt/horde-webmail/imp/config/conf.php

Remarque : Si DIMP est présent, vous pouvez activer le cache du JavaScript et CSS pour cette interface :

  • Pour le cache JavaScript :
    /bin/sed -i -e 's/^\(.*server.*cachejs.*=\).*;/\1 true;/' /opt/horde-webmail/dimp/config/conf.php
    /bin/sed -i -e "/^\(.*conf.*server.*cachejs.*=\).*/i\
    \$conf['server']['cachejsparams']['timeout'] = 86400;\n\
    \$conf['server']['cachejsparams']['mtime'] = false;" /opt/horde-webmail/dimp/config/conf.php
  • Pour le cache CSS :
    /bin/sed -i -e 's/^\(.*server.*cachecss.*=\).*;/\1 true;/' /opt/horde-webmail/dimp/config/conf.php
    /bin/sed -i -e "/^\(.*conf.*server.*cachecss.*=\).*/i\
    \$conf['server']['cachecssparams']['timeout'] = 86400;\n\
    \$conf['server']['cachecssparams']['mtime'] = false;" /opt/horde-webmail/dimp/config/conf.php

Finitions

Vous trouverez dans cette sections diverses petites choses qui sans être obligatoires, amélioreront grandement votre Horde.

Dimp comme application par défaut

Dans la configuration standard de Horde, Imp est l'application par défaut. Si vous souhaitez utiliser Dimp sans trop vous fouler, voici la ligne de commande à appliquer pour en faire le défaut de Horde :

/bin/sed -i -e "/\$_COOKIE\['default_imp_view'\]/,/\$browser->isMobile().*'imp'/{
s/^\(.*$browser->isMobile().*\)'imp'\(.*\)\$/\1'dimp'\2/
;}" /opt/horde-webmail/imp/login.php

Fortunes

Pour avoir un message d'accueil sympa lorsque vous vous identifiez. Commencez par installer le logiciel nécessaire :

/usr/bin/apt-get install fortunes-fr

Et configurez Horde pour l'utiliser :

/bin/sed -i -e "/^\(.*conf.*portal.*fixed_blocks.*=\).*/a\
\$conf['fortune']['exec_path'] = '/usr/games/fortune';" /opt/horde-webmail/config/conf.php

Correction orthographique

Afin de disposer d'un correcteur d'orthographe lors de la rédaction de vos messages, commencez par installer aSpell :

/usr/bin/apt-get install aspell-en aspell-fr

Et configurez IMP pour l'utiliser :

/bin/sed -i \
  -e "s/^\(.*spell.*driver.*=\).*;/\1 'aspell';/" \
  -e "/^\(.*conf.*spell.*driver.*=\).*/i\
\$conf['spell']['path'] = '/usr/bin/aspell';" /opt/horde-webmail/imp/config/conf.php

Encryption

Si vous souhaitez disposer du support de GnuPG pour crypter vos messages, commencez par installer GnuPG si besoin :

/usr/bin/apt-get install gnupg

Et configurez IMP pour l'utiliser :

/bin/sed -i -e "/^\(.*conf.*utils.*gnupg_keyserver.*=\).*/i\
\$conf['utils']['gnupg'] = '/usr/bin/gpg';" /opt/horde-webmail/imp/config/conf.php

De même, nous configurons Mnemo pour l'utiliser :

/bin/sed -i -e "/^\(.*conf.*menu.*print.*=\).*/i\
\$conf['utils']['gnupg'] = '/usr/bin/gpg';" /opt/horde-webmail/mnemo/config/conf.php

Utilisation de OpenSSL

Bon, la j'ai pas très bien compris à quoi cela pouvait servir... mais si cette fonctionnalité vous intéresse, voici comment l'activer. En premier lieu, installez OpenSSL :

/usr/bin/apt-get install openssl ca-certificates

Et configurez IMP pour l'utiliser :

/bin/sed -i -e "/^\(.*conf.*utils.*gnupg_timeout.*=\).*/a\
\$conf['utils']['openssl_cafile'] = '/etc/ssl/certs';\n\
\$conf['utils']['openssl_binary'] = '/usr/bin/openssl';" /opt/horde-webmail/imp/config/conf.php

Autres

Voici une liste non exhaustive de ce que je ne documente pas dans ce guide, mais que vous pouvez trouver dans l'interface de configuration de Horde :

  • Récupération de la météo sur weather.com
  • Géolocalisation des adresses IP
  • API de recherche Google
  • API de Google Maps

Je vous invite a explorer la configuration de Horde si ces outils vous intéressent.

Configuration pour Cyrus Imap

Si vous disposez d'un serveur Cyrus Imap, vous souhaitez probablement que Horde vous permette de configurer vos filtres de messages via Sieve. Pour ce faire, nous devons installer un paquet PEAR supplémentaire :

/usr/bin/pear install Net_Sieve

Une fois ceci fait, vous devez modifier le backend sieve de Ingo :

/usr/bin/vim /opt/horde-webmail/ingo/config/backends.php

Vous trouverez dans ce fichier un backend nommé 'sieve'. Il vous suffit normalement d'adapter les informations 'preferred' et 'hostspec' à vos besoins, puis de supprimer ou commenter les autres backends pour permettre à Ingo d'utiliser Sieve comment moteur de filtrage.

Il vous faut aussi modifier le parmètre 'hordeauth', il faut le passer de "true" à "'full'" :

 'hordeauth' => 'full',

Liste noire des utilisateurs

Si vous souhaitez disposer d'une mécanique d'interdiction d'utilisation de Horde pour certain utilisateurs, vous pouvez le faire en utilisant le hook "preauthenticate". Pour ce faire, en premier lieu, autorisez l'utilisation de ce hook:

/bin/sed -i -e "s/^\(.*hooks.*preauthenticate.*=\).*;/\1 true;/" /opt/horde-webmail/config/conf.php

Ajoutez ensuite un paramètre de configuration pour la liste noire des utilisateurs :

/bin/sed -i -e "/^\(.*auth.*driver.*=\).*/a\
\$conf['auth']['blacklist'] = array( /* 'my_blacklisted_login', */ );" /opt/horde-webmail/config/conf.php

Et enfin, ajoutez la fonction de hook personnalisée au fichier hooks.php :

echo "
// Here is an _horde_hook_preauthenticate that allow you to black list logins.
if (! function_exists('_horde_hook_preauthenticate')) {
    function _horde_hook_preauthenticate(\$userID, \$credential, \$realm)
    {
        return ! in_array(\$userID, \$GLOBALS['conf']['auth']['blacklist']);
    }
}" | /usr/bin/tee -a /opt/horde-webmail/config/hooks.php

Par la suite, vous pouvez ajouter un nouveau login à la liste noire avec les commandes suivantes. Commencez par renseignez le login à blacklister :

LOGIN=blacklisted_user

Et exécutez la commande suivante pour l'ajouter à la liste noire :

/bin/sed -i -e "s/^\(.*auth.*blacklist.*=.*\));.*/\1 '$LOGIN',);/" /opt/horde-webmail/config/conf.php

Utilisation avec reverse proxy

Si vous souhaitez utiliser Horde derrière un reverse proxy Apache, voici les modifications à effectuer (pour un serveur intermédiaire utilisant le HTTPS et donc Horde est la racine):

  • dans le fichier /opt/horde-webmail/config/conf.php :
    $conf['use_ssl'] = 1;
    $conf['server']['name'] = $_SERVER['SERVER_NAME'];
    $conf['server']['port'] = 443;

Résolution des problèmes

Si vous rencontrez des problèmes avec votre configuration de Horde, il est possible qu'augmenter le niveau de verbosité des fichiers journaux vous aide. Pour ce faire, utilisez cette ligne de commande :

/bin/sed -i -e 's/^\(.*log.*priority.*=\).*;/\1 PEAR_LOG_DEBUG;/' \
         /opt/horde-webmail/config/conf.php

Vous pouvez alors observer le fichier journal de Horde à l'aide de la commande :

/usr/bin/tail -n 50 -f /var/log/horde/horde.log

Une fois le problème diagnostiqué correctement, vous pouvez revenir au niveau normal de verbosité du fichier journal à l'aide de cette commande :

/bin/sed -i -e 's/^\(.*log.*priority.*=\).*;/\1 PEAR_LOG_NOTICE;/' \
         /opt/horde-webmail/config/conf.php

Sécurisation

Attention : n'effectuez cette étape que lorsque votre Horde est parfaitement configuré. Mais avant de le rendre accessible aux internautes.

Afin de rendre Horde plus robuste aux attaques, nous allons modifier les permissions des fichiers de configuration :

/usr/bin/find /opt/horde-webmail -type f -wholename "*config/*" | /usr/bin/xargs /bin/chown -R root:www-data
/usr/bin/find /opt/horde-webmail -type f -wholename "*config/*" | /usr/bin/xargs /bin/chmod 0440

Nous désactivons les fichiers test.php :

/usr/bin/find /opt/horde-webmail -type f -name "test.php" | /usr/bin/xargs /bin/chmod a-rwx

Nous restreignons l'accès aux scripts de configuration à l'utilisateur root :

/usr/bin/find /opt/horde-webmail -type d -name "scripts" | /usr/bin/xargs /bin/chown -R root:root
/usr/bin/find /opt/horde-webmail -type d -name "scripts" | /usr/bin/xargs /bin/chmod -R go-rwx

Et pour faire bonne mesure, nous interdisons la modification de l'ensemble du code source de Horde :

/bin/chmod -R ugo-w /opt/horde-webmail

Nous désactivons l'affichage de code PHP aux utilisateurs lors d'erreurs :

/bin/echo "# Secure PHP for horde
expose_php = Off
display_errors = Off
log_errors = On
register_globals = Off
" | tee /etc/php5/conf.d/horde.ini

Et nous redémarrons Apache 2 pour prendre en compte cette configuration :

/etc/init.d/apache2 force-reload

Je vous recommande également d'utiliser Horde à travers une connexion HTTPS afin que les mots de passe des comptes email ne circulent pas en clair sur le réseau.

Amélioration de la sécurité à l'aide d'Apache

Si vous le souhaitez, il est possible d'améliorer encore la sécurité de votre installation Horde en configurant proprement Apache.

Dans le fichier qui correspond à votre installation de Horde, ajoutez ces lignes. Elles font en sorte que les dossiers de configuration de Horde restent privés :

# Deny access to files that are not served directly by the webserver
<DirectoryMatch "^/opt/horde-webmail/(.*/)?(config|lib|locale|po|scripts|templates)/(.*)?">
  order deny,allow
  deny  from all
</DirectoryMatch>

Une fois ceci fait, n'oubliez pas de recharger la configuration d'Apache :

/etc/init.d/apache2 force-reload

Remerciements

soucis de login

Posté par slider le 27/11/2008 01:09
Bonjour, merci pour tous ces tutos c'est le reve. Par contre la je galere vraiment, je n'arrive pas a me logguer sur horde, je ne sais pas ou j'ai rate une etape mais si vous aviez une solution ou info sur le login administrateur je suis preneur. merci par avance.

Slider

Compte Administrateur

Posté par lwolf le 27/11/2008 06:43
En fait, les logins / mot de passe sont ceux du serveur IMAP accédé. Le compte admin est déjini par le fichier de configuration. Il s'agit aussi d'un compte IMAP de votre serveur à qui Horde donne des droits un peu plus puissant (enfin je crois).

Je ne me souviens plus de qu'elle option il s'agit, mais bon courrage dans votre recherche.

Probléme de connexion

Posté par Dominique le 28/02/2009 12:49
Bonjour et d'abord merci et bravo pour ce tutorial.

J'ai donc installé horde en suivant ce tuto, mais j'ai un probléme de connexion avec un des comptes, et comme de bien entendu, c'est avec le mien.
Pour les autres comptes utilisateurs, pas de soucis, la connexion se fait bien, donc je pense que la config est fonctionnelle.
Mais lorsque je tente de me connecter avec mon compte, la connexion est interminable, et cela m'ouvre plusieurs process "imapd" qui fini par ralentir ma machine. je suis obligé de "restart" apache pour que tout revienne dans l'ordre.
Je pense donc que le probléme provient de mon compte et non horde, mais je poste ce commentaire afin de peut-être avoir une solution si quelqu'un à eu ce même probléme et a trouvé la solution.

Si cela peut aider dans le diagnostique, jusqu'a présent j'utilise "Roundcube" comme webmail, et je ne rencontre apparemment aucun problème.

Merci si quelqu'un à une idée, et encore merci pour ce merveilleux tuto.

Dominique

hum... sous dossiers ?

Posté par Pierre-Yves Landuré le 28/02/2009 15:03
Bonjour,

déjà, roundcube est connu pour avoir une GROSSE faille de sécurité.. je te conseille de te renseigner pour voir si ton serveur n'a pas déjà été compromis.
Ensuite, concernant horde, il est possible que ton problème vienne de la présence de sous dossiers dans ton inbox imap ?

je ne vois que ca pour que tu es plusieurs process imapd. Mais je peut me tromper.

bon courrage

bien vu !

Posté par dominique le 28/02/2009 23:51
Bonsoir,

Effectivement, lorsque je suis sous certain client imap, je m'apperçois que des dossiers Sent, Trash et Drafts sont présents sous INBOX.
Par exemple, sous squirrelmail, en plus du dossier "mail" de mon homedirectory ou se trouvent mes différents fichiers mails autre que le INBOX qui lui est sous "/var/mail/" et porte le nom du user, squirrelmail me recrée systématiquement un second dossier "Mail" (avec un M majuscule) dans lequel sont créé les 3 fichiers nommés plus haut.

Utilisateur de uw-imapd, je ne vois par contre pas comment remédier à ce probléme, je viens d'y passer ma soirée, et la je séche franchement....

Pour ce qui est de Roundcube, normalement pas de soucis car étant le seul utilisateur de ce webmail, je double l'identification de connexion par un ".htaccess".

U forget this

Posté par victor le 03/06/2009 19:18
i think, u forget this crontab entry:

Kronolith reminders
0 2 * * * /usr/bin/php /opt/horde-webmail/kronolith/scripts/reminders.php

Thanks 4 this howto

confidentialité

Posté par thomas le 11/10/2009 14:16
bonjour

j'ai 'enfin' terminé l'installation du serveur de messagerie.
une chose me tracasse, lorsque j'envoi un mail via IMP,
celui ci inscrit dans les en-tête du mail l'adresse IP et le nom dns du pc que j'ai utilisé pour me conncter à Horde.

j'aimerais bien enlever ça et faire en sorte que le mail semble envoyé depuis le serveur sans reference aux pc des clients

est ce que vous avez deja été confronté à ce problème ?

pas vraiment

Posté par Lone Wolf le 11/10/2009 20:22
Je n'utilise horde que de manière exceptionnelle en complétement à thunderbird, je n'ai donc pas constaté ce fonctionnement, et ne peut vous aider beaucoup dans votre recherche, n'hésitez toutefois pas à me donner la solution si vous la trouvez, je l'intégrerais à mon guide.

Bon courrage

Impossible de se loguer

Posté par crash le 08/03/2010 11:27
Bonjour,

J'ai tout installé sous debian 5 Lenny, cependant quand je rentre mes identifiants pour pouvoir me connecter dans la boîte mail, ça me remet au formulaire pour inscrire ses identifiants et mot de passe de connexion.

imapd: LOGIN, user=crash, ip=[::ffff:127.0.0.1], port=[57047], protocol=IMAP
imapd: LOGOUT, user=crash, ip=[::ffff:127.0.0.1], headers=0, body=0, rcvd=96, sent=468, time=0
imapd: LOGOUT, user=crash, ip=[::ffff:127.0.0.1], headers=0, body=0, rcvd=119, sent=463, time=0

Quel est le problème ?

Merci.

activation de l'indicateur d'absence

Posté par lsu le 22/07/2010 10:50
bj,
comment je peux activer l'indicateur d'absence.
lsu

BlogBang
Navigation
 

Réalisé avec Plone

Ce site respecte les normes suivantes :

Wikio