Open-Exchange
Serveur smtp (Postfix)
Nous allons voir comment faire pour configurer Postfix afin qu'il aille chercher les utilisateurs du groupware dans l'arbre LDAP afin d'avoir un serveur de mail qui marche en plus de notre serveur de Groupware.
Tout d'abord vous devez modifier quelques paramètres dans la configuration basique de postfix. Ces paramètres vont permettre de refléter votre environnement. Ce sont les valeurs suivantes dans le fichier "/etc/postfix/main.cf" :
smtpd_banner : c'est le message qu'affichera notre serveur de mail lorsque quelqu'un se connectera
myhostname : le nom d'hôte FQDN de la machine (nom d'hôte + nom de domaine)
mynetworks : les réseaux qui seront authorisés à envoyer des mails sans restriction par notre serveur. Si vous ne voulez pas authoriser de relaying, pour avoir un serveur dédié pour le groupware, laissez ce paramètre vide
Nous pouvons ensuite passer à la configuration de Postfix avec le serveur LDAP. Nous ne verrons ici que les bases, sans expliquer tous les paramètres. Rajoutez donc ces paramètres à la suite de votre fichier existant :
transport_maps = ldap:transport
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_mailbox_base = /Users/vmail
virtual_mailbox_maps = ldap:accounts
virtual_maps = ldap:accountsmap
Nous allons ensuite insérer les différentes directives permettant de rechercher dans l'arbre LDAP. Vous devez modifier les paramètres suivants pour refléter votre environnement :
*_server_host : l'adresse de votre serveur LDAP
*_server_port : le port sur lequel écoute votre serveur LDAP
*_search_base : la base de recherche pour les utilisateurs (si vous n'utilisez pas le préfix de base)
*_bind_dn : le Distinguished Name à utiliser pour se connecter au serveur LDAP
*_bind_pw : le mot de passe à utiliser avec le DN précédant
Et voici les différents paramètres à utiliser pour effectuer les bonnes recherches dans l'arbre LDAP :
#Transports
transport_server_host = 127.0.0.1
transport_server_port = 389
transport_result_attribute = deliveryMode
transport_scope = one
transport_cache = no
transport_bind = yes
transport_search_base = ou=Users,ou=OxObjects,dc=example,dc=com
transport_query_filter = (&(&(mail=%s)(mailEnabled=OK))(objectClass=OxUserObject))
transport_bind_dn = uid=mailadmin,ou=Users,ou=OxObjects,dc=example,dc=com
transport_bind_pw = mot_de_passe_secret
transport_version = 3
# Accounts
accounts_server_host = 127.0.0.1
accounts_server_port = 389
accounts_search_base = ou=Users,ou=OxObjects,dc=example,dc=com
accounts_query_filter = (&(&(mail=%s)(mailEnabled=OK))(objectClass=OxUserObject))
accounts_result_attribute = mailMessageStore
accounts_scope = one
accounts_cache = no
accounts_bind = yes
accounts_bind_dn = uid=mailadmin,ou=Users,ou=OxObjects,dc=example,dc=com
accounts_bind_pw = mot_de_passe_secret
accounts_version = 3
accountsmap_server_host = 127.0.0.1
accountsmap_server_port = 389
accountsmap_bind = yes
accountsmap_bind_dn = uid=mailadmin,ou=Users,ou=OxObjects,dc=example,dc=com
accountsmap_bind_pw = mot_de_passe_secret
accountsmap_search_base = ou=Users,ou=OxObjects,dc=example,dc=com
accountsmap_query_filter = (&(&(mail=%s)(mailEnabled=OK))(objectClass=OxUserObject))
accountsmap_result_attribute = mail
accountsmap_version = 3
accountsmap_cache = no
Si vous désirez alléger votre serveur LDAP, vous pouvez mettre le paramètre :
*_cache
à la valeur "yes" au lieu de "no".
Vous devez ensuite vous modifier le paramètre local_recipient_maps, pour qu'il aille chercher ses utilisateurs dans les définitions LDAP que l'on vient de faire. Pour cela, la valeur doit au moins contenir :
local_recipient_maps = $alias_maps $virtual_mailbox_maps
Une fois cela effectué, vous pouvez relancer postfix avec l'outil graphique "Server Manager"