La mise en place d’une mailing-list pour assurer la communication entre personnes m’a semblé être intéressant pour un projet lors de ma formation à l’ École Ouverte Francophone. J’ai donc opté pour mailman du projet GNU.
Nous considérerons pour ce tutoriel qu’un serveur postfix est déjà en place et fonctionnel.
L’installation en elle-même sous debian se fait via la commande suivante:
apt-get install mailman
On doit ensuite rajouter les lignes suivantes au fichier “/etc/postfix/main.cf”:
owner_request_special = no
unknown_local_recipient_reject_code = 550
mailman_destination_recipient_limit = 1
Et les lignes suivantes au fichier “/etc/postfix/master.cf”:
mailman unix - n n - - pipe
flags=FR user=list
argv=/etc/mailman/postfix-to-mailman.py ${nexthop} ${user}
On ajuste le fichier “/etc/maiman/mm__cfg.py”:
DEFAULT_URL_PATTERN = 'http://%s/mailman/'
PRIVATE_ARCHIVE_URL = 'mailman/private'
IMAGE_LOGOS = '/images/mailman/'
DEFAULT_EMAIL_HOST = 'mail.host.tld'
DEFAULT_URL_HOST = 'host.tld'
Et on relance les services:
/etc/init.d/postfix reload
/etc/init.d/mailman restart
A ce moment, mailman va râler parce qu’il n’existe pas encore la liste par défaut (appelée “mailman “). On va donc la créer avec la commande suivante:
newlist mailman
Après avoir répondu aux quelques questions (n’oubliez pas de spécifier un mot de passe), mailman vous communique une liste d’alias à indiquer dans votre fichiers d’alias, généralement “/etc/aliases”. Il s’agit du fichier renseigné dans la directive “alias_database” du fichier “/etc/postfix/main.cf”.
Une fois ces lignes ajoutées, lancez la commande:
postalias /etc/aliases
Relancez postfix et mailman.
A noter qu’une directive existe pour ne pas avoir à refaire ces étapes lors de la création d’une nouvelle mailing-list, mais sur ma configuration, postfix ne prenait pas en compte les alias: je devais éditer le fichier “/etc/aliases” à la main.
Configurez ensuite un nouvel hôte virtuel dans Apache, dans le but de pouvoir gérer vos mailing-list via une interface web, mais surtout pour permettre aux autres personnes de s’y abonner facilement. Voici mon fichier spécifique à cet hôte virtuel:
<VirtualHost *:80>
ServerName mailman.host.tld
ServerAdmin contact@host.tld
ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
<Directory "/usr/lib/cgi-bin/mailman/">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
Alias /images/mailman/ /usr/share/images/mailman/
<Directory "/usr/share/images/mailman/">
AllowOverride None
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>
<IfModule mod_rewrite.c>
RewriteEngine on
# Redirect to SSL if available
# <IfModule mod_ssl.c>
# RewriteCond %{HTTPS} !^on$ [NC]
# RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [L]
# </IfModule>
# Redirect root access to mailman list
RewriteRule ^$ /mailman/listinfo [R=permanent,L]
RewriteRule ^/$ /mailman/listinfo [R=permanent,L]
</IfModule>
</VirtualHost>
Vous voilà en mesure de gérer vos listes de diffusion depuis l’interface web, dont l’adresse sera celle de votre hôte virtuel.
Taxonomies
Tags
- Debian 7
- École Ouverte Francophone 1
- GNU 4
- Mailing-List 1
- Mailman 1
Richard Dern
Échanger autour de ce texte
Si vous souhaitez réagir publiquement, un fil dédié vous attend.
Ouvrir le fil de discussion