Cette page est en cours de rédaction.
Apportez votre aide…

Ceci est une ancienne révision du document !



Les liste de diffusions Mailman

mailman.jpg

Mailman est une application libre pour gérer des listes de diffusion électroniques, les listes de discussion et les « newsletters » (traduisez littéralement par « lettres de nouveautés »). La plupart des listes de diffusions de logiciel libre utilisent Mailman comme programme de gestion des messages. Ce dernier est performant, facile à installer et facile à maintenir.

Il est nécessaire, pour la suite de ce tutoriel, de connaître les commandes Linux, savoir éditer un fichier, et démarrer/arrêter un service sous Linux. Il est aussi requis que vous soyez actuellement sous un système Ubuntu, que vous ayez un accès root (super-utilisateur), et bien sûr que vous souhaitiez utiliser le programme Mailman.

Enfin, il est nécessaire que vous ayez une connexion internet, et que vous ayez configuré le fichier « /etc/apt/sources.list » (voir la page des dépôts).

Apache2

Apache2 est déjà disponible dans les dépôts, donc installez-le avec les paquets apache2 apache2-common .

Exim4

Installez les paquets exim4 exim4-base exim4-config.

Une fois Exim4 installé, les fichiers de configuration se trouvent dans « /etc/exim4/ ». Dans Ubuntu, par défaut, les fichiers de configuration de Exim4 sont répartis en plusieurs fichiers.

Vous pouvez changer ceci en éditant la variable ci-dessous dans « /etc/exim4/update-exim4.conf.conf » :

dc_use_split_config='true' # ='false' pour désactiver l'option

Si vous faites face à un problème durant l'installation et que vous êtes incapable de résoudre ce dernier, référez-vous à la liste de diffusion appropriée pour plus d'assistance.

Mailman

Installez le paquet mailman.

Cette dernière copiera les fichiers d'installation dans le dossier « /var/lib/mailman » et installera les scripts CGI dans le dossier « /usr/lib/cgi-bin/mailman ». Enfin, le programme créera le groupe et l'utilisateur « list ». Notez que le processus « mailman » doit être lancé avec les privilèges super-utilisateur.

Pour cette section, il est nécessaire que vous ayez complété avec succès l'installation de Mailman, Apache et Exim4. Ici, nous allons voir les étapes de configuration. À la fin de cette section, Mailman devrait être prêt à être utilisé.

Apache

Une fois l'installation d'Apache2 effectuée, vous pouvez le démarrer avec la commande suivante :

sudo /etc/init.d/apache2 start

Mailman utilise Apache pour créer un rendu de ses scripts CGI. Les scripts de Mailman se trouvent dans le dossier « /usr/lib/cgi-bin/mailman ». Dans le fichier « /etc/apache2/apache2.conf », rajoutez une ligne :

ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/

Ceci aura pour effet de poser le répertoire /usr/lib/cgi-bin/mailman/ à la racine du serveur, c'est-à-dire en http://votre_domaine/mailman. Faites de même pour que les archives soient accessibles en http://votre_domaine/archives : Alias /archives/ /var/lib/mailman/archives/public/

Vous pouvez évidemment fignoler les préférences, par exemple en ajoutant dans ce même fichier :

<Directory /usr/lib/cgi-bin/mailman/>
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
</Directory>
<Directory /var/lib/mailman/archives/public>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Exim4

Pour que Mailman puisse fonctionner avec Exim4, vous êtes supposé configurer ce dernier. Comme mentionné plus haut, par défaut, Exim4 utilise de multiples fichiers de configurations, et de tout type. Pour plus de détails, merci de vous référer au site officiel d'Exim.

Pour démarrer Mailman, nous devons ajouter un nouveau fichier de configuration avec les catégories suivantes :

  • Configuration globale (main)
  • Transport
  • Routeur (router)

Exim crée un fichier principal de configuration, ainsi que plusieurs mini-fichiers de configuration. C'est pourquoi, l'ordre de ces fichiers de configuration est important. Une fois ces fichiers créés, vous pouvez lancer Exim4 avec la commande :

sudo /etc/init.d/exim4 start

Configuration globale (main)

Tous les fichiers de configuration concernant le type « main » sont stockés dans le dossier « /etc/exim4/conf.d/main/ ». Vous pouvez ajouter les lignes suivantes dans un nouveau fichier nommé « 04_exim4-config_mailman » :

 # start
 # Home dir for your Mailman installation -- aka Mailman's prefix
 # directory.
 # By default this is set to "/usr/local/mailman"
 # On a Red Hat/Fedora system using the RPM use "/var/mailman"
 # On Debian using the deb package use "/var/lib/mailman"
 # This is normally the same as ~mailman
 MM_HOME=/var/lib/mailman
 #
 # User and group for Mailman, should match your --with-mail-gid
 # switch to Mailman's configure script.  Value is normally "mailman"
 MM_UID=list
 MM_GID=list
 #
 # Domains that your lists are in - colon separated list
 # you may wish to add these into local_domains as well
 domainlist mm_domains=bluestar.co.in
 #
 # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 #
 # These values are derived from the ones above and should not need
 # editing unless you have munged your mailman installation
 #
 # The path of the Mailman mail wrapper script
 MM_WRAP=MM_HOME/mail/mailman
 #
 # The path of the list config file (used as a required file when
 # verifying list addresses)
 MM_LISTCHK=MM_HOME/lists/${lc::$local_part}/config.pck
 # end

