Forums d'entraide informatique - Astuces - Conseils

Des experts à votre écoute pour tous vos dysfonctionnements

Vous n'êtes pas identifié.


#1 08-10-2008 18:37:31

Admin
Administrateur
Date d'inscription: 30-07-2008
Messages: 683

Création et gestion d'une liste de diffusion

Création et gestion
d'une liste de diffusion
Lorsque l'on travaille à plusieurs sur un projet ou que l'on partage simplement les mêmes goûts dans certains domaines, il est agréable de pouvoir partager des informations avec les autres membres du groupe. Internet est sans le moindre doute le média le plus pratique pour cela. Reste ensuite à choisir la méthode de communication la plus efficace.
Internet est un lieu d'échange par définition. Des personnes peuvent ainsi partager des connaissances, des opinions et des informations très rapidement. Dans ce genre de situation. le Web offre quelques fonctionnalités intéressantes via la mise en oeuvre de forums. Il existe également l'IRC (Internet Relay Chat), davantage axé vers la communication en direct. Enfin, il y a le classique courrier électronique. Une liste de diffusion est, en quelque sorte, une extension de ce dernier canal de communication, à la grande différence qu'il existe une adresse email correspondant à l'ensemble des membres du groupe.
Une version très basique d'une liste de diffusion est tout simplement un alias pointant vers une liste de noms d'utilisateurs :
# fichier /etc/alias
daemon: root
bin: root
sys: root
sync: root
games: root
[
liste: denis, moi, master, lef
Ici, si un expéditeur adresse un message à liste@monsite.com, les quatre utilisateurs listés recevront leur exemplaire du message. Malheureusement, même si cela peut paraître suffisant pour un petit groupe de personnes, ce n'est pas le cas. Un grand nombre de fonctionnalités nécessaires à la mise en place d'une véritable liste de diffusion sont absentes. Nous ne gérons pas, par exemple, l'identité de l'expéditeur d'un message. Avec une liste de diffusion, seuls les utilisateurs adhérant à la liste reçoivent et surtout émettent des messages à destination de la liste. De plus, des mécanismes d'inscription doivent être mis en place dans le cas d'une liste ouverte au public.
Un simple «bricolage» à l'aide d'alias et de filtres
n'est donc pas suffisant pour une véritable liste de diffusion. Il vous faudra faire appel à un gestionnaire spécifique. Il en existe beaucoup, et les trois plus connus sont sans doute listar, mailman et Majordomo. Ce dernier, n'est d'ailleurs pas intégré dans les packages Debian en raison de la licence spécifique interdisant l'intégration de code Majordomo dans certaines applications. Nous allons étudier chacun de ces logiciels en détail.
Listar
Ce premier applicatif de gestion de listes de diffusion est réputé pour sa modularité. Il s'installera très facilement à l'aide d'un simple :
root@egon:-# apt-get install listar
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed: listar
0 packages upgraded, 1 newly installed, 0 to remove and 46 not upgraded.
Need to get OB/301kB of archives After unpacking 720kB will be used.
Sélection du paquet listar précédemment déselectionné.
(Lecture de la base de données ... 29786 fichiers et répertoires déjà installés.)
Dépaquetage de listar (à partir de .../ listar_0.129a-2_i386.deb)
Paramétrage de listar (0.129a-2) ...
* Upgrading Listar installation to build 7 - Moving files...done!
* Build 7 upgrade complete.
If you are upgrading and have virtuel listar hosts set up,
you will want to run this:
su listar -c '/usr/lib/listar/listar -c vhost -cfg-file -upgrade'
Listar is now installed on your system. However, it is not yet ready for

vra toutes les demandes concernant les opérations sur la liste de diffusion en question. Les directives ou commandes destinées au système de gestion doivent être placées dans le sujet du message ou dans le corps. Si plusieurs commandes valides sont utilisées, la fin doit être marquée par la mention end.
Le premier réflexe d'un utilisateur intéressé par votre liste de diffusion sera sans doute de demander de l'aide sur la manière de procéder pour s'inscrire, etc. Il lui suffira alors d'envoyer un message à maliste-request@monsite.com en plaçant le mot help dans le sujet. Il recevra en retour le texte explicatif par défaut. Ce texte est en anglais, ce qui ne devrait pas vraiment poser de problème dans le cas d'une liste de diffusion concernant la configuration d'un système Unix ou encore la programmation. Il en va tout autrement si votre liste concerne un sujet moins technique. Le fichier contenant le texte explicatif est /etc/listar/listar.hlp. Il s'agit d'un simple fichier texte qu'il vous sera possible de traduire sans problème pour le fonctionnement de iistar.
Les principales commandes disponibles pour les utilisateurs de votre liste de diffusion sont simples :
-    help pour demander de l'aide ;
-    subscribe pour s'inscrire ;
-    unsubscribe pour se désabonner ;
- list pour lister les noms de listes disponibles ; - who pour connaître la liste des abonnées ;
- whish pour connaître les noms des listes auxquelles nous sommes abonnés.
Les utilisateurs, une fois inscrits à la liste pourront envoyer un message à tous les autres abonnés en utilisant l'adresse mal i ste@mons i t e .com.
Mailman
Si vous disposez d'un serveur Web sur votre serveur, le meilleur choix sera sans doute Mailman. Il intègre en effet un système de configuration via des scripts CGI qui permettent un paramétrage complet et simple du gestionnaire de liste. Tout comme avec listar, l'installation de Mailman sur une distribution Debian est très simple grâce à apt-get :
root@egon:-# apt-get install mailman
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed: logrotate mailx
The following NEW packages will be installed: logrotate mailman mailx
0 packages upgraded, 3 newly installed, 0 to
remove and 46 not upgraded.
Need to get 454kB of archives. After unpacking 1811kB will be used.
Do you want to continue? [Y/n]
[...]
Paramétrage de mailx (8.1.1-11) ...
Paramétrage de logrotate (3.2-11) ..
Paramétrage de mailman (1.1-10) ...
Configuring mailman for domain egon
Le script de configuration automatique installera alors tous les composants nécessaires et créera un utilisateur et un groupe list. C'est sous cette identité que seront lancés les exécutables de Mailman. Nous embrayerons immédiatement en créant notre liste de diffusion, que nous appellerons, cette fois,
laliste :
root@egon: -# newlist
Enter the naine of the list: laliste
Enter the email of the person running the list: denis@monsite.com
Initial laliste password:
Entry for aliases file:
## laliste mailing list
## created: 06-Feb-2002 denis
laliste:
"I/var/lib/mailman/mail/wrapper post laliste" laliste-admin:
"I/var/lib/mailman/mail/wrapper mailowner laliste" laliste-request:
"I/var/lib/mailman/mail/wrapper mailcmd laliste"
owner-laliste:    laliste-admin
laliste-owner:    laliste-admin
Hit enter to continue with laliste owner notification...
Comme vous pouvez le voir, la commande newlist vous interroge sur le nom de la liste à créer, une adresse email pour l'administrateur de la liste et un mot de passe initial. Veillez bien à utiliser l'adresse véritable de la personne responsable de la liste (sans doute vous-même), car un courrier électronique lui sera automatiquement envoyé. A l'instar de listar, Mailman ne peut configurer lui-même votre MTA. Il vous affiche donc les alias à mettre en place pour le bon fonctionnement du gestionnaire de listes. Là encore, nous devons préciser à notre MTA par défaut (exim) un nouveau Director :
list aliases:
driver    aliasfile
file_transport    address_file
Il

pipe_transport = address_pipe file    /etc/mailman.alias
search_type = lsearch
user = list
group = list
La configuration est très semblable à celle utilisée pour listar à la différence du nom de fichier d'alias, du nom d'utilisateur et du groupe. Il ne vous reste plus ensuite qu'à copier/coller la sortie de newlist dans /etc/mailman.alias. Alors que vous avez procédé à ces modifications, l'administrateur de la liste a dû recevoir un message. Celui-ci informe du bon déroulement des opérations et confirme la création de la liste laliste. Il donne également des précisions sur les URL à utiliser pour les utilisa- teurs de la nouvelle liste (http:11www.mon- site.comIcgi-binhnailmanllistinfbIlaliste) et pour l'in- terface d'administration (http:11www.mon- site.comIcgibinlmailmanladminlIaliste). Enfin, vous êtes avertis qu'un fonctionnement sans interface Web est disponible pour les utilisateurs en contac- tant laliste-request@monsite.com.
Les commandes classiques (help, subscribe, unsubscribe, etc.) sont supportées. Les indications retournées suite à un message comportant la men- tion help dans la ligne de sujet vous donneront toutes les informations nécessaires. Mais la grande force de Mai/man réside dans l'interface CGI/Web.
Dans un premier temps, vous devrez finaliser la configuration de votre liste en faisant pointer votre navigateur sur littp:11www.monsite.comIcgi-binlmail- manladminlialiste. Là, avant toutes choses, le mot de passe choisi lors de l'exécution de la commande newlist vous sera demandé (figure 1). Vous arrive- rez ensuite sur l'interface de configuration principa- le (figure 2). Celle-ci vous permet de régler tous les
paramètres concernant le fonctionnement général de votre liste. C'est ici que vous ajouterez un des- criptif à la liste et définirez le fonctionnement géné- ral du système.
Un autre gros avantage de Mailman est que la configuration de base du système est quasi-parfaite. Ainsi, la plupart des manipulations que vous auriez dû faire à la main avec listar sont déjà prévues. C'est le cas, par exemple, du mécanisme d'inscription à la liste. Un utilisateur souhaitant s'inscrire ira tout simplement sur http:11www.monsite.comIcgi- binlmailmanllistinfollaliste (figure 3). Il rentrera alors son adresse email et un mot de passe (deux fois pour confirmation). Ce mot de passe lui permettra à tout moment de modifier les options de son inscription. De plus, par défaut, l'utilisateur qui validera le formulaire recevra un message de demande de confirmation. Ceci permet d'éviter des erreurs ou des inscriptions non désirées. L'utilisateur recevra donc un message comportant comme sujet «Laliste — confirmation of subscription   request ....» suivi d'un numéro. Il devra simplement répondre à ce mail pour confirmer l'inscription.
Il est également possible de clore un peu plus la liste de diffusion en utilisant le menu Privacy Options (figure 4) de l'interface d'administration. Ici, vous pourrez choisir les modalités d'inscription :
•    mail de confirmation ;
•    validation par l'administrateur ;
•    mail de confirmation et validation par l'administrateur.
A la section Membership Management (figure 5), l'administrateur pourra inscrire des utilisateurs arbitrairement, mais également modifier les paramètres d'un utilisateur inscrit ou même le supprimer. Enfin, les utilisateurs pourront choisir le type d'abonnement à la liste en cours. Mailman offre en effet la possibilité de recevoir plusieurs messages en une seule fois sous la forme de digest d'une manière plus classique. Nous n'avons malheureusement pas la place pour décrire ici toutes les fonctionnalités de Mailman. Les quelques indications précédentes et une lecture attentive des pages Web d'administration devraient vous permettre de correctement gérer votre liste.
Majorclomo
Majordomo est un gestionnaire de liste de diffusion très connu et largement utilisé. Son absence de la distribution Debian se justifie par le fait qu'un problème de sécurité a été découvert. Comme le signale Wichert Akkerman sur la liste de diffusion debiansecurity-announce, la licence ne permettait pas une distribution d'une version corrigée du logiciel et il a donc été retiré. Bien sûr, le problème est signalé dans la documentation et la sécurité déplacée au niveau serveur, mais l'affaire a prouvé le problème que pouvait poser une licence non libre en cas de problème de sécurité. Majordomo est donc toujours absent des distributions Debian, qu'il s'agisse de la stable (potato), la testing (woody) ou la unstable (sid).
Cependant, si vous tenez vraiment à utiliser ce gestionnaire de listes, vous pourrez l'installer sur votre distribution Debian. Si vous utilisez une autre distribution que celle choisie comme base de travail pour ce magazine hors série et le précédent, un package existe sans doute. Majordomo est écrit en langage Perl et dispose d'une documentation détaillant parfaitement la marche à suivre pour l'installation. Vous remarquerez également que vos fichiers / etc /passwd et / et c / group possèdent des entrées correspondantes pour l'application : majordom.majordom.
L'installation se fera par les étapes suivantes. Après avoir récupéré la dernière version officielle et désarchivé le fichier dans un répertoire :

1) Assurez-vous d'avoir dans la liste des utilisateurs et des groupes un compte correspondant à Majordomo. Si tel n'est pas le cas, ajoutez un utili- sateur.
2) Choisissez un répertoire d'installation où réside- ra Majordomo, /usr/local/majordomo par exemple. Ce répertoire ne doit pas être celui où vous avez désarchivé le tarball de Majordomo, ni un lien symbolique vers ce répertoire.
3) Editez le fichier Makefile et vérifiez les lignes sui- vantes :
•    le chemin vers l'interpréteur Perl : PERL = /usr/bin/perl
•    le chemin vers le compilateur C : cc = cc
•    le répertoire d'installation de Majordomo W_HOME    /usr/local/majordomo
•    l'UID de l'utilisateur Majordomo : W_USER    30
-    le GID du groupe Majordomo : W_GROUP = 31
•    le répertoire temporaire du système : TMPDIR = /tmp
4) Copiez le fichier sample.cf en majordomo.cf puis éditez-le pour configurer les variables Perl sui- vantes
•    $whereami = "le nom de domaine de votre machine"
e    Swhoami = "majordom\@$whereami";, il s'agit de l'adresse email de Majordomo sur votre domaine
$whoami_owner    "Majordomo-Admin\@$whe-
reami";, pour l'adresse email du responsable du serveur
•    $homedir    "/usr/local/majordomo"; est le
répertoire d'installation de Majordomo
•    $listdir    "Shomedir/lists" ; est le répertoi-
re où sont stockées les listes
$log = "Shomedir/Log"; est le répertoire des- tiné à stocker les journaux d'activité
$sendmail_command    "/usr/lib/sendmail";
est la commande sendmail . Avec exim il s'agit
d'un lien symbolique.
•    $mailer    "$sendmail_command -oi -oee -
f\$sender" ; est la commande d'envoi de message.
•    $bounce_mailer = "$sendmail_commanc -oi -oee -f \$sender -t" ; est la commande de renvoi de messages aux abonnés d'une liste.
•    Recherchez une occurrence de «tmp» et assurez- vous que le répertoire temporaire utilisé est bien itmp et non /usr/tmp.
5) Lancez un make wrapper pour compiler le wrapper Majordomo. Il ne devrait y avoir aucun problème (à moins que les outils de compilation ne soient pas installés).
6) Lancez la procédure d'installation avec make install
Testing for perl (/usr/bin/per1)... Configuring scripts...
./install.sh -m 751 -0 30 -g 31 . /usr/local/majordomo
./install.sh -m 755 -0 30 -g 31 . /usr/local/majordomo/bin
Copying tools to /usr/local/majordomo/bin
Copying Majordomo files to /usr/local/majordomo Copying archiving and other tools to /usr/local/majordomo/Tools
./install.sh -m 755 -0 30 -g 31 . /usr/local/majordomo/Tools
Using majordomo.cf
Installing manual pages in
/usr/local/majordomo/man
To finish the installation, 'su' to root and type:
make install-wrapper
If mot installing the wrapper, type
cd /usr/local/majordomo; ./wrapper config-test (no 'su' necessary) to verify the installation.
7) Installez le wrapper avec make install -wrapper
./install.sh -o root -g 31 \
-m 4755 wrapper /usr/local/majordomo/wrapper Ta verify that all the permissions and etc are correct,

