Open-Exchange
Configuration de l'annuaire
Configuration du serveur
Tout d'abord nous allons utiliser les outils graphiques Apple pour changer le rôle de notre serveur d'annuaire. Il faut donc modifier ce rôle dans l'outil : "Server Admin", puis modifier le service OpenDirectory afin de changer le rôle de ce serveur en tant que "Open Directory Master".
Vous devez créer une base de domaine lorsque vous activez ce rôle, nous choisirons comme base "dc=esi-supinfo,dc=com" dans notre exemple. Pour plus d'infos pour choisir la base de votre domaine, veuillez consulter l'essentiel sur OpenLDAP à cette adresse : http://www.labo-linux.org/index.php?page=essentiels&id=416. Si vous ne choisissez pas le même, il vous faudrat modifier cela dans toute la suite du document.
Commencons donc par récupérer un autre schéma qui nous servira lors de la configuration de Postfix. Ce schéma s'appelle postfix.schema et il est à sauver dans le répertoire /etc/openldap/schema/. Vous pouvez le récupérer ici : postfix.schema
Ensuite nous pouvons utiliser notre terminal afin de modifier manuellement le fichier de configuration. Le fichier de configuration se trouve dans le dossier /etc/openldap/slapd_macosxserver.conf
Rajoutez la ligne suivante au début de ce fichier afin d'inclure les propriétées du schéma pour Postfix et Open-Xchange :
include /etc/openldap/schema/postfix.schema
include /usr/local/ox/share/openxchange.schema
Nous allons ensuite rajouter les ACLs (Access Control List) pour protéger un petit peu notre arborescence LDAP, mais nous devons d'abord commenter une ACL faite par Apple et qui nous embêterait en nous empêchant d'utiliser les notres. Commentez donc les lignes suivantes :
access to *
by group/posixGroup/memberUid="cn=admin,cn=groups,dc=esi-supinfo,dc=com" write
by * read
Nous pouvons alors rajouter nos ACLs, après celle que vous venez de commenter :
#### OpenXchange ACLs ####
access to dn="ou=Groups,ou=OxObjects,dc=esi-supinfo,dc=com"
by dn="uid=mailadmin,ou=Users,ou=OxObjects,dc=esi-supinfo,dc=com" write
by users read
access to * attr=UserPassword
by self write
by anonymous auth
access to dn="ou=addr,uid=(.*),ou=Users,ou=OxObjects,dc=esi-supinfo,dc=com" \
attr=uid,objectClass,entry filter=(objectClass=OXUserObject)
by self write
by dn="uid=$1,ou=Users,ou=OxObjects,dc=esi-supinfo,dc=com" write
by * none
access to dn.subtree="o=AddressBook,ou=OxObjects,dc=esi-supinfo,dc=com"
by group="cn=AddressAdmins,o=AddressBook,ou=OxObjects,dc=esi-supinfo,dc=com" write
by users read
by * none
access to * attr=uid,objectClass,entry filter=(objectClass=OXUserObject)
by self write
by * read
access to dn="uid=mailadmin,ou=Users,ou=OxObjects,dc=esi-supinfo,dc=com" \
attr=imapServer,mailDomain,smtpServer,sn,uid,givenName
by self write
by users read
access to dn="uid=mailadmin,ou=Users,ou=OxObjects,dc=esi-supinfo,dc=com"
by self write
by anonymous auth
by * none
access to dn="ou=addr,uid=(.*),ou=Users,ou=OxObjects,dc=esi-supinfo,dc=com"
by dn="uid=$1,ou=Users,ou=OxObjects,dc=esi-supinfo,dc=com" write
by * none
access to dn="ou=Users,ou=OxObjects,dc=esi-supinfo,dc=com"
by dn="uid=mailadmin,ou=Users,ou=OxObjects,dc=esi-supinfo,dc=com" write
by self write
by users read
by anonymous auth
access to dn="ou=OxObjects,dc=esi-supinfo,dc=com"
by users read
by anonymous auth
access to dn="dc=esi-esi-supinfo,dc=com"
by dn="uid=*,ou=Users,ou=OxObjects,dc=esi-supinfo,dc=com" read
access to *
by self write
by anonymous auth
Nous devons maintenant redémarrer le serveur LDAP afin de prendre les changements en compte :
SystemStarter restart LDAP
Nous allons maintenant importer les données de bases nécessaire à Open-Xchange. Nous devons d'abord modifier la base du domaine grâce à une commande perl :
perl -i -pe "s/example,dc=com/esi-supinfo,dc=com/g" /usr/local/ox/share/init_ldap.ldif
Editez ensuite ce fichier afin de changer le mot de passe pour l'entrée : uid=mailadmin,ou=Users,ou=OxObjects,dc=esi-supinfo,dc=com. Recherchez l'attribut userPassword pour le changer. Afin de créer un mot de passe crypté, vous pouvez utiliser la commande slappasswd -h {MD5} qui vous génèreras un mot de passe en MD5 à insérer dans ce fichier.
slappasswd -h {MD5}
New password:
Re-enter new password:
{MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ==Ici nous avons rentré secret comme mot de passe, et la chaine à insérer dans notre fichier ldif est : {MD5}Xr4ilOzQ4PCOq3aQ0qbuaQ==
Nous pouvons maintenant rajouter le contenu de ce fichier dans notre arbre LDAP grâce à la commande ldapadd :
ldapadd -h localhost -W -f /usr/local/ox/share/init_ldap.ldif
Configuration du client LDAP
Nous devons modifier la configuration du client LDAP afin de prendre en compte notre base. Pour cela modifions le fichier : /etc/openldap/ldap.conf. Modifiez ce fichier pour qu'il ressemble à cela :
BASE dc=example,dc=com
HOST localhost
URI ldap://localhost
Attention : il ne faut pas mettre d'espace dans l'argument de la base.
Nous devons ensuite créer deux liens afin d'utiliser ce fichier comme configuration LDAP pour notre serveur Open-Xchange.
ln -sf /etc/openldap/ldap.conf /usr/local/ox/etc/groupware/ldap.conf
ln -sf /private/etc/openldap/ldap.conf /usr/local/ox/etc/webmail/ldap.conf