La messagerie
Gestion de mailing-lists
7.1 Mailman
7.1.1 Présentation
Mailman est un excellent gestionnaire de mailing-lists faisant partie du projet GNU. Il est disponible sur http://www.gnu.org/software/mailman/.
Il permet de gérer très facilement un très grand nombre de mailing-listes et très facilement, notamment grâce à une interface web.
Une grande partie de mailman est écrit en Python, language puissant mais assez lourd à exécuter (très gourmand en mémoire).
7.1.2 Installation
7.1.2.1 Installation de base
Tout d'abord, toute la sécuriré de mailman repose sur l'utilisateur et le groupe mailman du système, il faut donc commencer par les créer :
root@localhost# useradd mailman
root@localhost# groupadd mailman
Il faut ensuite créer le répertoire /usr/local/mailman ou va s'installer mailman. Ce répertoire doit apartenir à l'utilisateur et au groupe mailman :
root@localhost# mkdir /user/local/mailman
root@localhost# chown mailman:mailman /usr/local/mailman
root@localhost# chmod a+rx,g+ws /usr/local/mailman
Utilisez ensuite les commandes habituelles :
user@localhost$ ./configure
user@localhost$ make
root@localhost# make install
Verifiez maintenant que Mailman à été installé correctement : exécutez le script bin/check_perms en root, avec eventuellement l'option -f pour corriger les erreurs :
root@localhost# cd /usr/local/mailman
root@localhost# bin/check_perms -f
Il faut maintenant specifier le nom de domaine du serveur dans le fichier de configuration de Mailman; ajoutez les lignes suivantes dans /usr/local/mailman/Mailman/mm_cfg.py :
DEFAULT_EMAIL_HOST = 'mon.domaine.net'
DEFAULT_URL_HOST = 'mon.domaine.net'
Nous allons maitenant ajouter la mailing liste mailman :
root@localhost# bin/newlist mailman
Cet utilitaire vous demandera d'ajouter des aliases dans le fichier d'aliases de votre MTA.
Nous allons maintenant configurer cette liste avec le template par default :
bin/config_list -i data/sitelist.cfg mailman
Ajoutez ensuite les crontab de l'utilisateur mailman :
root@localhost# cd /usr/local/mailman/cron
root@localhost# crontab crontab.in
Ces scripts permettent notamment de renvoyer les mots de passe aux membres régulièrement, à mettre à jour les archives des mailing-listes sur le site web ...
Lancez maintenant le mailman Queue Runner :
mailman@localhost$ bin/mailmanctl start
Pour lancer mailman à chaque démarrage de la machine, copiez le script /usr/local/mailman/scripts/mailman dans vos scripts de démarrage.
Si vous voulez modifier les valeurs de DEFAULT_EMAIL_HOST et DEFAULT_URL_HOST, vous pouvez ajouter la ligne suivante dans mm_cfg.py :
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
Ajoutez ensuite un mot de passe à l'administrateur :
mailman@localhost$ bin/mmsitepass
7.1.2.2 Integration dans Apache
Ajoutez la ligne suivant dans le fichier de configuration du serveur web Apache (généralement /etc/apache/httpd.conf) :
ScriptAlias /mailman/ "/usr/local/mailman/cgi-bin/"
Mailman sera désormais accessible à l'adresse http://127.0.0.1/mailman/.
Ajoutez ensuite les images Mailman, Python et GNU sur votre serveur web :
cp /usr/local/mailman/icons/*.{jpg,png} /var/www/iconsIndiquez ensuite à Mailman l'emplacement de ces images sur votre serveur web : ajoutez la ligne suivante dans le fichier /usr/local/mailman/Mailman/mm_cfg.py :
IMAGE_LOGOS = '/icons/'
La valeur par default est /icons/.
Mettez ensuite un Alias vers les archives des mailing-listes dans le fihier de configration d'Apache :
Alias /pipermail/ "/usr/local/mailman/archives/public/"
Vous pouvez maintenant redémarrer votre serveur web pour prendre en compte ces changements.
7.1.2.3 Integration avec le MTA
7.1.2.3.1 Avec Sendmail
7.1.2.4 Utilisation
Vous pouvez desormais créer et gérer toutes vos mailing-listes depuis l'adresse http://127.0.0.1/mailman/create.
Lors de la création d'une mailing-liste vous aurez besoin du mot de passe de l'administrateur.