Mailman

Mailman est un logiciel libre permettant la gestion de discussions par courrier électronique et de listes de bulletins d'information électroniques. De nombreuses listes de discussions sur le libre ( dont toutes les listes de discussions de Ubuntu ) utilisent Mailman comme logiciel de gestion de liste de diffusion. Il est puissant, facile à installer et à gérer.

Installation

Mailman offre aux administrateurs et utilisateurs une interface web. C'est pourquoi, il a besoin d'apache avec le support de mod_perl. Mailman utilise un serveur de courriel externe pour envoyer et recevoir les courriels. Il fonctionne parfaitement avec les serveurs de courrier suivants :

  • Postfix

  • Exim

  • Sendmail

  • Qmail

Nous allons voir comment installer Mailman, le serveur web apache et le serveur de courriels Exim. Si vous désirez installer Mailman associé à un autre serveur de courriels, veuillez consulter la section « Références ».

Apache2

Pour installer apache2, référez vous à la section Installation de HTTPD pour plus de détails.

Exim4

Pour installer Exim4, exécutez les commandes suivantes dans un terminal :

sudo apt-get install exim4
sudo apt-get install exim4-base
sudo apt-get install exim4-config

Une fois exim4 installé, les fichiers de configuration sont stockés dans le répertoire /etc/exim4. Par défaut, dans Ubuntu les fichiers de configuration de exim4 sont divisés en plusieurs fichiers. Vous pouvez changer ce comportement en modifiant le paramètre suivant dans le fichier /etc/exim4/update-exim4.conf :

  • dc_use_split_config='true'

Mailman

Pour installer Mailman, exécutez la commande suivante dans une console :

sudo apt-get install mailman 

Cela copie les fichiers d'installation dans le répertoire /var/lib/mailman, installe les scripts CGI dans le répertoire /usr/lib/cgi-bin/mailman, crée l'utilisateur linux list, ainsi que le groupe linux list. Le processus Mailman sera la propriété de cet utilisateur.

Configuration

Cette section suppose que vous ayez installé mailman, apache2 et exim4 avec succès. Maintenant, vous avez juste besoin de les configurer.

Apache2

Une fois Apache2 installé, vous pouvez ajoutez les lignes suivantes dans le fichier /etc/apache2/apache2.conf :

Alias /images/mailman/ "/usr/share/images/mailman/"
Alias /pipermail/ "/var/lib/mailman/archives/public/"

Mailman utilise Apache2 pour exécuter ses scripts CGI. Les scripts CGI de Mailman sont installés dans le répertoire /usr/lib/cgi-bin/mailman. C'est pourquoi l'URL de Mailman sera http://hostname/cgi-bin/mailman/. Vous pouvez modifier le fichier /etc/apache2/apache2.conf si vous souhaitez changer ce comportement.

Exim4

Une fois Exim4 installé, vous pouvez démarrer le serveur Exim grâce à la commande suivante entrée à l'invite d'un terminal :

sudo apt-get /etc/init.d/exim4 start

Afin que Mailman utilise Exim4, vous devez de configurer Exim4. Comme mentionné précédemment, par défaut, Exim4 utilise de multiples fichiers de configuration, de types différents. Pour plus de détails, veuillez vous référer au site internet de Exim. Pour exécuter Mailman, il nous faut ajouter un nouveau fichier de configuration aux types de configuration suivants :

  • Principal

  • Transport

  • Routeur

Exim crée un fichier de configuration principal en triant tous ces petits fichiers de configuration. C'est pourquoi, l'ordre de ces fichiers de configuration est très important.

Principal

Tous les fichiers de configuration appartenant à la catégorie Principal sont stockés dans le répertoire /etc/exim4/conf.d/main/. Vous pouvez ajouter le contenu suivant dans un nouveau fichier, nommé 04_exim4-config_mailman :

# start
# Home dir for your Mailman installation -- aka Mailman's prefix
# directory.
# On Ubuntu this should be "/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=hostname.com
#
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#
# 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 appartenant à la catégorie Transport sont stockés dans le répertoire /etc/exim4/conf.d/transport/. Vous pouvez ajouter le contenu suivant dans un nouveau fichier, nommé 40_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

Tous les fichiers de configuration appartenant à la catégorie Routeur sont stockés dans le répertoire /etc/exim4/conf.d/router/. Vous pouvez ajouter le contenu suivant dans un nouveau fichier, nommé 101_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
[Avertissement]

L'ordre des fichiers de configuration des catégories Principal et Transport n'est pas important. Mais l'ordre des fichiers de configuration de la catégorie Routeur doit être respecté. Ce fichier particulier doit se trouver avant le fichier 200_exim4-config_primary. Ces deux fichiers de configuration contiennent le même type d'information, le premier fichier étant prioritaire. Pour plus de détails, veuillez vous reporter à la section « Références ».

Mailman

Une fois mailman installé, vous pouvez l'exécuter grâce à la commande suivante :

sudo /etc/init.d/mailman start

Une fois mailman installé, vous devez créer la liste de diffusion par défaut. Utilisez la commande suivante pour créer la liste de diffusion :

sudo /usr/sbin/newlist mailman
  Enter the email address of the person running the list: bhuvan at ubuntu.com
  Initial mailman password:
  To finish creating your mailing list, you must edit your /etc/aliases (or
  equivalent) file by adding the following lines, and possibly running the
  `newaliases' program:

  ## mailman mailing list
  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"

  Hit enter to notify mailman owner...

  # 

Nous avons configuré exim pour qu'il reconnaisse tous les courriers électroniques issus de mailman. Il n'est donc pas indispensable de créer de nouvelles entrées dans /etc/aliases. Si vous avez procédé à des modifications dans les fichiers de configuration, assurez-vous de redémarrer ces services avant de passer à la section suivante.

Administration

Nous supposons que vous avez fait une installation par défaut. Les scripts cgi de mailman se trouvent toujours dans le répertoire /usr/lib/cgi-bin/mailman/. Mailman fournit un outil d'administration par internet. Pour accéder à cette page, ouvrez l'adresse suivante dans votre navigateur :

http://hostname/cgi-bin/mailman/admin

La liste de diffusion par défaut, mailman, apparaitra sur cet écran. Si vous cliquez sur le nom de la liste, il vous sera demandé votre mot de passe d'authentification. Si vous entrez le bon mot de passe, alors vous pourrez modifier les paramètres d'administration de cette liste de diffusion. Vous pouvez créer une nouvelle liste de diffusion, en ligne de commande, avec l'utilitaire /usr/sbin/newlist. Sinon, vous pouvez aussi créer une nouvelle liste de diffusion en utilisant l'interface web.

Utilisateurs

Mailman fournit aux utilisateurs une interface web. Pour accéder à cette page, ouvrez avec votre navigateur l'adresse suivante :

http://hostname/cgi-bin/mailman/listinfo

La liste de diffusion par défaut, mailman, apparaitra sur cet écran. Si vous cliquez sur le nom de la liste, vous verrez apparaitre le formulaire d'inscription. Vous pourrez alors saisir votre adresse électronique, votre nom ( facultatif ) et votre mot de passe afin de vous y inscrire. Un courriel d'invitation vous sera adressé. Vous pourrez alors suivre les instructions de ce courriel pour vous inscrire.

Références

GNU Mailman - Manuel d'installation

Guide partique - Utiliser Exim4 avec Mailman 2.1