Mailman est une application libre pour gérer des listes de diffusion électroniques et les « infolettres » (ou « newsletters » en anglais, traduisez littéralement par « lettres de nouvelles »). 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.
Pré-requis
modifierIl 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 » (ce qui est déjà fait par défaut sur Ubuntu).
Installation
modifierMailman fournit une interface web pour les administrateurs et les utilisateurs. C'est pourquoi il requiert Apache. Mailman utilise un serveur de courriels externe pour envoyer/recevoir des courriels. Mailman a été testé et approuvé pour les types de serveurs de courriels suivants :
Dans cette section, nous choisissons le serveur de courriel Exim, pou sa compétitivité[1]. Nous utiliserons Mailman 2.1.5-x, Apache 2.0.54-x, et Exim 4.52-2. Mais si vous souhaitez installer Mailman avec un serveur de courriel différent, merci de vous référer à la documentation] de Mailman[2].
Apache2
modifierApache2 est déjà disponible dans les dépôts, donc installez-le avec la commande suivante :
$ sudo apt-get install apache2 apache2-common
ou via l'interface graphique Synaptic.
Exim4
modifierInstallez Exim4 avec la commande suivante :
$ sudo apt-get install 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
A ce stade, on peut tester un envoi. Exemple avec telnet (remplacer example.com par de vraies adresses) :
telnet localhost 25
helo 0.0
mail from:<postmaster@example.com>
rcpt to:<postmaste@example.com>
data
subject:Test Exim
Et voilà
.
quit
Puis analyser le résultat dans les logs :
$ tail /var/log/exim4/mainlog
Problèmes connus
modifierMailing to remote domains not supported
modifierDans /etc/exim4/update-exim4.conf.conf
, il faut y autoriser l'envoi vers des domaines extérieurs : dc_eximconfig_configtype='internet'
.
Unrouteable address
modifierSurvient quand un alias est défini vers un domaine non prévu par la configuration.
Puis redémarrer Exim et renvoyer les mails "frozen" :
$ /etc/init.d/exim4 restart $ exim -qff
Sinon, analyser les détails avec /usr/sbin/exim4 -d -bt mail
.
R=dnslookup defer (-1): lowest numbered MX record points to local host
modifier$ vim /etc/remotedomains $ vim /etc/localdomains
Mailman
modifierInstallez Mailman simplement avec la commande ci-dessous :
$ sudo apt-get install 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 :
$ sudo /etc/init.d/mailman start
Configuration
modifierPour 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
modifierUne 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 ». Donc, le lien Mailman devrait être http://serveur/cgi-bin/mailman/. Vous pouvez changer ce dernier à partir du fichier « /etc/apache2/apache2.conf »[3].
Exim4
modifierVous pouvez lancer Exim4 avec la commande suivante :
$ sudo /etc/init.d/exim4 start
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[4].
Pour démarrer Mailman, nous devons ajouter un nouveau fichier de configuration avec les catégories suivantes :
- Main (principale)
- Transport
- Router (routeur)
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.
Main
modifierTous 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
modifierTous 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
Router
modifierTous 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
Boites mails
modifier$ sudo /usr/share/doc/exim4-base/examples/exim-adduser[5]
Mailman
modifierCréez tout d'abord une liste de diffusion, ici « ubuntu »:
$ sudo newlist ubuntu
Entrez l'adresse courriel du gestionnaire de la liste : utilisateur@serveur.com Mot de passe initial de la liste ubuntu : 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 ## ubuntu ubuntu: "|/var/lib/mailman/mail/mailman post ubuntu" ubuntu-admin: "|/var/lib/mailman/mail/mailman admin ubuntu" ubuntu-bounces: "|/var/lib/mailman/mail/mailman bounces ubuntu" ubuntu-confirm: "|/var/lib/mailman/mail/mailman confirm ubuntu" ubuntu-join: "|/var/lib/mailman/mail/mailman join ubuntu" ubuntu-leave: "|/var/lib/mailman/mail/mailman leave ubuntu" ubuntu-owner: "|/var/lib/mailman/mail/mailman owner ubuntu" ubuntu-request: "|/var/lib/mailman/mail/mailman request ubuntu" ubuntu-subscribe: "|/var/lib/mailman/mail/mailman subscribe ubuntu" ubuntu-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe ubuntu"
Tapez sur Entrée pour aviser le propriétaire de ubuntu...
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
Administration
modifierNous 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 pourrez utiliser l'interface web pour en créer une nouvelle.
Problèmes connus
modifierWe're sorry, we hit a bug!
modifier$ tail /var/log/mailman/error
Utilisateurs
modifierMailman 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.
Voir aussi
modifier