Majordomo
Basé sur la version de majordomo 1.94.5
Document de Lim (Février 2000)
limoye@club-internet.fr

Ce document a pour but d'expliquer et de réunir toutes les informations nécessaires pour l'installation et la configuration de majordomo.
Les exemples démontrés sur ce document sont basés sur la configuration de ma machine.

Avant de commencer:

Télécharger une version de majordomo sur http://www.greatcircle.com (la version testée ici est la dernière version a ce jour: majordomo-1.94.5)

Décompressez le fichier :
[limoye@lim-nunux home]# tar -zxvf majordomo-1.94.5.tar.gz
[limoye@lim-nunux home]# cd majordomo-1.94.5

créez un utilisateur majordom :
[limoye@lim-nunux majordomo-1.94.5]# useradd majordom

Ce qui donne (pour mon exemple):
uid=501(majordom) gid=501(majordom) groups=501(majordom)

Éditez le fichier Makefile, vérifiez le chemin pour perl, le répertoire d'installation de majordomo et l'UID, GID du user majordom :
# Put the location of your Perl binary here:
PERL = /usr/bin/perl

# Where do you want Majordomo to be installed?  This CANNOT be the
# current directory (where you unpacked the distribution)
W_HOME = /usr/local/majordomo

# You need to have or create a user and group which majordomo will run as.
# Enter the numeric UID and GID (not their names!) here:
W_USER = 501
W_GROUP = 501

Editez le fichier sample.cf et indiquez le nom de votre machine et spécifiez le chemin d'installation :
# $whereami -- What machine am I running on?
#
$whereami = "nom_de_ma_belle_machine.mondomaine"                # Nom de votre machine

# $homedir -- Where can I find my extra .pl files, like majordomo.pl?
# the environment variable HOME is set by the wrapper
#
if ( defined $ENV{"HOME"}) {
     $homedir = $ENV{"HOME"};
} else {
     $homedir = "/usr/local/majordomo";               # répertoire d'installation de majordom
}

Il faut copier le fichier sample.cf en majordomo.cf (il ne semble pas indispensable de le faire car lors de la compilation, il crée automatiquement un fichier majordomo.cf dans le répertoire d'installation de majordomo défini)
[limoye@pleminh-unix majordomo-1.94.5]# cp sample.cf majordomo.cf

Éditez le fichier /etc/sendmail.cf et rajoutez-y "Tmajordom"  et le nom de votre domaine:

# this is equivalent to setting class "t"
#Ft/etc/sendmail.ct
Troot
Tmajordom
Tdaemon
Tuucp

# Alias for this host
Cw mondomaine
Cw localhost ma_belle_machine.mondomaine

Il faut relancer sendmail.

Donc pour en finir avec l'installation, passer en superutilisateur :
[root@lim-nunux majordomo-1.94.5]# make wrapper
[root@lim-nunux majordomo-1.94.5]# make install
[root@lim-nunux majordomo-1.94.5]# make install-wrapper

Passez en user et non en root ou majordom:
[root@lim-nunux majordomo-1.94.5]# su limoye
[limoye@lim-nunux majordomo-1.94.5]# cd /usr/local/majordomo
[limoye@lim-nunux majordomo]# ./wrapper config-test

et normalement tout est OK si vous avez bien tout suivi. :)

Éditez le fichier /etc/aliases :
# Majordomo
majordomo: "|/usr/local/majordomo/wrapper majordomo"
owner-majordomo: toi
majordomo-owner: toi

Relancez aliases avec la commande "newaliases":
[limoye@lim-nunux majordomo]# newaliases

Vous pouvez ensuite faire un test en envoyant un mail a majordomo
[limoye@lim-nunux majordomo]# echo 'help' | mail majordomo

Et normalement vous recevrez un mail avec toutes les commandes disponibles.
Sinon revoir depuis le debut.
 

Création de liste:

Il faut créer un fichier dans /lists en étant le user majordom:
[majordom@lim-nunux majordomo]# cd /usr/local/majordomo/lists
[majordom@lim-nunux lists]# touch kaka

Voici ce qu'il y a dans mon fichier /etc/aliases:
# Majordomo list
kaka:  "|/usr/local/majordomo/wrapper resend -l kaka kaka-list"
kaka-list:     :include:/usr/local/majordomo/lists/kaka
owner-kaka:    toi
kaka-owner:    toi
kaka-request:  "|/usr/local/majordomo/wrapper majordomo -l kaka"
kaka-approval: toi
kaka-archive:  "|/usr/local/majordomo/wrapper archive2.pl -fi /usr/local/majordomo/lists/archives/kaka -m -a"

Il faut relancer "newaliases":
[limoye@lim-nunux majordomo]# newaliases

Faites un test d'inscription a la liste kaka :
[limoye@lim-nunux majordomo]# echo 'subscribe kaka' | mail majordomo

et vous devriez recevoir une confirmation ...

Voila . si ça ne marche pas , vérifiez les permissions .

drwxr-xr-x  20 root     root         1024 Dec  1 15:20 /
drwxr-xr-x  25 root     root         3072 Jan 26 01:26 /etc
drwxr-xr-x  20 root     root         1024 Feb  4  1998 /usr
drwxr-xr-x  18 root     root         1024 Jan 16 18:40 /usr/local
drwxr-x--x   5 majordom majordom     1024 Jan 25 23:12 /usr/local/majordomo
drwxr-xr-x   2 majordom majordom    32768 Jan 26 00:49 /usr/local/majordomo/lists
-rw-rw-r--   1 majordom majordom      655 Nov  3 17:03 /usr/local/majordomo/lists/kaka
-rw-rw----   1 majordom majordom    14588 Jan 19 10:28 /usr/local/majordomo/lists/kaka.config
-rw-rw-r--   1 majordom majordom       23 Jan 14  1997 /usr/local/majordomo/lists/kaka.info

   1. Mettez les bonnes permissions pour /usr/local/majordomo 0751
[root@lim-nunux majordomo]# chmod 0751 /usr/local/majordomo

   2. Mettez les bonnes permissions pour /usr/local/majordomo/Log 0664 uniquement par le user majordom
[majordom@lim-nunux majordomo]# chmod 0664 /usr/local/majordomo/Log

   3. Mettre les bonne permissions pour /usr/local/majordomo/lists 0755 uniquement par le user majordom
[majordom@lim-nunux majordomo]# chmod 0755 /usr/local/majordomo/lists