Serveur de messagerie · 3 min read · Oct 06, 2025
Solution complète de serveur de messagerie avec domaines et utilisateurs virtuels (Debian Etch, Postfix, Mysql, Dovecot, DSpam, ClamAV, Postgrey, RBL) - Page 3
IV. Postfix sur les serveurs d’échange de messagerie
A. Reconstruction de Postfix
La version de Postfix incluse dans la distribution Debian Etch a un support de quota cassé. Nous allons devoir la reconstruire pour que les quotas fonctionnent. Ce processus de reconstruction ne doit PAS être effectué sur les serveurs MX de production réels. Ayez un serveur séparé à côté (ou même juste une machine virtuelle séparée dans Xen) pour effectuer les tâches de construction. Notre serveur pour cette tâche est build.internal.example.com. Sur ce serveur, installez les outils de construction nécessaires :
# apt-get install build-essential dpkg-dev fakeroot debhelper libgdbm-dev libldap2-dev libpcre3-dev libssl-dev libsasl2-dev postgresql-dev po-debconf dpatch libdb4.3-dev libmysqlclient15-dev lsb-release libcdb-devEnsuite, téléchargez le code source du paquet Postfix :
# cd /usr/src
# apt-get source postfixNOTE : Assurez-vous d’utiliser la bonne version de Postfix avec les commandes suivantes ! Ceci a été écrit contre Postfix 2.3.8. Vous pouvez déterminer votre version actuelle de Postfix en tapant ceci à l’invite :
# postconf -d | grep mail_versionLa sortie devrait ressembler à :
# postconf -d | grep mail_version
mail_version = 2.3.8
milter_macro_v = $mail_name $mail_version En supposant que tout soit prêt (et que vous ayez les bonnes versions), récupérez le patch de quota :
# wget http://vda.sourceforge.net/VDA/postfix-2.3.8-vda.patch.gzVous devez ensuite décompresser le patch et l’appliquer au nouveau code source :
# gunzip postfix-2.3.8-vda.patch.gz
# cd postfix-2.3.8
# patch -p1 < ../postfix-2.3.8-vda.patchEt enfin, reconstruisez le paquet patché :
# dpkg-buildpackageVous pourriez voir un avertissement comme celui-ci à la fin de la commande dpkg-buildpackage :
(Warning: Failed to sign .dsc and .changes file)Vous pouvez ignorer ce message en toute sécurité.
Cette nouvelle reconstruction entraînera la création de plusieurs paquets, vous devez copier postfix_2.3.8-1_i386.deb et postfix-mysql_2.3.8-2_i386.deb vers vos échangeurs de messagerie (MX-1 et MX-2). Vous êtes alors prêt à installer !
B. Installation de Postfix
Puisque nous utilisons un système basé sur Debian, l’installation de Postfix est un jeu d’enfant. Cette sous-section suppose que vous travaillez sur l’échangeur de messagerie 1 (mx-1.example.com), si vous travaillez sur MX-2, il suffit d’échanger le nom du serveur dans les fichiers de configuration, et vous devriez être prêt à partir. Commencez l’installation en exécutant ce qui suit :
# dpkg -i postfix_2.3.8-2_i386.deb
# dpkg -i postfix-mysql_2.3.8-2_i386.debSi/quand l’auto-configuration vous pose des questions sur Postfix pendant l’installation, sélectionnez simplement “Aucune configuration” (Puisque vous utilisez ce guide, vous allez le configurer vous-même !)
dpkg va installer tous les fichiers de configuration pour Postfix dans /etc/postfix, alors allez-y et créez le fichier main.cf :
# cd /etc/postfix
# touch main.cfLe fichier main.cf peut être édité en utilisant deux méthodes différentes. Vous pouvez utiliser votre éditeur de texte préféré, ou vous pouvez utiliser l’outil intégré de Postfix postconf. Nous avons déjà utilisé postconf une fois pour déterminer notre version dans la sous-section IV.A ci-dessus.
Le véritable avantage de l’outil postconf est qu’il dispose d’une vérification d’erreurs intégrée, et il élimine la possibilité de ‘bizarreries’ dues aux retours chariot, aux sauts de ligne, aux guillemets étranges, etc. Nous l’utiliserons dans ce guide, mais il n’y a vraiment aucune exigence.
Commencez par remplir les informations de base :
# postconf -e 'myhostname = mx-1.example.com'
# postconf -e 'smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)'
# postconf -e 'biff = no'
# postconf -e 'append_dot_mydomain = no'
# postconf -e 'myorigin = example.com'
# postconf -e 'mydestination = $myhostname, localhost, locahost.localdomain'
# postconf -e 'mynetworks = 127.0.0.0/8'
# postconf -e 'recipient_delimiter = +'
# postconf -e 'inet_interfaces = all'
# postconf -e 'proxy_read_maps = $local_recipient_maps $mydestination \
$virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps \
$virtual_mailbox_domains $relay_recipient_maps $relay_domains \
$canonical_maps $sender_canonical_maps $recipient_canonical_maps \
$relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps'C’est tout ce dont vous avez réellement besoin pour faire fonctionner un serveur de messagerie entièrement fonctionnel avec des utilisateurs unix standard. Nous ne voulons pas d’utilisateurs unix standard, donc nous allons modifier ce fichier assez souvent. N’oubliez pas cependant, changez example.com par votre propre domaine ! (Et mx-1 par mx-2 sur le deuxième serveur !)
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.