Gestion du serveur IMAP dovecot
Dovecot permet de récupérer les informations des utilisateurs depuis un annuaire LDAP. Dans cet exemple, on utilise pas de boite virtuelle, les mails sont remis dans le répertoire personnel de chaque utilisateurs. Les utilisateurs doivent donc avoir un compte UNIX valide, en plus des extensions de mails (à activer dans l'interface de Fusion Directory).
L'agent de remise local de dovecot (LDA) sera utilisé, il pourra donc appliquer des filtres sieve au moment de la remise. Les quotas peuvent être appliqués depuis l'interface de Fusion Directory, dovecot les prendra en compte
Plugins nécessaires
Les plugins systems et mail sont nécessaires pour cette partie, voir cette page pour la configuration d'OpenLDAP
Installation des composants
yum install dovecot dovecot-pigeonhole
Configuration de dovecot
- /etc/dovecot/dovecot.conf
auth_username_format = %n auth_verbose = yes lda_mailbox_autocreate = yes lda_mailbox_autosubscribe = yes mail_plugins = quota quota fts fts_squat managesieve_notify_capability = mailto managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date passdb { args = /etc/dovecot/conf.d/dovecot-ldap.conf.ext driver = ldap } plugin { quota = maildir:User quota quota2 = fs:Disk quota sieve = ~/.dovecot.sieve sieve_dir = ~/sieve } protocols = imap lmtp service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } } service managesieve-login { inet_listener sieve { port = 4190 } } shutdown_clients = no ssl_cert = </etc/dovecot/ssl/mail.firewall-services.com.crt ssl_key = </etc/dovecot/ssl/mail.firewall-services.com.key login_trusted_networks = 10.10.1.10/32 userdb { driver = prefetch } userdb { args = /etc/dovecot/conf.d/dovecot-ldap.conf.ext driver = ldap } protocol lmtp { mail_plugins = quota quota fts fts_squat quota sieve postmaster_address = postmaster@firewall-services.com } protocol lda { mail_plugins = quota quota fts fts_squat sieve } protocol imap { mail_plugins = quota quota fts fts_squat imap_quota }
login_trusted_networks = 10.10.1.10/32
permet de faire tourner un proxy IMAP sur la machine 10.10.1.10. Cette directive permet de:
- Ne pas imposer de sécurité (SSL/TLS) pour l'authentification depuis cette IP
- De loguer l'IP réelle du client au lieu de celle du proxy
Dans la plupart des cas, vous pouvez commenter cette ligne, si vous n'utilisez pas de proxy IMAP
- /etc/dovecot/conf.d/dovecot-ldap.conf.ext
uris = ldap://ldap.firewall-services.com dn = cn=mail,ou=DSA,dc=firewall-services,dc=com dnpass = dsa_p@ssw0rd tls = yes tls_ca_cert_file = /etc/pki/tls/certs/ca-firewall-services.com.pem tls_require_cert = hard ldap_version = 3 auth_bind = yes base = dc=firewall-services,dc=com user_attrs = homeDirectory=home,uidNumber=uid,gidNumber=gid,gosaMailQuota=quota_rule=*:bytes=%$M user_filter = (&(objectClass=gosaMailAccount)(objectClass=posixAccount)(uid=%u)) pass_filter = (&(objectClass=gosaMailAccount)(objectClass=posixAccount)(uid=%u)) pass_attrs = uid=user,userPassword=password,homeDirectory=userdb_home,uidNumber=userdb_uid,gidNumber=userdb_gid,gosaMailQuota=userdb_quota_rule=*:bytes=%$M iterate_attrs = uid=user iterate_filter = (&(objectClass=posixAccount)(objectClass=gosaMailAccount))
Il ne reste plus qu'à démarrer le service dovecot. Dans cette configuration, les mails seront remis dans des boites au format Maildir dans le répertoire personnel de chaque utilisateur (~/Maildir)