As of October, 2012 /home/www/php/mailman/newmailman
does the work below.
(Note: replace the "_2" throughout with another number as necessary.)
As root:
$ cd /export/home
$ mkdir mailman_2
$ chown mailman.apache mailman_2
$ chmod 02775 mailman_2
$ cd /root/tools/mailman-2.0.13
$ ../configure --prefix=/home/mailman_6 --with-cgi-gid=apache --with-python=/usr/local/bin/python25 --with-groupname=apache
$ make
This used to generated a bunch of warnings like this:
cgi-wrapper.c:31:24: warning: pasting ""Mailman cgi-wrapper ("" and "SCRIPT"
does not give a valid preprocessing token
cgi-wrapper.c:31:24: warning: pasting "SCRIPT" and "")""
does not give a valid preprocessing token
I decided to ignore them and proceed, but first, being nervous, to check
that things really were configured to install into /home/mailman_2 and not
stomp on /home/mailman:
% find . -type f -exec egrep 'home.mailman' {} ; -exec echo ">>>> " {} ; > ~/foo
% vi ~/foo
Everything that had "/home/mailman" (instead of "/home/mailman_2") in it
looked like documentation or default settings, except for
contrib/qmail-to-mailman.py and src/alias-wrapper.c,
which I edited.
As root:
$ make installRename /home/mailman_2/mail/wrapper to wrapper_2 (or _3, ...). (It looks like "wrapper" might be called "mailman" as of mailman version 2.1.) Make sure there's no other file there starting w/ "wrapper", or the newgrouplist script will fail when a new workgroup mail list is created.
smrsh changes (as root):
% cd /etc/smrsh
% ln -s /home/mailman_2/mail/wrapper_2 wrapper_2
% ln -s /home/mailman_2/mail/truncating_wrapper_2 truncating_wrapper_2
% ln -s /home/mailman_2/mail/_truncating_wrapper_2a truncating_wrapper_2a
We'll handle truncating_wrapper below
In /home/mailman_2/Mailman, add edit following lines to mm_cfg.py
DEFAULT_HOST_NAME = 'embedded.eecs.berkeley.edu'
DEFAULT_URL = 'http://embedded.eecs.berkeley.edu/mailman/'
DEFAULT_SEND_REMINDERS = 0
DEFAULT_SEND_WELCOME_MSG = 0
DEFAULT_SUBSCRIBE_POLICY = 0
DEFAULT_ARCHIVE_PRIVATE = 1
DEFAULT_PRIVATE_ROSTER = 1
DEFAULT_LIST_ADVERTISED = 0
mailman% cd /home/mailman_2/bin
mailman% cp /home/mailman/bin/alllists .
mailman% cp /home/mailman/bin/allmembers .
mailman% cp /home/mailman/bin/changepw .
mailman% cp /home/mailman/bin/confirmpw .
mailman% cp /home/mailman/bin/newlist_notify .
mailman% cp /home/mailman/bin/update_subscriptions .
Note: on andrews, there will be no scripts in
/home/mailman/bin, so try some other
mailman_ directory.
Edit each of these scripts, changing the definition of the MBIN
variable to "/home/mailman_2/bin".
(Obsolete, does not apply to moog:) The partition where mailman is installed on gigascale is configured not to allow set-gid programs. So move all the set-gid stuff to /usr/slocal, like this:
% cd /usr/slocal
% mkdir mailman_2
% cd /usr/slocal/mailman_2
% cp -rp /home/mailman_2/cgi-bin .
% cp -rp /home/mailman_2/mail .
% cd /home/mailman_2/cgi-bin
% sh
$ for f in *; do
> rm $f
> ln -s /usr/slocal/mailman_2/cgi-bin/$f $f
> done
$ exit
% cd ../mail
% rm wrapper_2
% ln -s /usr/slocal/mailman_2/mail/wrapper_2 .
Set up truncating_wrapper:
% cd /usr/slocal/mailman_2/mail
% cp /home/mailman/mail/truncating_wrapper truncating_wrapper_2
% cp /home/mailman/mail/_truncating_wrapper truncating_wrapper_2a
% cd /home/mailman_2/mail
% ln -s /usr/slocal/mailman_2/mail/*trunc* .
Then edit truncating_wrapper_2
and _truncating_wrapper_2a.
_truncating_wrapper_2a only posts approved
email to the archive list. Note that the archive list
must be added by hand to the main list.
Edit mailman's crontab:
root% crontab -e mailmanDuplicate the cronjobs for qrunner, checkdbs, senddigests, using the pathname to the versions in the new installation. (e.g., change "/home/mailman" to "/home/mailman_2".)
Configure the Virus scanner so that it will Relay email for the new host