Mailman

De Wiki NCad
Révision de 21 novembre 2015 à 22:45 par Cacheln (discuter | contributions) (Installation)

Aller à : navigation, rechercher

.:[ Serveur de Messagerie ]:.

Installation >> Postfix avec MySQL

Anti-Spam SpamAssassin | Anti-Virus Clamav


Plateforme de filtrage Amavis >> Amavis avec MySQL


Ajouter un Disclaimer


Configurer Thundirbird | Configurer Roundcube


Commandes messagerie | DNSBL | MX Backup
Mailman logo.png

Présentation

Mailman est un gestionnaire de mailing list. Ce programme est compatible avec Postfix et Exim4.

Prérequis

Avant d'étudier cette documentation il est nécessaire de disposer d'un serveur mail Postfix fonctionnel. De plus, nous utiliseront le domaine list.geocoucou.eu pour l'ensemble de nos listes. Le MX devra pointer sur le serveur mail pour ce domaine.

Installation

  • Nous installerons le paquet mailman avec ses dépendances et notamment le serveur web Apache2 :
ICON Terminal.png

mailman apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libcap2 pwgen

  • Mailman demandera quelles langues installer pour le gestionnaire de liste. On sélectionnera fr parmi la liste proposée.

Configuration

Mailman

  • Nous configurons le module mailman en éditant le fichier /etc/mailman/mm_cfg.py et en vérifiant/adaptant les paramètres suivants :
MAILMAN_SITE_LIST = 'geocoucou'
DEFAULT_EMAIL_HOST = 'list.geocoucou.eu'
DEFAULT_URL_HOST   = 'www.list.geocoucou.eu'
DEFAULT_SERVER_LANGUAGE = 'fr'
MTA='Postfix'
  • Si le serveur Postfix utilise une base données MySQL, il faut décommenter les lignes suivantes dans le fichier /etc/mailman/mm_cfg.py :
 MTA = None # So that mailman skips aliases generation
 POSTFIX_STYLE_VIRTUAL_DOMAINS = ['list.geocoucou.eu']
 # alias for postmaster, abuse and mailer-daemon
 DEB_LISTMASTER = 'postmaster@geocoucou.eu'
  • Une fois les paramètres renseignés, on crée la liste du système définie dans la variable MAILMAN_SITE_LIST :
ICON Terminal.png

mailman newlist mailman

  • Puis on démarre le service mailman :
ICON Terminal.png

service mailman start

Postfix

  • On édite le fichier /etc/postfix/main.cf puis on y ajoute les informations suivantes :
relay_domains = list.geocoucou.eu
transport_maps = hash:/etc/postfix/transport
mailman_destination_recipient_limit = 1
ICON Light.png
Si le transport_maps est géré dans une base de données, il faudra ajouter dans cette base le domaine list.mail.glx qui a pour transport mailman.
  • Nous ajoutons une nouvelle entrée dans le fichier /etc/postfix/transport :
list.geocoucou.eu        mailman:
  • Puis nous régénérons la base transport :
ICON Terminal.png

cd /etc/postfix
postmap transport

  • On édite le fichier /etc/postfix/master.cf puis on vérifie la présence des informations suivantes :
mailman unix  -       n       n       -       -       pipe
 flags=FR user=list 
 argv=/var/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user}
  • On rafraîchit la configuration de Postfix pour appliquer la configuration :
ICON Terminal.png

sudo service postfix reload

Permissions

  • Il est nécessaire de vérifier que les répertoires de Mailman disposent des permissions adéquates :
ICON Terminal.png

sudo /usr/lib/mailman/bin/check_perms -f


ICON Light.png
Si les erreurs persistent, modifier manuellement les permissions avec la commande chown.

Création d'une liste

  • Nous allons créer la liste ncad pour laquelle nous définirons comme adresse mail du propriétaire tech@ncad.fr et comme mot de passe 00000000 :
ICON Terminal.png

newlist --urlhost=www.list.geocoucou.eu --emailhost=list.geocoucou.eu ncad tech@ncad.fr 00000000
Tapez sur Entrée pour aviser le propriétaire de ncad...

  • Pour s'inscrire à la liste de diffusion, il suffit d'envoyer un mail à ncad-subscribe@list.geocoucou.eu. Mailman renverra un mail de confirmation d'inscription de ce type :
