Multiple instances of Mailman on FreeBSD

I'm posting this to both the mailman-users list and the freebsd-ports
list. I realize that not all follow-up will make it to both lists.
I would like to set up multiple instances of Mailman on a FreeBSD 7-
STABLE system with using Postfix. Looking at the ports Makefile, it
appears that if I set MM_DIR=mailman/vhosts/domain-for-this-instance
everything should work file (plus add FORCE_PACKAGE_REGISTER allow
this second instance to be installed.)
But when I do
% cd /usr/ports/mail/mailman % sudo make -DMM_DIR=mailman/vhosts/lists.wilson-pta.org - DFORCE_PKG_REGISTER install
It just installs in the default location, /usr/local/mailman
And this paradoxical report of various settings
$ sudo make MM_DIR=mailman/vhosts/lists.wilson-pta.org - DFORCE_PKG_REGISTER install ===> Found saved configuration for mailman-2.1.12
You may change the following build options:
MM_USERNAME=mailman The username of the Mailman user.
MM_USERID=91 The user ID of the Mailman user.
MM_GROUPNAME=mailman The group to which the Mailman user will belong.
MM_GROUPID=MM_USERID The group ID for the Mailman user.
MM_DIR=mailman Mailman will be installed in /usr/local/mailman/vhosts/
lists.wilson-pta.org.
CGI_GID=www The group name or id under which your web server executes
CGI scripts.
IMGDIR=www/icons Icon images will be installed in /usr/local/www/icons.
Notice the conflicting information on the line telling me about MM_DIR.
Background on the issue
As is well known to mailman users, mailman 2.X does not fully deal
with virtual mail domains in that, say
pta-board@lists.shepard-families.org
And
pta-board@lists.wilson-pta.org
would have to be the same list. That is mailman does not provide a
separate namespace for lists in different domains.
The Wiki/FAQ at
http://wiki.list.org/pages/viewpage.action?pageId=4030604
hints at patches (which I can't seem to locate) and mailing list
discussion mentions an alternative of having a separate instance of
Mailman for each virtual domain. This later approach seems easier if
you don't anticipate having loads of domains. So that is what I
intend to do.
Cheers,
-j
-- Jeffrey Goldberg http://www.goldmark.org/jeff/

Jeffrey Goldberg wrote:
I'm posting this to both the mailman-users list and the freebsd-ports list. I realize that not all follow-up will make it to both lists.
I would like to set up multiple instances of Mailman on a FreeBSD 7-STABLE system with using Postfix. Looking at the ports Makefile, it appears that if I set MM_DIR=mailman/vhosts/domain-for-this-instance everything should work file (plus add FORCE_PACKAGE_REGISTER allow this second instance to be installed.)
Personally, I wouldn't use the ports version if you want to do multiple instances of Mailman. I would install each version from our official source tarballs that you can download from www.list.org and ftp.gnu.org.
Alternatively, if you want to use the ports version, then I would keep it simple and serve only one domain.
Otherwise, I would recommend that you find the port maintainer for Mailman, and discuss this subject with them. Hopefully, they would know enough about both sides of the problem to be able to recommend a solution or patch for you.
-- Brad Knowles <brad@shub-internet.org> LinkedIn Profile: <http://tinyurl.com/y8kpxu>

On Aug 12, 2009, at 2:12 PM, Brad Knowles wrote:
Jeffrey Goldberg wrote:
I would like to set up multiple instances of Mailman on a FreeBSD 7- STABLE system with using Postfix.
Personally, I wouldn't use the [FreeBSD] ports version if you want
to do multiple instances of Mailman. I would install each version
from our official source tarballs that you can download from www.list.org and ftp.gnu.org.
The FreeBSD Ports version contains a couple of patches which might be
useful, though some are merely cosmetic. It also knows how to find
the right gid and uid for working with various MTAs. Postfix, as we
know, is finicky, and this port really does help people get it right.
Otherwise, I would recommend that you find the port maintainer for
Mailman, and discuss this subject with them.
Already on the cc-line
Anyway, what I have found is that if I manually edit the ports/mail/ mailman/Makefile to change
#MM_DIR?= mailman MM_DIR?= mailman/vhosts/lists.wilson-pta.org
The install works as expected, even though when I specified -DMM_DIR
on the command line it worked for some purposes (built files contained
the correct string in them) but not for other purposes (the files
installed in the wrong place). So I suspect that the "install" stage
must re-read the Makefile.
So I do now have this other instance installed. One thing that I (and
others doing things this way) will have to take care of is the startup
script, /usr/local/etc/rc.d/mailman, for the queue runner. This
installation did overwrite the original. So I'm either going to have
to manually combine these in one startup script or set up a separate
script for each instance. I'm sure that there will be other things to
watch out for as well. I hope to contribute to the Wiki on this once
I've got everything running.
Let me just say that I am eagerly looking forward to Mailman 3.
Cheers,
-j
-- Jeffrey Goldberg http://www.goldmark.org/jeff/

--On Wednesday, August 12, 2009 13:55:18 -0500 Jeffrey Goldberg <jeffrey@goldmark.org> wrote:
I'm posting this to both the mailman-users list and the freebsd-ports list. I realize that not all follow-up will make it to both lists.
I would like to set up multiple instances of Mailman on a FreeBSD 7- STABLE system with using Postfix. Looking at the ports Makefile, it appears that if I set MM_DIR=mailman/vhosts/domain-for-this-instance everything should work file (plus add FORCE_PACKAGE_REGISTER allow this second instance to be installed.)
But when I do
% cd /usr/ports/mail/mailman % sudo make -DMM_DIR=mailman/vhosts/lists.wilson-pta.org - DFORCE_PKG_REGISTER install
It just installs in the default location, /usr/local/mailman
And this paradoxical report of various settings
$ sudo make MM_DIR=mailman/vhosts/lists.wilson-pta.org -
This could be a really stupid question (because I've never tried to do what you're doing), but shouldn't the above line be:
$ sudo make MM_DIR=/mailman/vhosts/lists.wilson-pta.org
In other words, don't you have to provide the *absolute* patch to the install location?
In addition, I would think you would need to change PREFIX as well for the port to install where you want it to.
So, ISTM, you should be doing this:
$ sudo make PREFIX=/usr/local/mailman/vhost/lists.wilson-pta.org -DFORCE_PKG_REGISTER install
rather than trying to set MM_DIR. Note you may *also* have to set MM_DIR, but I'm almost certain you need to set PREFIX if you want the port to install there instead of /usr/local/mailman.
The problem is, I'm not exactly sure *where* you want mailman to install, so it's hard to be correct without more information.
-- Paul Schmehl, Senior Infosec Analyst As if it wasn't already obvious, my opinions are my own and not those of my employer.
"It is as useless to argue with those who have renounced the use of reason as to administer medication to the dead." Thomas Jefferson

On Aug 12, 2009, at 3:21 PM, Paul Schmehl wrote:
--On Wednesday, August 12, 2009 13:55:18 -0500 Jeffrey Goldberg <jeffrey@goldmark.org
wrote:
I'm posting this to both the mailman-users list and the freebsd-ports list. I realize that not all follow-up will make it to both lists.
But when I do
% cd /usr/ports/mail/mailman % sudo make -DMM_DIR=mailman/vhosts/lists.wilson-pta.org - DFORCE_PKG_REGISTER install
It just installs in the default location, /usr/local/mailman
This could be a really stupid question (because I've never tried to
do what you're doing), but shouldn't the above line be:$ sudo make MM_DIR=/mailman/vhosts/lists.wilson-pta.org
In other words, don't you have to provide the *absolute* patch to
the install location?
No. Reading the Makefile it is clear that MM_DIR is relative to $PREFIX
The default setting in the Makefile is
MM_DIR?= mailman
And later on there is a
MAILMANDIR= ${PREFIX}/${MM_DIR}
With MAILMANDIR being the absolute install directory.
The problem is, I'm not exactly sure *where* you want mailman to
install, so it's hard to be correct without more information.
Mailman (under normal defaults) installs in various directories under
/usr/local/mailman
The python for all of the CGIs lives in
/usr/local/mailman/Mailman
and the programs that an administrator might run on the command line
live in
/usr/local/mailmain/bin
And there are various other directories for queues and logs and data
and per list configurations and such
I want to have instances installed in
/usr/local/mailman/vhosts/site1 /usr/local/mailman/vhosts/site2 /usr/local/mailman/vhosts/site3
Cheers,
-j
-- Jeffrey Goldberg http://www.goldmark.org/jeff/

On Wed, 12 Aug 2009 15:41:19 -0500 Jeffrey Goldberg <jeffrey@goldmark.org> wrote:
On Aug 12, 2009, at 3:21 PM, Paul Schmehl wrote:
--On Wednesday, August 12, 2009 13:55:18 -0500 Jeffrey Goldberg <jeffrey@goldmark.org
wrote:
I'm posting this to both the mailman-users list and the freebsd-ports list. I realize that not all follow-up will make it to both lists.
But when I do
% cd /usr/ports/mail/mailman % sudo make -DMM_DIR=mailman/vhosts/lists.wilson-pta.org - DFORCE_PKG_REGISTER install
It just installs in the default location, /usr/local/mailman
This could be a really stupid question (because I've never tried to
do what you're doing), but shouldn't the above line be:$ sudo make MM_DIR=/mailman/vhosts/lists.wilson-pta.org
In other words, don't you have to provide the *absolute* patch to
the install location?No. Reading the Makefile it is clear that MM_DIR is relative to $PREFIX
The default setting in the Makefile is
MM_DIR?= mailman
And later on there is a
MAILMANDIR= ${PREFIX}/${MM_DIR}
With MAILMANDIR being the absolute install directory.
The problem is, I'm not exactly sure *where* you want mailman to
install, so it's hard to be correct without more information.Mailman (under normal defaults) installs in various directories under
/usr/local/mailman
The python for all of the CGIs lives in
/usr/local/mailman/Mailman
and the programs that an administrator might run on the command line
live in/usr/local/mailmain/bin
And there are various other directories for queues and logs and data
and per list configurations and suchI want to have instances installed in
/usr/local/mailman/vhosts/site1 /usr/local/mailman/vhosts/site2 /usr/local/mailman/vhosts/site3
Cheers,
-j
-- Jeffrey Goldberg http://www.goldmark.org/jeff/
Can you not just ( cp -r /usr/local/mailman /path/to/vhost/staging ) edit some of the paths and then just host it. How many of the files are you actually required to edit ?. If this will be a continual process it might be better off to rsync your master mailman directory to all the separate vhosts obviously skipping configs and list directories and then scripting out the exact changes you need to make up creation of a new vhost.
Best regards.
:wq
Jason J. Hellenthal +1.616.403.8065 jasonh@DataIX.net
participants (4)
-
Brad Knowles
-
Jason J. Hellenthal
-
Jeffrey Goldberg
-
Paul Schmehl