« Mailman » : différence entre les versions
(22 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]] | ||
__TOC__ | __TOC__ | ||
Ligne 13 : | Ligne 11 : | ||
== Prérequis == | == Prérequis == | ||
Avant d'étudier cette documentation il est nécessaire de disposer d'un serveur mail [[Postfix]] fonctionnel. | 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 == | ||
* Nous installerons le paquet '''mailman''' avec ses dépendances et notamment le serveur web '''[[Apache2]]''' : | |||
* '''Mailman''' demandera | {{ 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 : | * 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 = ' | MAILMAN_SITE_LIST = 'geocoucou' | ||
DEFAULT_EMAIL_HOST = 'list. | DEFAULT_EMAIL_HOST = 'list.geocoucou.eu' | ||
DEFAULT_URL_HOST = 'www.list. | DEFAULT_URL_HOST = 'www.list.geocoucou.eu' | ||
DEFAULT_SERVER_LANGUAGE = 'fr' | DEFAULT_SERVER_LANGUAGE = 'fr' | ||
MTA='Postfix' | 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''' : | * 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 | MTA = None # So that mailman skips aliases generation | ||
POSTFIX_STYLE_VIRTUAL_DOMAINS = ['list. | POSTFIX_STYLE_VIRTUAL_DOMAINS = ['list.geocoucou.eu'] | ||
# alias for postmaster, abuse and mailer-daemon | # alias for postmaster, abuse and mailer-daemon | ||
DEB_LISTMASTER = 'postmaster@ | 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''' : | * 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 }} | {{ 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 : | * On édite le fichier '''/etc/postfix/main.cf''' puis on y ajoute les informations suivantes : | ||
relay_domains = list. | relay_domains = list.geocoucou.eu | ||
<font color=orange>transport_maps = hash:/etc/postfix/transport</font> | |||
mailman_destination_recipient_limit = 1 | mailman_destination_recipient_limit = 1 | ||
{{ Box Remarque | objet=Si | {{ 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 : | * On édite le fichier '''/etc/postfix/master.cf''' puis on vérifie la présence des informations suivantes : | ||
Ligne 54 : | Ligne 72 : | ||
flags=FR user=list | flags=FR user=list | ||
argv=/var/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user} | 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 == | |||
* '''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 : | |||
{{ Box Console | objet=a2ensite /etc/apache2/sites-available/www.list.geocoucou.eu.conf }} | |||
* Puis nous rafraîchissons la configuration d''''Apache2''' : | |||
{{ 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 ]:.
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
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 :
|
|
- 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 :
|
|
- Puis on démarre le service mailman :
|
|
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 :
|
|
- 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 :
|
|
Permissions
- Il est nécessaire de vérifier que les répertoires de Mailman disposent des permissions adéquates :
|
|
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 :
|
|
- 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 :
|
|
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 :
|
|
- Puis nous rafraîchissons la configuration d'Apache2 :
|
|