Copyright © 2003 Rich Price
Ce mini-guide pratique est la suite logique de ma tentative pour configurer Mailman sur un système Debian [Woody] qui utilise Exim comme MTA (Mail Transfer Agent, agent de messagerie). J'ai commencé à prendre des notes lorsque j'ai réalisé que les informations dont j'avais besoin se trouvaient disséminées sur un grand nombre de FAQs et de fichiers README.
Veuillez noter que la plus grande partie de ces informations apparaissent dans la documentation livrée avec le paquetage Mailman. Je les ai simplement compilées sous une forme plus cohérente et plus lisible.
Je pars du principe dès le début qu'Apache et Exim sont tous les deux installés et opérationnels. Le paquetage Mailman devrait déjà être installé avec apt-get install mailman.
Debian installe mailman avec les structures de répertoires suivantes :
/etc/mailman est l'emplacement du fichier de configuration de mailman [mm_cfg.py]. /var/lib/mailman est l'endroit où seront créées les listes et les archives. /usr/lib/mailman est l'endroit où Mailman est installé. /usr/doc/mailman est l'endroit où se trouve la documentation. |
Notez que pour tous les fichiers installés, « user » est « root » et « group » est « liste ».
Apportez d'abord les modifications suivantes au fichier de configuration exim.
Insérez ces lignes à la fin de la section des paramètres de configuration principale (Version texte) :
# Mailman stuff # home dir for mailman MAILMAN_HOME=/var/lib/mailman # wrapper script for mailman MAILMAN_WRAP=MAILMAN_HOME/mail/wrapper # user and group for mailman MAILMAN_UID=list MAILMAN_GID=daemon |
Insérez ces lignes à la fin de la section de configuration des transports (Version texte) :
# Mailman stuff ## ## Three transports for list mail, request mail and admin mail ## respectively ## Mailman is installed in MAILMAN_HOME ## Mailman is configured to be invoked as user exim list_transport: driver = pipe command = MAILMAN_WRAP post ${lc:$local_part} current_directory = MAILMAN_HOME home_directory = MAILMAN_HOME user = MAILMAN_UID group = MAILMAN_GID list_request_transport: driver = pipe command = MAILMAN_WRAP mailcmd ${lc:$local_part} current_directory = MAILMAN_HOME home_directory = MAILMAN_HOME user = MAILMAN_UID group = MAILMAN_GID list_admin_transport: driver = pipe command = MAILMAN_WRAP mailowner ${lc:$local_part} current_directory = MAILMAN_HOME home_directory = MAILMAN_HOME user = MAILMAN_UID group = MAILMAN_GID |
Dans la section de configuration des redirecteurs, changez system_aliases pour qu'il ressemble à ceci (Version texte) :
system_aliases: driver = aliasfile file_transport = address_file pipe_transport = address_pipe file = /etc/aliases search_type = lsearch user = list |
Insérez ces lignes dans la section de configuration des redirecteurs, juste avant la partie conernant la boîte aux lettres utilisateur (Version texte) :
# Mailman Stuff ## Directors section [this deals with local addresses] ## ## First 2 directors rewrite list-owner or owner-list to list-admin ## This is only done if the list exists. ## List existence checks are done by seeing if the file ## MAILMAN_HOME/lists//config.db exists. list_owner_director: driver = smartuser require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db suffix = "-owner" new_address = "${lc:$local_part}-admin@${domain}" owner_list_director: driver = smartuser require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db prefix = "owner-" new_address = "${lc:$local_part}-admin@${domain}" ## The next 3 directors direct admin, request and list mail to the ## appropriate transport. List existence is checked as above. list_admin_director: driver = smartuser suffix = -admin require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db transport = list_admin_transport list_request_director: driver = smartuser suffix = -request require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db transport = list_request_transport list_director: driver = smartuser require_files = MAILMAN_HOME/lists/${lc:$local_part}/config.db transport = list_transport |
Procédez ensuite aux modifications suivantes au fichier de configuration apache.
Ajoutez ces lignes à la configuration du serveur 'principal' (Version texte) :
ScriptAlias /mailman/ /usr/lib/mailman/cgi-bin/ <Directory /usr/lib/mailman/cgi-bin/> AllowOverride None Options ExecCGI Order allow,deny Allow from all </Directory> Alias /pipermail/ /var/lib/mailman/archives/public/ <Directory /var/lib/mailman/archives/public> Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> Alias /mmimages/ /usr/share/doc/mailman/images/ <Directory /usr/share/doc/mailman/images> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> |
Puis vérifiez la syntaxe, suite à vos modifications avec cette commande :
apache -k -f
Si tout se passe bien, vous n'obtiendrez aucun message d'erreur.
Effectuez maintenant ces changements au fichier de configuration mailman [mm_cfg.py]. N'oubliez pas, ce fichier se trouve dans /etc/mailman.
Modifiez ces deux lignes existantes comme ci-dessous :
DEFAULT_HOST_NAME = '{serveur.messagerie}' DEFAULT_URL = 'http://{serveur.web}/mailman/' |
Où {web.server} est le nom pleinement qualifié de votre serveur et {serveur.messagerie} la partie non locale de votre adresse électronique.
Supposons par exemple que votre serveur raphael dans votre domaine bureau.org comporte un alias DNS (Domain Name Server, serveur de noms de domaine) enregistrement c de www et un enregistrement mx pour bureau.org. Dans ce cas, ni {serveur.web} ni {serveur.messagerie} ne correspondraient à raphael.bureau.org. Votre configuration serait :
DEFAULT_HOST_NAME = 'bureau.org' DEFAULT_URL = 'http://www.bureau.org/mailman/' |
Ajoutez également la nouvelle ligne suivante à mm_cfg.py :
IMAGE_LOGOS = '/mmimages/' |
Ajoutez les lignes suivantes à /etc/aliases :
mailman-owner: mailman mailman: postmaster |
Ceci suppose que vous ayez déjà un alias postmaster.
Créez ensuite le mot de passe de votre site avec la commande :
/usr/lib/mailman/bin/mmsitepass
Où mmsitepass est le mot de passe principal de Mailman qui peut être utilisé partout où les mots de passe de l'utilisateur individuel ou de l'administrateur de la liste de diffusion sont requis. Ce mot de passe donne à l'administrateur mailman du site la capacité d'ajuster les éléments lorsque cela est nécessaire.
Vous êtes maintenant prêt à tester Mailman. Pour ce faire, créez une liste nommée test. Cette dernière devra être supprimée dès que vous en n'en aurez plus besoin. Si vous constatez des problèmes lors des tests, alors corrigez-les, puis reprenez cette procédure de tests depuis le début.
Tout d'abord, exécutez la tâche /usr/lib/mailman/bin/newlist et répondez comme suit à ses invites :
Enter the name of the list: test Enter the email of the person running the list: {vous@domaine.nom} Initial test password: {vous-le-choisissez} {Make note of the alias lines that are now printed. See below.} Hit enter to continue with test owner notification...{Enter} |
Ajoutez ensuite les lignes spécifiées par newlist au fichier alias. Voici à quoi elles devraient ressembler :
## test mailing list ## created: 31-Mar-2003 root test: "|/var/lib/mailman/mail/wrapper post test" test-admin: "|/var/lib/mailman/mail/wrapper mailowner test" test-request: "|/var/lib/mailman/mail/wrapper mailcmd test" test-owner: test-admin |
Attendez que Mailman vous envoie [le propriétaire de la liste] un message électronique. Ce dernier commencera par quelque chose comme :
----- start of excerpt ----- The mailing list `test' has just been created for you. The following is some basic information about your mailing list. Your mailing list password is: {mot-de-passe} You need this password to configure your mailing list. You also need it to handle administrative requests, such as approving mail if you choose to run a moderated list. You can configure your mailing list at the following web page: http://{votre.serveur.web}/mailman/admin/test The web page for users of your mailing list is: http://{votre.serveur.web}/mailman/listinfo/test ----- end of excerpt ----- |
Après réception de ce message, allez sur la page web http://{votre.serveur.web}/mailman/admin/test et connectez-vous avec le mot de passe fourni. À ce moment, vous pouvez revoir la section General Options de cette page web d'administration. [Les autres sections de cette page web méritent aussi un coup d'œil.] Ajoutez du texte dans les sections de description pour vous familiariser avec la façon dont les mises à jour sont effectuées. [Celle-ci est dans l'ensemble assez simple et auto-documenté.] Lorsque vous avez terminé, enregistrez vos mises à jour et fermez la déconnectez-vous.
Allez ensuite sur la page web http://{votre.serveur.web}/mailman/listinfo/test. Utilisez cette page pour vous abonner à la liste.
Vous devriez bientôt recevoir un message électronique de demande de confirmation. Suivez les instructions figurant sur ce message pour confirmer votre demande d'abonnement.
Envoyez un message électronique à la liste. Si vous l'obtenez, l'installation a réussi.
Rich Price utilise des ordinateurs depuis environ 35 ans et Linux depuis environ 10 ans. Et il n'est lassé ni des uns ni de l'autre encore.
Copyright © 2003, Rich Price.
Copying license http://www.linuxgazette.com/copying.html
Paru dans le n°91 de la Linux Gazette de juin 2003.
Traduction française par Guillaume Lelarge <gleu CHEZ wanadoo POINT fr>.
Relecture de la traduction française par Joëlle Cornavin <jcornavi CHEZ club-internet POINT fr>.