« Mailman » : différence entre les versions

De NCad Wiki
Aller à la navigation Aller à la recherche
 
(28 versions intermédiaires par le même utilisateur non affichées)
Ligne 2 : Ligne 2 :


[[Image:Mailman_logo.png|center]]
[[Image:Mailman_logo.png|center]]
{{Box Construction | type=Article}}


__TOC__
__TOC__


== Présentation ==
== 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 [[Bind9#Ajout_d.27enregistrements_MX|MX]] devra pointer sur le serveur mail pour ce domaine.


== Installation ==
== Installation ==


{{ Box Console | objet=mailman apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libcap2 pwgen}}
* Nous installerons le paquet '''mailman''' avec ses dépendances et notamment le serveur web '''[[Apache2]]''' :
 
{{ Box Console | objet=apt-get install 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''' :
 
{{ Box Console | objet=mailman newlist mailman }}
 
* Puis on démarre le service '''mailman''' :
 
{{ Box Console | objet=service mailman start }}
 
=== Postfix ===
 
* On édite le fichier '''/etc/postfix/main.cf''' puis on y ajoute les informations suivantes :
 
relay_domains = list.geocoucou.eu
<font color=orange>transport_maps = hash:/etc/postfix/transport</font>
mailman_destination_recipient_limit = 1
 
{{ Box Remarque | objet=Si le transport_maps est géré dans une base de données, il faudra ajouter dans cette base le domaine <font color=grey>list.mail.glx</font> qui a pour transport <font color=grey>mailman</font>.}}
 
* 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 :
 
{{ Box Console | objet=cd /etc/postfix<br />
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 :
 
{{ Box Console | objet=sudo service postfix reload }}
 
=== Permissions ===
 
* Il est nécessaire de vérifier que les répertoires de '''Mailman''' disposent des permissions adéquates :
 
{{ Box Console | objet=sudo /usr/lib/mailman/bin/check_perms -f }}
 
 
{{ Box Remarque | objet=Si les erreurs persistent, modifier manuellement les permissions avec la commande <font color=grey>chown</font>. }}
 
== 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''' :
 
{{ Box Console | objet=newlist --urlhost=www.list.geocoucou.eu --emailhost=list.geocoucou.eu ncad tech@ncad.fr 00000000<br />
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.
 
{{ Box Remarque | objet=On peut aussi envoyer un mail à <font color=grey>ncad-request@list.geocoucou.eu</font> et mettre dans l'objet du message <font color=grey>subscribe</font> }}
 
* 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 :
 
{{ Box Console | objet=rmlist -a ncad }}
 
 
{{ Box Remarque | objet=Cette action est également possible depuis l'interface de gestion web de Mailman. }}
 
== Interface web ==


dpkg-reconfigure mailman
* '''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 :


Langue à gérer fr
<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>


liste système : mailman newlist mailman
* Ensuite nous activons ce nouvel hôte virtuel :


newlist mailman
{{ Box Console | objet=a2ensite /etc/apache2/sites-available/www.list.geocoucou.eu.conf }}
Entrez l'adresse courriel du gestionnaire de la liste : cacheln@mail.glx
Mot de passe initial de la liste mailman :
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 ## mailman
* Puis nous rafraîchissons la configuration d''''Apache2''' :
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"


Tapez sur Entrée pour aviser le propriétaire de mailman...
{{ Box Console | objet=service apache2 reload }}


[[Category:Serveur de Messagerie]]
[[Category:Serveur de Messagerie]]

Dernière version du 6 février 2017 à 00:32

.:[ Serveur de Messagerie ]:.

Installation >> Postfix avec MySQL

Filtrage anti-spam : Anti-Spam SpamAssassin | Anti-Virus Clamav


Filtrage anti-virus : Plateforme de filtrage Amavis >> Amavis avec MySQL


Plus de fonctions : Ajouter un Disclaimer | Signature DKIM | Mailman | Maildrop


Clients de messagerie : Configurer Thundirbird | Configurer Roundcube


Pour aller plus loin : 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 :

apt-get install 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 :

mailman newlist mailman

  • Puis on démarre le service mailman :

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
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 :

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 :

sudo service postfix reload

Permissions

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

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


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 :

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.
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 :

rmlist -a ncad


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 :

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

  • Puis nous rafraîchissons la configuration d'Apache2 :

service apache2 reload