Serveur de messagerie · 3 min read · Oct 05, 2025
Solution complète de serveur de messagerie avec domaines et utilisateurs virtuels (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Page 2
III. Installation et configuration du serveur MySQL (+Schéma PostFixAdmin)
Tout d’abord, nous devons installer le serveur MySQL sur sql-1.internal.example.com. Pour faciliter la tâche, nous allons également installer le client en ligne de commande MySQL. Cela peut être réalisé en tapant ce qui suit à l’invite :
# apt-get install mysql-server mysql-clientAprès que apt-get ait terminé son installation, vous allez vouloir verrouiller l’accès root à la base de données mysql. Cela se fait en utilisant l’outil mysqladmin.
# mysqladmin -u root password "monmotdepasse"NOTE : Changez monmotdepasse par votre propre mot de passe sécurisé !!!
Maintenant, nous allons créer la base de données et les utilisateurs pour les utilisateurs et domaines virtuels. Il est important de noter que Postfix (et Dovecot) n’exigent qu’un accès SELECT à cette base de données. PostfixAdmin nécessitera SELECT, UPDATE et INSERT.
# mysql -uroot -p
Entrez le mot de passe :
mysql> CREATE DATABASE virtual_mail;
mysql> GRANT SELECT ON virtual_mail.* TO 'vmail_user'@'mx-1.example.com' IDENTIFIED BY 'vmail_user_password';
mysql> GRANT SELECT,UPDATE,INSERT ON virtual_mail.* TO 'vmail_admin'@'mx-1.example.com' IDENTIFIED BY 'vmail_admin_password';
mysql> GRANT SELECT ON virtual_mail.* TO 'vmail_user'@'mx-2.example.com' IDENTIFIED BY 'vmail_user_password';
mysql> GRANT SELECT,UPDATE,INSERT ON virtual_mail.* TO 'vmail_admin'@'mx-2.example.com' IDENTIFIED BY 'vmail_admin_password';
mysql> quitNOTE : Changez vmail_user_password et vmail_admin_password par vos propres mots de passe sécurisés !!!
Maintenant, nous devons télécharger Postfix Admin. Bien que l’outil lui-même ne soit pas obligatoire pour notre configuration, il est très utile et le schéma qu’il utilise est bien pensé. Une fois que vous avez téléchargé l’archive tar de la distribution Postfix Admin, décompressez-la comme ceci :
# tar xfvz postfixadmin-2.1.0.tgzDans le répertoire résultant, ouvrez postfixadmin-2.1.0/DATABASE_MYSQL.TXT avec votre éditeur de texte préféré. Supprimez toutes les lignes sous la section “Postfix / MySQL”. Ces lignes créent la base de données initiale, ce que nous avons déjà fait. Pour Postfix Admin 2.1.0, ce sont les lignes 26-39.
Une fois terminé, chargez le fichier dans votre table MySQL existante avec la commande suivante :
# mysql -uroot -p virtual_mail < postfixadmin-2.1.0/DATABASE_MYSQL.TXTNOTE : Si vous obtenez une erreur disant “Accès refusé pour l’utilisateur ‘mail’@’localhost’ à la base de données ‘mysql’”, alors vous n’avez pas commenté les lignes correctement. Si vous ne recevez aucun message après avoir entré votre mot de passe, alors tout s’est bien passé.
IV. Serveur de partage de fichiers NFS
Beaucoup de serveurs vont nécessiter l’accès aux dossiers Maildir de nos utilisateurs, donc pour simplifier la vie, nous allons les installer sur un montage NFS. Un des avantages de Maildir est qu’il est compatible avec NFS. Le format de boîte aux lettres, en revanche, ne serait pas joli. Heureusement, la configuration de NFS sous Debian est aussi simple que celle de tout autre service.
Commençons par installer le service sur files-1.internal.example.com :
# apt-get install nfs-kernel-server nfs-common portmapLes exports NFS (partages) sont contrôlés par le fichier /etc/exports. Chaque ligne commence par le chemin local absolu d’un répertoire à exporter, suivi d’une liste de clients autorisés séparés par des espaces. NFS peut être extrêmement puissant, mais je ne vais pas entrer dans les détails ici. Pour nos besoins, ce qui suit suffira :
/etc/exports :
/vmail mx-1.internal.example.com(ro, insecure) mx-2.internal.example.com(ro, insecure) postman.internal.example.com(rw, no_root_squash) secure-mail.internal.example.com(rw, no_root_squash)Si vous apportez des modifications à /etc/exports sur un serveur NFS en cours d’exécution, vous pouvez rendre les modifications effectives en émettant la commande :
# exportfs -aNous allons avoir besoin d’un utilisateur réel pour gérer tous les mappages virtuels dans notre configuration. Pour cette solution, nous allons utiliser l’identifiant utilisateur 150. Cet identifiant utilisateur est pour un utilisateur “Mail Virtuel” créé spécifiquement. Il utilise le groupe “mail” standard, avec le gid par défaut (Debian) de 8. Vous pouvez créer l’utilisateur et le répertoire comme ceci :
# useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c "Boîte aux lettres virtuelle" vmail
# mkdir /vmail
# chmod 770 /vmail/
# chown vmail:mail /vmail/ NOTE : Cet utilisateur devra être créé sur tous les serveurs qui accéderont à ce partage (mx-1, mx-2, postman, files-1, secure-mail). Si l’utilisateur n’existe pas, vous pourriez rencontrer des erreurs d’accès aux fichiers. Bien que NIS puisse être utilisé pour créer un hôte unique pour cet utilisateur, cela dépasse le cadre de ce document.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.