Posts tagged ‘alias’

Avant-propos

Cet article se veut être un guide pour la mise en place d’une gestion déportée dans un annuaire LDAP des alias sur un serveur SMTP Postfix. L’architecture repose sur un serveur LDAP géré grâce à l’outil GOsa.

Installation du plugin

On considère que vous disposez d’un serveur sur lequel GOsa est opérationnel. On considère que vous utilisez un OS Debian. Ce plugin a été testé avec succès sur les versions 2.6.6, 2.6.3 et 2.6.4.
Il a également été testé sur une version 2.6.1. Si vous utilisez cette version, il est néanmoins nécessaire de faire quelques adaptations dans le code source du fichier class_aliasManagement.inc. Il vous sera nécessaire de commenter tous les appels à la fonction set_object_info et de décommenter la ligne qui suit ces appels (ligne contenant session::set ou session::un_set)

L’installation du plugin est relativement aisée. Téléchargez l’archive ici.
Lancez ensuite la commande suivante pour extraire les fichiers dans l’arborescence GOsa :

tar xzf gosa-plugin-aliases.tar.gz -C /usr/share/gosa

Éditez ensuite le fichier de configuration de GOsa (/etc/gosa/gosa.conf) et ajoutez la ligne suivante dans la section Addons :

<plugin acl="alias" class="aliasManagement" />

Ajoutez ensuite la section suivante après la dernière déclaration de tabs

<aliastabs>
	<tab class="alias" name="Generic" />
</aliastabs>

Lancez ensuite la commande suivante afin de mettre à jour le cache des classes disponibles ainsi que les fichiers de traduction :

sudo update-gosa

Il est également nécessaire de redémarrer le serveur apache qui héberge GOsa :

sudo /etc/init.d/apache2 restart

Éditez le schema LDAP /etc/ldap/schema/misc.schema pour modifier la classe nisMailAlias :

objectclass ( 1.3.6.1.4.1.42.2.27.1.2.5
       	NAME 'nisMailAlias'
        DESC 'NIS mail alias'
       	SUP top STRUCTURAL
        MUST cn
       	MAY ( rfc822MailMember $ description ) )

Redémarrez votre serveur LDAP :

sudo /etc/init.d/slapd restart

Votre plugin est dès à présent opérationnel. Il est accessible depuis le menu Addons de la partie gauche de l’interface depuis n’importe quelle page ou depuis la page principale de l’interface GOsa.

Configuration de Postfix

On considère que vous disposez d’une installation fonctionnelle de Postfix avec le support LDAP activé.
Créez le fichier /etc/postfix/ldap_alias.cf avec le contenu suivant :

server_host = ldap.domain.tld
search_base = c=France,dc=domain,dc=tld
query_filter = (&(objectclass=nisMailAlias)(ou:dn:=Aliases)(|(cn=%s)(cn=%u)))
result_attribute = rfc822MailMember
scope = sub
bind = no

Modifiez ensuite le fichier

/etc/postfix/main.cf

pour modifier la directive virtual_alias_maps :

virtual_alias_maps =
...
ldap:/etc/postfix/ldap_alias.cf,
...

Assurez-vous que la directive alias_maps contient bien $virtual_alias_maps et que la directive local_recipient_maps contient bien $alias_maps (ce qui est le cas par défaut).
Redémarrez alors le serveur Postfix :

sudo /etc/init.d/postfix reload

Il ne reste qu’à tester que vos alias sont bien pris en compte. Si vous avez créé un alias toto@domain.tld, lancez la commande suivante :

sudo postmap -q toto@domain.tld ldap:/etc/postfix/ldap_alias.cf

Vous devez voir apparaître la liste des destinataires de cet alias, séparés par des virgules.

Liens

  • Page officielle du projet GOsa
  • Documentation officielle de Postfix