Transport

Tous les fichiers de configuration concernant le type « transport » sont stockés dans le dossier « /etc/exim4/conf.d/transport/ ». Vous pouvez ajouter les lignes suivantes dans un nouveau fichier nommé « 04_exim4-config_mailman »:

  mailman_transport:
   driver = pipe
   command = MM_WRAP \
               '${if def:local_part_suffix \
                     {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
                     {post}}' \
               $local_part
    current_directory = MM_HOME
    home_directory = MM_HOME
    user = MM_UID
    group = MM_GID

Routeur (router)

Tous les fichiers de configuration concernant le type « router » sont stockés dans le dossier « /etc/exim4/conf.d/router/ ». Vous pouvez ajouter les lignes suivantes dans un nouveau fichier nommé « 04_exim4-config_mailman »:

  mailman_router:
   driver = accept
   require_files = MM_HOME/lists/$local_part/config.pck
   local_part_suffix_optional
   local_part_suffix = -bounces : -bounces+* : \
                       -confirm+* : -join : -leave : \
                       -owner : -request : -admin
   transport = mailman_transport

Mailman

Modifiez d'abord les paramètres de mailman afin qu'il reconnaisse votre nom de domaine. Éditez le fichier /etc/mailman/mm_cfg.py et ajoutez-y :

DEFAULT_EMAIL_HOST = 'votre_domaine.fr'
DEFAULT_URL_HOST = 'votre_domaine.fr'

L'adresse de la liste sera du type nom_liste@votre_domaine.fr.

Créez ensuite une liste de diffusion, ici « ubuntu »:

$ sudo newlist mailman

Entrez l'adresse courriel du gestionnaire de la liste : utilisateur@serveur.com
Mot de passe initial de la liste mailman :
Pour achever la création de votre liste de diffusion, vous devez
modifier votre fichier /etc/aliases (ou équivalent) en y ajoutant les
lignes suivantes et peut être exécuter le programme « newaliases »:

liste de diffusion ## mailman
mailman:              "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/var/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe mailman"

Tapez sur Entrée pour aviser le propriétaire de mailman...

Nous avons configuré Exim afin qu'il reconnaisse tous les courriels de Mailman. Ainsi, il n'est plus obligatoire de créer des entrées dans « /etc/aliases ». Si vous avez effectué un changement quelconque, merci de vous assurez du fait que vous ayez redémarré tous les services, avant de passer à la section suivante.

Enfin, démarrez Mailman :

sudo /etc/init.d/mailman start

Nous allons maintenant voir comment administrer Mailman. Cette étape considère que l'installation de ce dernier a correctement été effectuée.

Mailman fournit une administration web facile d'utilisation. Pour y accéder, entrez le lien suivant dans votre navigateur internet : http://serveur/cgi-bin/mailman/admin

La liste de diffusion par défaut « mail » devrait apparaître sur l'écran. Si vous cliquez sur celle-ci, on vous demandera un mot de passe pour vous identifier. Si vous entrez le bon mot de passe, vous pourrez changer les options d'administration de la liste de diffusion.

Vous pouvez créer une nouvelle liste de diffusion en utilisant l'utilitaire « newlist » en ligne de commande. Alternativement, vous pourez utiliser l'interface web pour en créer une nouvelle.

Mailman fournit aussi une interface web pour les utilisateurs. Pour y accéder, entrez le lien suivant dans votre navigateur : http://serveur/cgi-bin/mailman/listinfo

La liste de diffusion par défaut, « mailman », devrait apparaître à l'écran. Si vous cliquez sur le nom de la liste de diffusion, l'interface affichera le formulaire de souscription. Vous pouvez entrer votre adresse électronique, votre nom (optionnel), et un mot de passe, afin de vous inscrire. Suivez les instructions contenues dans le courriel envoyé à la fin de l'inscription, pour finir cette dernière.

Si vous n'arrivez pas à envoyer de mails avec exim, vérifiez que vos fichiers logs ne contiennent pas une des erreurs suivantes :

554 SMTP service not available

Il suffit d'autorisez l'accès au service exim en ajoutant dans le fichier /etc/hosts.allow la ligne :

exim : ALL

553 sorry, your envelope sender domain must exist (#5.7.1)

Modifiez le paramètre primary_hostname dans le fichier de configuration d'exim, /etc/mail/exim.conf, de telle sorte qu'il contienne votre nom de domaine :

primary_hostname = mon_domaine.fr

Contributeurs : Kmeleon (traduction), Ner0lph (mise aux normes).

  • mailman.1249515915.txt.gz
  • Dernière modification: Le 18/04/2011, 14:40
  • (modification externe)