Installation d’un serveur de mail avec Postfix et Dovecot
But de ce document
Ce document me sert de mémo pour l’installation d’un serveur de mail avec Postfix et Dovecot connecté sur un serveur LDAP. Cette installation a été réalisée sur Debian Etch.
Installation des serveurs IMAP et POP Dovecot
# aptitude install dovecot-imapd dovecot-pop3d
Configuration dovecot-ldap.conf
Voici les paramètres à configurer dans le fichier /etc/dovecot/dovecot-ldap.conf :
| hosts | NomDuServeurLDAP |
| auth_bind | yes |
| ldap_version | 3 |
| base | dc=votredomaine,c=org |
| user_filter | (&(objectclass=posixAccount)(uid=%u)) |
| pass_filter | (&(objectclass=posixAccount)(uid=%u)) |
| default_pass_schema | SSHA |
| user_global_gid |
Configuration dovecot.conf
Modifier le fichier /etc/dovecot/dovecot.conf :
| Protocols | imaps pop3s |
| Listen | * |
| disable_plaintext_auth | yes |
| ssl_disable | no |
| ssl_cert_file | /etc/ssl/certs/dovecot.pem |
| ssl_key_file | /etc/ssl/private/dovecot.pem |
| mail_location | maildir :/var/mail/%u |
| login_greeting_capability | yes |
| imap_client_workarounds | tb-extra-mailbox-sep |
| Passdb pam | Il faut commenter cette région |
| Passdb ldap | Il faut décommenter cette région ET ajouter args = /etc/dovecot/dovecot-ldap.conf |
| Userdb pam | Pareil que passdb pam |
| Userdb ldap | Pareil que passdb ldap |
| Socket listen | Il faut décommenter cette région et changer ces paramètres :décommenter pathdécommenter mode (et mettre 660)décommenter group |
Ce qui donne :
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0660
group = mail
}
} Et on redémarre dovecot 2 fois :
# /etc/init.d/dovecot restart
Restarting mail server: dovecotWarning: Fixing permissions of /var/run/dovecot to be world-readable
Warning: Corrected permissions for login directory /var/run/dovecot/login
.
# /etc/init.d/dovecot restart
Restarting mail server: dovecot.
Remarque : Le premier démarrage va fixer les droits de « /var/run/dovecot » et générer le message d’erreur ci-dessus et le deuxième démarrage ne doit entraîner aucune erreur.
Installation du serveur SMTP Postfix
# aptitude install postfix-ldap
Voici les quelques lignes importantes du fichiers « /etc/postfix/main.cf » :
Ajouter sur cette ligne le domaine géré par Postfix
mydestination = localhost, votredomaine.org
Indiquer sur cette ligne les réseaux autorisés à utiliser le serveur SMTP :
mynetworks = 10.0.0.0/8, 127.0.0.0/8, 192.168.0.0/24
Voici les paramètres à ajouter pour l’authentification avec le LDAP dans le fichier « /etc/postfix/main.cf »
virtual_alias_maps = ldap:/etc/postfix/ldap-account.cf
virtual_mailbox_maps = ldap:/etc/postfix/ldap-account.cfCette ligne indique que Postfix doit utiliser Procmail pour délivrer les mails ce qui permet d’avoir des mails au format Maildir dans /var/mail :
mailbox_command = procmail -a "$EXTENSION"
Configuration de Procmail pour enregistrer les mails au format Maildir
Création du fichier de configuration de Procmail :
# vim /etc/procmailrc
Voici le contenu du fichier de configuration de Procmail :
VERBOSE=no
SHELL=/bin/bash
PATH=/bin:/usr/bin:/usr/local/bin
MAILDIR=/var/mail/$LOGNAME/
ORGMAIL=$MAILDIR/emergency-inbox
DEFAULT=$MAILDIR
LOGFILE=$MAILDIR/.procmail.logConfiguration du fichier /etc/postfix/ldap-account.cf
Voici le contenu du fichier « /etc/postfix/ldap-account.cf » à adapter suivant la configuration de votre LDAP :
server_host=VotreServeurLDAP
server_post=389
search_base=ou=Users,dc=domaine,c=org
query_filter= (&(objectclass=posixAccount)(mail=%s))
bind = yes
bind_dn = cn=admin,dc=domaine,c=org
bind_pw = ********
result_attribute = uid
version = 3Remarque : Indiquer le mot de passe en claire à la place des ****
Et on redémarre postfix
# /etc/init.d/postfix restart
Configuration de libnss-ldap
# aptitude install libnss-ldap
Il faut ajouter « ldap » sur les lignes ci-dessous du fichier « /etc/nsswitch.conf » :
passwd: compat ldap
group: compat ldap
shadow: compat ldap Cette commande permet de vérifier que les utilisateurs du LDAP sont reconnus par le serveur de Mail :
# getent passwd
Création des Maildir
Pour que la création automatique des dossiers au format maildir fonctionne pour tous les utilisateurs, il faut modifier les droits du dossier principal contenant tous les mails :
# chmod 777 /var/mail/
Lors de la première connexion au serveur avec Thunderbird, le dossier au format Maildir sera créé automatiquement. Cependant il est possible de créer ce dossier manuellement :
# maildirmake.dovecot /var/mail/tony
# chown -R tony: /var/mail/tony Attention : Il faut que tout les utilisateurs se soient connectés au moins une fois pour créer les maildir dans « /var/mail/%u ». Sans cette manipulation, Postfix risque de créer un fichier au format mbox au lieu de maildir, et plus rien ne fonctionnera avec ce compte.
Pour régler ce problème :
# rm /var/mail/[UTILISATEUR_VEROLEE]
Puis connecter cet utilisateur pour que tout rentre dans l’ordre.
Configuration Thunderbird (côté client)
Pour éviter la validation du certificat à chaque connexion, il faut installer l’extension « Remember Mismatched Domains » :
Puis à la création du compte il faut cocher connexion type SSL.
Version de ce document
| Version | Date | Description |
|---|---|---|
| 0.1 | 30/05/2008 | Création par Nicolas |
| 0.2 | 06/08/2008 | Test, validation et mise en ligne par Tony |

Commentaires
Installation d’un serveur de mail avec Postfix et Dovecot
Le contenu du fichier qui suit ta phrase :
"Voici le contenu du fichier « /etc/postfix/ldap-account.cf » à adapter suivant la configuration de votre LDAP" a une mauvaise mise à la ligne. Il n’a pas utilisé "alt+entrée".
C’est du détail...
Installation d’un serveur de mail avec Postfix et Dovecot
Les boîtes appartiennent a root dans mon cas.
Installation d’un serveur de mail avec Postfix et Dovecot
Bein je ne sais pas trop car c’est mon stagiaire qui à fait l’installation et j’ai simplement vérifié que ça fonctionnait et je n’ai pas essayé sans configurer libnss-ldap
D’un autre coté, je ne vois pas trop comment le système pourrait créer les dossiers au format Maildir s’il ne connait pas le nom des utilisateurs du LDAP.
Il faut bien que la commande
getend passwdretourne les utilisateurs du ldapInstallation d’un serveur de mail avec Postfix et Dovecot
pourquoi tu configure libnss-ldap ?
Moi j’utilise aussi dovecot en ldap mais pas besoin de libnss
demande
salut , vous pouvez m'envoyer la configuration de postfix , car je n'arrive pas à reusir de le configurer avec ldap et merci bcp