Installation réalisée sur bulbe.nos-oignons.net le 16 avril 2013.
L'installation se conforme à la documentation officielle, aux spécificités Debian près (principallement, certain chemins changent).
Installation
L'installation du paquet Debian se fait par :
apt-get install mailman
Configuration de Mailman
La configuration se fait dans mm_cfg.py
.
Quelques paramêtres locaux :
DEFAULT_URL_PATTERN = 'https://%s/mailman/'
DEFAULT_URL_HOST = 'nos-oignons.net'
DEFAULT_EMAIL_HOST = 'nos-oignons.net'
POSTFIX_STYLE_VIRTUAL_DOMAIN = ['nos-oignons.net', 'nos-oignons.org', 'nos-oignons.fr']
DEB_LISTMASTER = 'postmaster@nos-oignons.net'
DEFAULT_SERVER_LANGUAGE = 'fr'
Le choix du MTA (les conséquences sont décrites plus bas) :
MTA='Postfix'
Et l'activation de SpamAssassin pour les listes :
GLOBAL_PIPELINE.insert(1, 'SpamAssassin')
Anonymat des e-mails responsables des listes
Mailman a le défaut d'afficher publiquement la liste des e-mails responsables de l'administration. Alors on applique un petit patch pour éviter le spam et les pénibles :
cd /usr/lib/mailman && patch -p1 < /tmp/anonymize-the-owner-e-mail-address-in-HTML.diff
Pour éviter que cette modification se fasse écraser par une mise à jour sans qu'on ne le remarque, on met le paquet on hold :
echo mailman hold | dpkg --set-selections
Intégration avec Postfix
Mailman est configuré dans un mode où il produit des aliases pour Postfix, qui sont valables quel que soit le domaine spécifié.
On modifie donc /etc/postfix/main.cf
afin d'ajouter ce fichier aux
alias_maps.
alias_maps = hash:/etc/aliases,
hash:/var/lib/mailman/data/aliases
Note : il n'est pas nécessaire d'ajout ce fichier dans
alias_database, car
Mailman s'occupe de générer le fichier .db
tout seul.
Comme spécifié dans main.cf
, paramètre alias_maps
, ils sont stockés dans le
fichier /var/lib/mailman/data/aliases
. Ce dernier ne figure pas dans
alias_database
car le fichier .db
associé ne doit pas être regénéré par la
commande new_aliases
.
Intégration avec Apache
Pour permettre l'accès à l'interface web d'administration, on va inclure la configuration spécifique pour Apache. Pour cela, on ajoute dans le VirtualHost HTTPS :
Include /etc/mailman/apache.conf
On modifie également ce dernier fichier pour avoir :
#ScriptAlias /cgi-bin/mailman/ /usr/lib/cgi-bin/mailman/
ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/
Ce qui nous donne de plus jolies URLs.
Afin que les archives publiques soient disponibles, il est nécesaire de rendre la
répertoire /var/lib/mailman/archives/private
via une ACL :
setfacl -m g:www-data:x /var/lib/mailman/archives/private