Introduction Edit

Ce que l'on veut: du "true mailman virtual hosting", c-a-d, que foo@bar.com soit une liste differente de foo@quux.com.

Principe de base Edit

  1. changer le nom de la liste pour foo_bar.com (ou similaire) tout en conservant l'adresse de mailing etant foo@bar.com

  2. faire que le "nom" de la liste inclue le domaine (ie la facon "propre")

La facon #2 est compliquée car elle demande beaucoup plus de connaissances des mécanismes internes de mailman.

Ce qui est réaliste de faire est #1: on ne change que le nom de la liste et la façon dont l'adresse est générée.

Il est certain que les alias autour de mailman doivent suivre sinon tout ceci est inutile. Mais pour l'instant on focuse sur mailman.

Dépendances Edit

Vous devez avoir Mailman, AlternC et alternc-mailman d'installé.

Pour appliquer une patch, vous avez besoin du package patch au minimum ou sinon patchutils qui est plus complet.

aptitude install patchutils

Application des patchs Edit

Téléchargez ces patches:

Il faut patcher les binaires mailman, ceux installés par AlternC en se plaçant dans le bon répertoire :

cd /var/lib
patch --dry-run -p0 < mailman-true-virtual.patch
patch -p0 < mailman-true-virtual.patch

Il faut aussi patcher AlternC :

cd /usr/lib/alternc/
patch -p0 < alternc-mailman-vhost-fix.patch

Note: Lors de l'application de la patch de alternc-mailman-vhost-fix, ne soyez pas surprise du message suivant. C'est que le code du package alternc-mailman a changé très légèrement.

patching file m_mailman.php
Hunk #3 succeeded at 134 with fuzz 1 (offset -1 lines).
Hunk #4 succeeded at 155 (offset -1 lines).

Note: i have to fix the mailman-true-virtual.patch patch to handle original newlist calls:

===================================================================
RCS file: RCS/MailList.py,v
retrieving revision 1.1
diff -u -r1.1 MailList.py
--- MailList.py 2005/01/11 22:29:35     1.1
+++ MailList.py 2005/01/11 22:29:38
@@ -434,6 +434,8 @@
        if '@' in name:
            firstname, domain = name.split('@', 1)
             name = "%s-%s" % (firstname, domain)
+       else:
+           firstname = name
        # but we keep a sensible posting address
         postingaddr = '%s@%s' % (firstname, domain)
         try:

This patch is already included in the 2.1.4 patchset.

<!> Notez bien: le qrunner doit être reparti, sinon vous allez trouver que vos modifs n'ont pas d'effet

Implantation notes Edit

ToDo Edit

Résultat Edit

saul:/usr/lib/mailman/bin# /var/lib/mailman/bin/newlist test@koumbit.net anarcat@anarcat.ath.cx test

To finish creating your mailing list, you must edit your /etc/aliases (or
equivalent) file by adding the following lines, and possibly running the
`newaliases' program:

## test-koumbit.net mailing list
test-koumbit.net:              "|/var/lib/mailman/mail/mailman post test-koumbit.net"
test-koumbit.net-admin:        "|/var/lib/mailman/mail/mailman admin test-koumbit.net"
test-koumbit.net-bounces:      "|/var/lib/mailman/mail/mailman bounces test-koumbit.net"
test-koumbit.net-confirm:      "|/var/lib/mailman/mail/mailman confirm test-koumbit.net"
test-koumbit.net-join:         "|/var/lib/mailman/mail/mailman join test-koumbit.net"
test-koumbit.net-leave:        "|/var/lib/mailman/mail/mailman leave test-koumbit.net"
test-koumbit.net-owner:        "|/var/lib/mailman/mail/mailman owner test-koumbit.net"
test-koumbit.net-request:      "|/var/lib/mailman/mail/mailman request test-koumbit.net"
test-koumbit.net-subscribe:    "|/var/lib/mailman/mail/mailman subscribe test-koumbit.net"
test-koumbit.net-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe test-koumbit.net"

Apr 22 00:42:03 saul postfix/qmgr[14669]: E3A54105832E: from=<test-bounces@koumbit.net>, size=2437, nrcpt=1 (queue active)

Mais surtout:

saul:/usr/lib/mailman/bin# /var/lib/mailman/bin/newlist test@insomniaque.org anarcat@anarcat.ath.cx test

To finish creating your mailing list, you must edit your /etc/aliases (or
equivalent) file by adding the following lines, and possibly running the
`newaliases' program:

## test-insomniaque.org mailing list
test-insomniaque.org:              "|/var/lib/mailman/mail/mailman post test-insomniaque.org"
test-insomniaque.org-admin:        "|/var/lib/mailman/mail/mailman admin test-insomniaque.org"
test-insomniaque.org-bounces:      "|/var/lib/mailman/mail/mailman bounces test-insomniaque.org"
test-insomniaque.org-confirm:      "|/var/lib/mailman/mail/mailman confirm test-insomniaque.org"
test-insomniaque.org-join:         "|/var/lib/mailman/mail/mailman join test-insomniaque.org"
test-insomniaque.org-leave:        "|/var/lib/mailman/mail/mailman leave test-insomniaque.org"
test-insomniaque.org-owner:        "|/var/lib/mailman/mail/mailman owner test-insomniaque.org"
test-insomniaque.org-request:      "|/var/lib/mailman/mail/mailman request test-insomniaque.org"
test-insomniaque.org-subscribe:    "|/var/lib/mailman/mail/mailman subscribe test-insomniaque.org"
test-insomniaque.org-unsubscribe:  "|/var/lib/mailman/mail/mailman unsubscribe test-insomniaque.org"

Hit enter to notify test@insomniaque.org owner...

saul:/usr/lib/mailman/bin# Apr 22 00:38:26 saul postfix/smtpd[19424]: connect from saul[127.0.0.1]
Apr 22 00:38:26 saul postfix/smtpd[19424]: 6F201105832E: client=saul[127.0.0.1]
Apr 22 00:38:26 saul postfix/cleanup[18368]: 6F201105832E: message-id=<mailman.0.1082608705.19423.test-insomniaque.org@insomniaque.org>
Apr 22 00:38:26 saul postfix/qmgr[14669]: 6F201105832E: from=<test-bounces@insomniaque.org>, size=2523, nrcpt=1 (queue active)

J'ai aussi le même résultat quand je créé la liste de AlternC, maintenant.

Suggestion Edit

Présentement, alternc-mailman est correctement configuré. C'est seulement notre configuration locale à nous qui était bidon. Ce qu'il faudrait, par contre, dans alternc-mailman, ça serait un moyen d'appliquer la patch de vhosting à mailman automatiquement... C'est dans le bugtracker d'alternc, je crois. -- TheAnarcat 2005-02-26 19:13:19 EST


CategoryConfiguration

None: VirtualMailman (last edited 2008-02-03 13:27:43 EST by SeBas)