8) Copier le fichier maj ordomo . a 1 iases du réper- toire archive dans /etc
9) Editez votre fichier de configuration exim et ajouter un nouveau Director :
majordom_aliases:
driver    aliasfile
file_transport    address_file
pipe_transport address_pipe file /etc/majordomo.aliases search_type lsearch
user majordom
group majordom
10) Editez le fichier /etc/majordomo.aliases et remplacez chaque occurrence de «you» par le nom d'utilisateur de l'administrateur système (ici master). Vérifiez et modifiez les occurrences du chemin vers le wrapper :
majordomo: "I/usr/local/majordomo/wrapper majordomo"
majordomo-owner: master owner-majordomo: master
test:    "I/usr/local/majordomo/wrapper
resend -1 test test-list" test-list::include:/usr/local/majordomo/lists/test
owner-test:    master
test-owner:    master
test-request:    master
11) En tant qu'utilisateur normal (non root et non mai ordom), placez-vous dans le répertoire d'instal- lation de majordomo et lancez . /wrapper conf ig- test I less. Vous devriez, si tout est correcte- ment configuré, lire dans la sortie la mention sui- vante :
Nothing bad found! Majordomo _should_ work correctly.
12) Ultime test, repassez en root et faites : touch /usr/local/majordomo/lists/test
Envoyez ensuite un mail contenant la directive lists à majordomo@monsite.com. Vous devez recevoir en retour une réponse de majordomo vous signalant les liste disponibles
»» lists
Majordomo@egon serves the following lists: test
Use the 'info <list>' command to get more informa- tion
about a specific list.
Si vous recevez un message du démon MTA, c'est mauvais signe ! Vous avez dû râter quelque chose dans la procédure d'installation ou les permissions ne sont pas correctes. Si vous recevez bien le messa- ge de majordomo, tout est correctement installé et vous êtes prêt pour la prochaine étape : créer votre liste de diffusion.
Tout comme pour la procédure d'installation de majordomo, la création d'une liste se fait en plu- sieurs étapes, comme précisé dans la documentation officielle :
1) Passez sous l'identité de l'utilisateur majordom avec su majordom.
2) Placez-vous dans le sous-répertoire iists du répertoire d'installation de majordomo (/usr / local imajordomo dans notre exemple) et créez un fichier vide du nom de la liste à créer:
touch lilist chmod 664 lilist
3) Créez un fichier d'information sur la liste, avec votre éditeur de texte préféré, sous le nom de la liste et un suffixe . info
echo "Ceci est une liste de test pour LinuxMag" > lilist.info
[....]
chmod 664 lilist.info
4) Editez le fichier des alias de majordomo pour y ajouter les alias nécessaires à la nouvelle liste. Un certain nombre d'alias pour une liste test existe déjà. Vous pouvez vous servir de ces entrées en guise d'exemple. Vous devez définir quatre alias au minimum :
•    iiiist, qui est la liste elle-même ;
•    owner-lilist, qui est l'adresse du propriétaire de la liste (il recevra une copie des messages) ;