Avis de confirmation de demande d'abonnement pour la liste Ncad

Nous avons reçu une demande de  à partir de nicolas@cachelou.fr, pour
l'abonnement de votre adresse courriel "nicolas@cachelou.fr", à la
liste de diffusion ncad@list.geocoucou.eu.  Pour confirmer la demande,
répondez à ce message en gardant l'en-tête Objet: intact, ou consultez
la page :

	http://www.list.geocoucou.eu/confirm/ncad/635e1d11268ef68c1793a5492134199b960f6d05 


ou bien mettez la ligne suivante - et seulement la ligne suivante -
dans le corps d'un message à l'attention de
ncad-request@list.geocoucou.eu: 

    confirm 635e1d11268ef68c1793a5492134199b960f6d05

Notez qu'un simple "répondre" devrait fonctionner pour la plupart des
lecteurs de courriel, puisque ceux-ci laissent en général l'en-tête
Objet: au format correct (un "Re:" devant l'objet passe).

Si vous ne souhaitez pas vous abonner à cette liste, ignorez
simplement ce message.  Si vous pensez être abonné à la liste contre
votre gré ou si avez d'autres questions, envoyez un message à
ncad-owner@list.geocoucou.eu.
ICON Light.png
On peut aussi envoyer un mail à ncad-request@list.geocoucou.eu et mettre dans l'objet du message subscribe
  • Il suffit de répondre au message et l'inscription est terminée.

Poster sur la liste

  • L'adresse mail de la liste de diffusion est ncad@list.geocoucou.eu. En envoyant un mail à cette adresse, tous les abonnés de la liste recevront le mail envoyé.

Supprimer la liste

  • Pour supprimer la liste il suffit d'utiliser la commande rmlist avec l'option -a pour supprimer les archives :
ICON Terminal.png

rmlist -a ncad


ICON Light.png
Cette action est également possible depuis l'interface de gestion web de Mailman.

Interface web

  • Mailman s'administre via une interface web. Les utilisateurs peuvent également l'utiliser pour gérer leur inscription. Dans notre cas, cette interface est accessible à l'adresse www.list.geocoucou.eu. Nous allons définit un nouvel hôte virtuel dans Apache2. Pour cela, nous allons créer le fichier /etc/apache2/sites-available/www.list.geocoucou.eu.conf et y inscrire les lignes suivantes :
<VirtualHost *:80>
ServerName www.list.geocoucou.eu
DocumentRoot /var/www/lists/
ErrorLog /var/log/apache2/lists-error.log
CustomLog /var/log/apache2/lists-access.log combined

<Directory /var/lib/mailman/archives/>
   Options FollowSymLinks
   AllowOverride None
</Directory>

Alias /pipermail/ /var/lib/mailman/archives/public/
Alias /images/mailman/ /usr/share/images/mailman/
ScriptAlias /admin /usr/lib/cgi-bin/mailman/admin
ScriptAlias /admindb /usr/lib/cgi-bin/mailman/admindb
ScriptAlias /confirm /usr/lib/cgi-bin/mailman/confirm
ScriptAlias /create /usr/lib/cgi-bin/mailman/create
ScriptAlias /edithtml /usr/lib/cgi-bin/mailman/edithtml
ScriptAlias /listinfo /usr/lib/cgi-bin/mailman/listinfo
ScriptAlias /options /usr/lib/cgi-bin/mailman/options
ScriptAlias /private /usr/lib/cgi-bin/mailman/private
ScriptAlias /rmlist /usr/lib/cgi-bin/mailman/rmlist
ScriptAlias /roster /usr/lib/cgi-bin/mailman/roster
ScriptAlias /subscribe /usr/lib/cgi-bin/mailman/subscribe
ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
ScriptAlias / /usr/lib/cgi-bin/mailman/listinfo
</VirtualHost>
  • Ensuite nous activons ce nouvel hôte virtuel :
ICON Terminal.png

a2ensite /etc/apache2/sites-available/www.list.geocoucou.eu.conf

  • Puis nous rafraîchissons la configuration d'Apache2 :
ICON Terminal.png

service apache2 reload