[Mailman-Users] 2 mailmans with 1 exim

Rob Lingelbach rob at film.calarts.edu
Wed Oct 3 06:02:53 CEST 2001


On Tue, Oct 02, 2001 at 08:14:06PM -0400, Greg Ward wrote:
> On 02 October 2001, Rob Lingelbach said:
> > I'm running 2 instances of mailman-2.0.6 with 1 exim-3.33. 
> > I need to have 2 different MAILMAN_HOME's in exim's configure
> > file to cover the different installation locations of mailman.
> > I see in mailman's README.EXIM an example of how to do this
> > with virtual domains, using $domain in the path; does anyone 
> > have an example of the exim comfiguration with absolute paths?
> > thank you.
> 
> Well, you could define MAILMAN1_HOME and MAILMAN2_HOME, and then have
> two sets of Mailman directors (identical except for MAILMAN?_HOME).  I
> think you could get away with only one set of transports, as long as the
> UID and GID are the same.

thank you for the advice Greg.

I thought I'd need different transports and directors because of
needing to define MAILMAN_WRAP... but I'm getting, when I try to post 
to a list in MAILMAN2_HOME:

   Child process of list_transport1 transport returned 2 from command:
   /serve/web105/mailman/mail/wrapper

I think I might have a GID or UID wrong in the mailman install.

One mailman is installed as user mailman group mailman, a second
mailman installed as user mailman2 group mailman (configure options 
on this one were:  --prefix=/serve/web105/mailman --with-username=mailman2 
--with-mail-gid=mail --with-cgi-gid=nobody) 

exim is:
rwsr-xr-x    1 root     mail       508344 Aug 28 12:43 /usr/local/bin/exim*

Before I rewrote exim's configuration as below I had been using both 
mailmans (I thought) successfully, until I noticed that on one large list, 
old messages were being dredged up and re-sent; that's when I realized 
(ruefully) that there was a README.EXIM.  I had been using the aliases
approach.

-----top section---

# mailman section (also see transports & directors)
#
MAILMAN1_HOME=/home/mailman
MAILMAN2_HOME=/serve/web105/mailman

# wrapper script for mailman
MAILMAN1_WRAP=MAILMAN1_HOME/mail/wrapper
MAILMAN2_WRAP=MAILMAN2_HOME/mail/wrapper

# user and group for mailman 

MAILMAN_UID=exim
MAILMAN_GID=exim

---transports---

list_transport1:
           driver = pipe
           command = MAILMAN1_WRAP post ${lc:$local_part}
           user = MAILMAN_UID
           group = MAILMAN_GID

list_request_transport1:
           driver = pipe
           command = MAILMAN1_WRAP mailcmd ${lc:$local_part}
           user = MAILMAN_UID
           group = MAILMAN_GID

list_admin_transport1:
           driver = pipe
           command = MAILMAN1_WRAP mailowner ${lc:$local_part}
           user = MAILMAN_UID
           group = MAILMAN_GID

list_transport2:
           driver = pipe
           command = MAILMAN2_WRAP post ${lc:$local_part}
           user = MAILMAN_UID
           group = MAILMAN_GID

list_request_transport2:
           driver = pipe
           command = MAILMAN2_WRAP mailcmd ${lc:$local_part}
           user = MAILMAN_UID
           group = MAILMAN_GID

list_admin_transport2:
           driver = pipe
           command = MAILMAN2_WRAP mailowner ${lc:$local_part}
           user = MAILMAN_UID
           group = MAILMAN_GID

---directors---

## First 2 directors rewrite list-owner or owner-list to list-admin
## This is only done if the list exists.
## List existence checks are done by seeing if the file
## MAILMAN_HOME/lists//config.db
## exists.

list_owner_director1:
   driver = smartuser
   require_files = MAILMAN1_HOME/lists/${lc:$local_part}/config.db
   suffix = "-owner"
   new_address = "${lc:$local_part}-admin@${domain}"

owner_list_director1:
   driver = smartuser
   require_files = MAILMAN1_HOME/lists/${lc:$local_part}/config.db
   prefix = "owner-"
   new_address = "${lc:$local_part}-admin@${domain}"

##
## Next 3 directors direct admin, request and list mail to the appropriate
## transport.  List existence is checked as above.

list_admin_director1:
   driver = smartuser
   suffix = -admin
   require_files = MAILMAN1_HOME/lists/${lc:$local_part}/config.db
   transport = list_admin_transport1

list_request_director1:
   driver = smartuser
   suffix = -request
   require_files = MAILMAN1_HOME/lists/${lc:$local_part}/config.db
   transport = list_request_transport1

list_director1:
   driver = smartuser
   require_files = MAILMAN1_HOME/lists/${lc:$local_part}/config.db
   transport = list_transport1

## First 2 directors rewrite list-owner or owner-list to list-admin
## This is only done if the list exists.
## List existence checks are done by seeing if the file
## MAILMAN_HOME/lists//config.db
## exists.

list_owner_director2:
   driver = smartuser
   require_files = MAILMAN2_HOME/lists/${lc:$local_part}/config.db
   suffix = "-owner"
   new_address = "${lc:$local_part}-admin@${domain}"

owner_list_director2:
   driver = smartuser
   require_files = MAILMAN2_HOME/lists/${lc:$local_part}/config.db
   prefix = "owner-"
   new_address = "${lc:$local_part}-admin@${domain}"

##
## Next 3 directors direct admin, request and list mail to the appropriate
## transport.  List existence is checked as above.

list_admin_director2:
   driver = smartuser
   suffix = -admin
   require_files = MAILMAN2_HOME/lists/${lc:$local_part}/config.db
   transport = list_admin_transport2

list_request_director2:
   driver = smartuser
   suffix = -request
   require_files = MAILMAN2_HOME/lists/${lc:$local_part}/config.db
   transport = list_request_transport2

list_director2:
   driver = smartuser
   require_files = MAILMAN2_HOME/lists/${lc:$local_part}/config.db
   transport = list_transport2

-- 
Rob Lingelbach                           rob at film.calarts.edu
System Administrator                   http://www.alegria.com  
Computer Animation Lab                        rob at alegria.com
California Institute of the Arts       http://tig.alegria.com            




More information about the Mailman-Users mailing list