•    iiiist-request, qui est l'adresse recevant les directives d'administration (adhésion, informations, etc.) ;
•    'list -approvai, qui est l'adresse du modéra- teur de la liste (si besoin).
Un dernier alias est enfin ajouté afin que majordo- 'no puisse intercepter les commandes dans les mes- sages de la liste : il s'agit de iiiist-list. On défi- nit alors les alias suivant
liliste::include:/usr/local/majordomo/lists/lilist
owner-lilist:    master
lilist-request:    "I/usr/local/majordomo/wrapper
request-answer lilist"
lilist-approval:    master
Ceci est la configuration la plus simple. L'utilisateur master est le propriétaire et l'administrateur de la liste. L'adresse de la liste de diffusion est lilist@monsite.com et les requêtes/directives sont à envoyer sur lilist-request@monsite.com. Plus généra- lement, on fait usage du resend du wrapper major- (1omo pour traiter les directives dans les messages. Ce qui nous donne :
lilist:    "I/usr/local/majordomo/wrapper
resend -1 lilist liliste-list"
liliste-list:    :include:/usr/local/
majordomo/lists/lilist
owner-lilist:    master
lilist-request:    "I/usr/local/majordomo/wrapper
request-answer lilist"
lilist-approval:    master
Ici, l'adresse de la liste est toujours lilist@mon- site.com, mais nous faisons transiter les messages par le wrapper majordomo avant de les renvoyer vers iiiiste-list, qui est la véritable adresse de la liste. Le reste des alias est identique.
6) Avant de mettre en route la liste, assurez-vous une dernière fois que les fichiers utilisés appartien- nent bien à l'utilisateur majordom, que les fichiers aient des permissions en 664 (-rw-rw-r—) et les répertoires en 775 (drwxrwxr-x).
7) Enfin, adressez un mail à majordomo@mon- site.com contenant dans le corps du message : config lilist lilist.admin
Si tout fonctionne correctement, majordomo devrait répondre à ce message par un bref descriptif du fichier de configuration suivi de ce dernier. Dans le même temps, un fichier de configuration /usr/local/majordomo/lists/lilist.config aura été créé. Vous pourrez ensuite, à souhait, le modifier en respectant la syntaxe décrite dans le message de réponse de Majordomo. Ce fichier est lar- gement commenté et ne devrait pas poser de problè- me. Les derniers tests consisteront à vous inscrire à la nouvelle liste en utilisant lilist-request@monsite.com.
Nous arrivons au terme de cet article. En guise de conclusion et de résumé. je dirais que Listar est par- faitement adapté pour une petite configuration avec des besoins réduits. Majordomo, pour sa part, est très puissant, mais la configuration et la création manuelle des listes est une chose qui en rebutera plus d'un. Sans oublier le problème de sécurité inhérent à la conception de majordomo, qui reste un élément dans le choix d'un gestionnaire de liste, tout comme le problème de licence. Enfin, Mailman semble le plus adapté et le plus convivial des gestionnaires ; il est largement utilisé (projet GNOME, Samba, XFree86, Freshmeat. RedHat. etc.) et, ne l'oublions pas, c'est un véritable projet GNU.
Si vous disposez d'un serveur HTTP ou que vous pouvez facilement en installer un. la question semble réglée. Sachez également que si l'interface Web est importante pour vous, des projets collaté- raux à Listar et Majordomo développent ce type d'outil.


Cordialement

L'équipe Parisdepannage.fr

Hors ligne

 

Pied de page des forums


Copyright Parisdepannage.fr


Fermer la fenètre