Serveur de messagerie · 3 min read · Jan 03, 2026

Configuration du serveur de messagerie avec Exim, MySQL, Cyrus-Imapd, Horde Webmail sur Centos 5.1

Configuration du serveur de messagerie avec Exim, MySQL, Cyrus-Imapd, Horde Webmail sur Centos 5.1

Version 1.1
Auteur : Andrew Colin Kissa

Introduction

Ce guide décrit l’installation et la configuration d’un système de messagerie sur Centos 5.1 avec selinux activé pour une sécurité renforcée. Ce système sera capable de servir des clients HTTP, HTTPS, SMTP, TLS, SMTP-AUTH, IMAP, POP3 et est activé pour la virtualisation, permettant à plusieurs domaines d’être servis depuis le système.

Le client webmail imp fournira une interface riche en fonctionnalités avec un composant webmail, un carnet d’adresses, un calendrier et la possibilité de réinitialiser les mots de passe, le tout avec un système de préférences hautement configurable permettant aux utilisateurs de modifier leur apparence ainsi que le fonctionnement de l’interface.

Le système IMAP/POP3 est le système cyrus-imapd haute performance qui fonctionne comme une unité scellée (les utilisateurs de messagerie ne sont pas des utilisateurs système) et utilise un backend haut de gamme/performance pour le stockage des mails. Les autres fonctionnalités de cyrus-imapd incluent l’indexation des mails pour des opérations de recherche rapides utilisant squat, un démon de notification qui peut être configuré pour notifier par sms ou email, un système de filtrage sieve (réponse automatique, filtrage des mails, notifications, classement), et un système de quotas intégré. Ce système utilisera pam_mysql via le mécanisme SASL (saslauthd) pour authentifier les utilisateurs contre la base de données Mysql partagée par tous les composants.

Le système exim sera configuré pour permettre aux utilisateurs de relayer des mails en utilisant SMTP-AUTH sécurisé par TLS, en utilisant le même backend de base de données partagé par tous les composants. La vérification des adresses aura lieu à l’aide de requêtes SQL vers le backend mysql avant que tout mail ne soit accepté pour livraison au magasin de mails cyrus-imapd. Des vérifications antivirus sont intégrées dans ce système avec l’utilisation de clamav via un socket de domaine Unix. Des vérifications de spam sont également effectuées au moment de smtp via une connexion socket au système spamd spamassasin, les messages ayant un score supérieur à 6 sont automatiquement rejetés sans être mis en mémoire tampon dans le système.

La base de données mysql stockera les informations d’authentification des utilisateurs cryptées en utilisant md5-hex ainsi que d’autres informations pour les autres composants de webmail.

Ce système est conçu pour une haute performance et sécurité, réduisant le nombre de ports ouverts et préférant utiliser des sockets de domaine unix et exécutant selinux en mode d’application.

La gestion des comptes utilisateurs se fait via l’interface web horde permettant à l’administrateur un accès facile pour ajouter et supprimer des comptes ou gérer des mots de passe, il est également possible d’interagir directement avec la table de base de données et d’y apporter des modifications.

Notes d’installation du système d’exploitation

Dans le but de garder ce guide précis, je ne vous guiderai pas à travers l’installation réelle du système Centos 5.1, je vais supposer que vous avez une installation minimale, un kickstart pour vous aider à obtenir une installation minimale peut être téléchargé ici.

Pour ce tutoriel, j’utiliserai l’adresse IP statique 192.168.1.4 et le nom d’hôte mail.home.topdog-software.com avec un domaine de home.topdog-software.com, n’hésitez pas à apporter des modifications pour adapter à votre environnement. Le répertoire de travail sera /usr/local/src tous les paquets à télécharger doivent être téléchargés et extraits là.

Installation des logiciels

Installer les prérequis

  • Mettre à jour le système. yum update
  • Configurer le dépôt rpmforge rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
  • Désactiver le dépôt (afin que les paquets de base ne soient pas écrasés) modifier /etc/yum.d/rpmforge.repo et définir l’option suivante enabled = 0

Installer Apache

yum install httpd php php-mysql php-xml php-imap php-mbstring php-mcrypt \
php-pecl-Fileinfo php-pear-DB php-pear-File php-pear-Log php-pear-Mail-Mime \
php-pear-Auth-SASL php-pear-Date php-pear-HTTP-Request php-pear-Mail php-pear-Net-Sieve \
php-pear-Net-Socket php-pear-Net-SMTP openssl mod_ssl -y

Installer Exim

yum install exim system-switch-mail -y

Installer Mysql

yum install mysql mysql-server -y

Installer Horde

yum install horde imp-h3 ingo-h3 turba-h3 kronolith-h3 -y
wget ftp://ftp.horde.org/pub/passwd/passwd-h3-3.0.1.tar.gz
tar xzvf passwd-h3-3.0.1.tar.gz -C /usr/share/horde
mv /usr/share/horde/passwd-h3-3.0.1 /usr/share/horde/passwd

Installer cyrus-imapd

J’utiliserai le rpm source des systèmes Invoca car il est plus récent et prend en charge de nombreuses fonctionnalités que la version Centos ne fournit pas.

yum install db4-utils -y
rpm -Uvh http://www.topdog-software.com/oss/cyrus-imapd/cyrus-imapd-perl-2.3.11-3.i386.rpm
rpm -Uvh http://www.topdog-software.com/oss/cyrus-imapd/cyrus-imapd-utils-2.3.11-3.i386.rpm
rpm -Uvh http://www.topdog-software.com/oss/cyrus-imapd/cyrus-imapd-2.3.11-3.i386.rpm

Installer Pam_mysql

rpm -Uvh http://www.topdog-software.com/oss/pam_mysql/pam_mysql-0.7RC1-1.i386.rpm

Installer ClamAV

yum --enablerepo=rpmforge install clamav clamav-db clamd -y

Installer Spamassassin

yum install spamassassin -y
Share: X/Twitter LinkedIn

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

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