Serveur mail postfix / postfix-mysql / Dovecot / RoundCube / spamassassin sous CentOS 5

Après le passage de Scenario-PaintBall sur un serveur dédié (spb-box), je me suis lancé dans la configuration du serveur mail. Pour rappel, le serveur est une dedibox sous CentOS 5.
Afin de pouvoir gérer plusieurs domaines et plusieurs comptes facilement, postfix est configuré en multi-domaines et virtual-user et afin d'ajouter facilement des comptes, les informations sont stockées en base MySQL via postfix-mysql.

Architecture du serveur mail

Connaissant bien postfix (personnellement et professionnellement, bien que nos derniers serveurs au taf soient sous Exim) et ayant déjà configuré postfix pour l'envoi de mail via php, c'est donc tout naturellement que j'ai retenu cette solution couplée à un Dovecot, un spamassassin et un webmail sous le très prometteur RoundCube.

postfix

Bien que pour le moment il n'y ai qu'un seul domaine géré par le serveur, j'ai choisis de faire une configuration multi-domaines et virtual-user (sans passer par des comptes unix).
Les mails sont donc dans un compte Unix unique : vbox; et ils sont stockés dans un arborescence du type : /home/vbox/domain/compte.

Je mets mon fichier main.cf en annexe.

postfix-mysql et CentOS

Alors là j'ai perdu pas mal de temps. Le postfix de CentOS n'est pas compilé avec l'option MySQL et il n'y a pas de paquet postfix-mysql pour CentOS ! Heureusement Google est mon ami et j'ai trouvé la solution : prendre le postfix de centosplus (présent de base dans CentOS mais pas activé par défaut) :

[bash]
yum -–enablerepo=centosplus update postfix

Pour éviter de mettre à jour postfix à partir de updates j'ai juste rajouté postfix* dans la liste des paquets exclus (fichier .repo en annexe). Comme j'ai activé centosplus par défaut, j'ai aussi exclus le kernel de centosplus pour privilégier celui d'updates et ainsi éviter les problèmes.

Postfix-mysql

Ce qui est génial avec postfix-mysql, c'est qu'on construit ses requêtes ! On peu donc attaquer n'importe quel structure de base existante ou en faire une soit même. J'ai mis en annexe mes fichiers de conf' ainsi que la structure de ma base.

Dovecot

Maintenant que les mails sont sur le serveur, faudrait pouvoir les lire ! J'ai donc utilisé l'excellent Dovecot pour me faire un serveur IMAP.
Sa configuration est simple, je me suis basé sur ce tutoriel.

Afin de pouvoir attaquer le serveur mail avec un client du type ThunderBird, ne pas oublier d'ouvrir le port IMAP, le 143 (perso, je passe par le tui system-config-securitylevel-tui).

RoundCube

Excellent et très prometteur projet encore au stade de la O.1 RC1 et disponible dans le dépot EPEL. Ça configuration passe comme une lettre à la poste !

Spamassassin

Pour installer spamassassin rien de tel qu'un petit yum install spamassassin (installation), suivi d'un service spamassassin start (démarrage du service) ainsi que d'un chkconfig spamassassin on (lancer au démarrage) et surtout une lecture de la doc.

Script de création de comptes mail

Histoire de créer facilement des comptes mails, je me suis fait 3 petits scripts tout simples que je vous livre en tant que démo.

Remarque : Ces script sont appelés en root et j'ai un fichier /root/.my.cf contenant le mot de passe MySQL du root, ce mot de pase ne m'est donc plus demandé.

Annexes

11 réactions

  • De joserivas De joserivas - 25/09/2007, 14:19 #1

    Juste pour vous prévenir que le répértoire
    http://www.llaumgui.com/public/file... censé contenir des fichiers de config postfix, est vide.
    A+

  • De LLaumgui De LLaumgui - 26/09/2007, 00:31 #2

    C'est réparé ;-)

  • De falcon De falcon - 28/09/2007, 17:32 #3

    une petite note pour signaler qu'il faut ajouter l'option -p dans la commande mkdir du fichier de script mailadd_mailbox. En effet si seul le répertoire vbox est créé à l'origine, il va y avoir un problème.

    J'en profite pour remercier l'auteur de tout ce travail mis à disposition.

  • De djoni De djoni - 23/11/2007, 13:28 #4

    salut, est ce que tu a plus de detail sur roundcube car je ne trouve rien pour faire une bon config de roundcube .
    je ne trouve pas de tuto ? pourrai tu me detaillé roundcube ?

    merci

  • De LLaumgui De LLaumgui - 25/11/2007, 19:57 #5

    Le fichier de conf' est assez bien détaillé... Ensuite il y a le wiki sur le site. Mais faut quand même savoir qu'on est en présence d'une version 0.1 RC2...

  • De wfirefox De wfirefox - 15/10/2009, 12:36 #6

    Bonjour, les script ne sont plus disponible apparament c'est possible des les avoir ?
    car j'aimerai utiliser un script pour la création de mail sous centos.
    MErci

  • De llaumgui De llaumgui - 25/10/2009, 09:01 #7

    En annexe il y a tout les scripts...

  • De amgohan De amgohan - 19/12/2009, 01:51 #8

    bonjour,

    quand je fais : yum -–enablerepo=centosplus update postfix

    yum me rend : No Packages marked for Update

    sachant que j'ai suivi exactement les instructions mentionné mais ca marche pas pour récupérer postfix-mysql

    pouvez vous me proposer une solution.

    merci d'avance

  • De llaumgui De llaumgui - 19/12/2009, 16:16 #9

    Je pense que postfix et postfix-mysql ont le même numéro de version. Faudra passer par un yum search pour vérifier cela.

  • De Hawa De Hawa - 29/12/2009, 14:02 #10

    Bonjour,
    J'avais une question concernant le port 143, comment faites vous pour l'ouvrir je suis sous une debian lenny
    Merci pour votre aide
    Cordialement

  • De Bouhya De Bouhya - 14/06/2011, 12:35 #11

    Bonjour,

    je suis en stage et mon projet est de mettre en place un logiciel de supervision.

    je suis novice dans tout se qui est réseaux néanmoins, j'ai reussi a mettre en place nagios avec eysofnetwork , tout fonctionne très bien la seul chose que je n'arrive pas a mettre en place c'est le service mail avec postfix.

    Mon entreprise a déjà son service mail donc, je voudrai faire en sorte que postfix envoie que les notifications de nagios vers le mail de mon tuteur.
    j'ai déjà testé pas mal de Tutorial mais en vain.

    es que quelqu’un peut m'aider svp?
    merci d'avance pour vos réponses
    cordialement

Attribution - Partage dans les Mêmes Conditions 4.0 International