[Mailman-Users] Successful Panther (MacOS X 10.3) installation steps for Mailman

Larry Stone lstone19 at stonejongleux.com
Wed Jul 7 19:14:17 CEST 2004

As requested by Brad, here is:

Successful Panther (MacOS X 10.3) installation steps for Mailman

This document best recalls my experience installing Mailman (2.1.4 but I
assume this is equally valid for 2.1.5 which was current when this was
written) on MacOS X 10.3 (Panther). It is largely based on Kathleen Webb's
document on installing Mailman and Sendmail on MacOS X 10.2 (Jaguar)
which contains some information on tools that can be useful that will not be
repeated here.

This guide assumes that you have Postfix (which comes with Panther) already
configured and operating and that you are familiar with the Unix shell and
basic text editing from the shell (vi or emacs). It is intended to help you
get Mailman installed. It does not deal with actually using Mailman as there
are pleny of other sources of help for that.

My notes are incomplete so updates and corrections are welcome. Questions
are best asked through the mailman mailing list.

Step 1) Collect all the things you need.

a) You need to download and decompress the Mailman software. (The
installation instructions are in step 3.) Download the software from:

b) You need to be an administrator of your computer. If you do not have
administrator privileges, you will not be able to do this.

c) Python comes pre-installed on your computer. It is already
functioning and ready for use by Mailman. (To verify you have Python, open
the Terminal application. at the  % prompt, type:
    sudo Python -V
and then hit the enter/return key. You'll be prompted for your password.
When you enter it, the terminal will respond with the Python version.

d) Apache web server software comes pre-installed on your computer and has
already been configured and is running.

e) Postfix is already installed on your computer but is not running by
default. You will need to get Postfix configured and started but how to do
that is beyond the scope of this document.

f) You may need to know how to get into hidden subdirectories. In the
use the Go menu and choose Go to Folder. Type in the path to the hidden
folder you need to open.

g) You may need to know how to make a new user. You use the System
application [from the Apple menu]. Use the Accounts panel in the System

h) You need to know how to run the Net Info Manager application. [It is in
the Utilities folder in the Applications folder.] You use this to create

i) You need to install the Developer Tools that came with your Panther disks
or several of the steps won't work.

Step 2) Set up the user and group needed to run Mailman.

I was surprised to find a mailman user already existed. I can only guess
that is becuase mailman is included with Panther Server and the account
"leaked" into the client version of Panther. Use Netinfo Manager (in
Utilities inside Applications) to verify that it is using the following. If
mailman does not yet exist, see Kathleen Webb's document to set it up.

a) Open the Net Info Manager application. (It is located in the Utilities
folder inside the Applications folder.)

b) Click on groups in the second column. Click on mailman in the third
column. Verify that in the bottom window you see a property "gid" with value

c) Click on users in the second column. Click on mailman in the third
column. Verify that in the bottom window you see a property "uid" with value

Assuming all of the above is there, we're good to go.

Step 3) Create a folder for mailman in the finder.

a) You can choose where to create the folder. I chose to make the mailman
folder in the Applications folder. These instructions assume that is where
you create the new folder.

b) Copy the downloaded and uncompressed mailman-version (e.g. mailman-2.1.5)
folder into the new mailman folder in the Applications folder.

c) Click on the mailman folder and set the owner and group to mailman with
the Show Info command.

d) In the Terminal application, type:
    sudo chmod a+rw,g+ws /Applications/mailman

e) Assuming the you are using the mailman-2.1.5 version, in the Terminal
application type:
    cd /Applications/mailman/mailman-2.1.5
    sudo ./configure --prefix=/Applications/mailman --with-cgi-gid=70

(FYI: on my machine group 70 is www and group 78 is mailman)

f) A whole bunch of lines of code will scroll through the Terminal window.
When it finishes, in the Terminal window, type:
    sudo make install
    cd ..
    sudo bin/check_perms -f
    sudo bin/check_perms -f

(Repeat the check_perms until no errors are reported. If you end up with
problems later, this whole step is probably where the problem will come
from. Permissions are important to Mailman.)

Step 4) Set up your web server to serve the Mailman web pages for
subscribing and administrating the mailing list.

a) From the Finder, use the Go menu and choose Go to Folder. Type in:

b) Select the httpd.conf file. Change its owner to you with Show Info.

c) Open httpd.conf with a text editor. Alternatively, skip a and b and using
Terminal, type sudo vi /etc/httpd.conf and edit the file with vi (or emacs
if you know emacs). Add these lines to the file:

          ScriptAlias   /mailman/       /Applications/mailman/cgi-bin/
          Alias /pipermail/    /Applications/mailman/archives/public/
  <Directory "/Applications/mailman/archives/public">
  Options FollowSymLinks

d) Save the file and close it. Change the owner back to System with the Show
Info if you changed it in step b.

e) In the Terminal application, type:
    sudo su
    cd /Applications/mailman/cron
    crontab crontab.in
    sudo /Applications/mailman/bin/mmsitepass xxxx

[Replace xxxx with the password you want to use as the master password to
the mailman application.]

Step 5) Configure Postfix to support a separate Mailman alias file.

a) Edit your Postix configuration file (/etc/postfix/main.cf) and add:

b) Reload postfix with:
    sudo postfix reload

Step 6) Configure Mailman

a) We need to let Mailman know we're using Postfix. Using you favorite means
of text editing, open /Applications/Mailman/mailman mm_cfg.py and add below
the line that says "# Put YOUR site-specific settings below this line.":
     MTA = "Postfix"

Step 7) Create your site-wide mailing list (mailman).

Read the instructions in INSTALL in your mailman source directory

In short, in the Terminal application, type:
    sudo su
    cd /Applications/mailman
    bin/newlist mailman
    bin/config_list -i data/sitelist.cfg mailman

Step 8) Configure your system to start Mailman when it is booted.

a) Open Terminal and change directory to /Library/StartupItems:
     sudo su
     cd /Library/StartupItems

b) Create the Mailman startup directory:
     mkdir Mailman

c) Verify the directory ownership and permissions:
     ls -l
   You should see one of the lines saying something like:
     drwxr-xr-x  5 root   admin   170 12 May 11:21 Mailman

d) If the permissions (rwxr-xr-x) are not correct, type:
     chmod 755 Mailman

e) If the owner (root) or group (admin) is not correct, type:
     chown root:admin Mailman

f) Change directory to the Mailman subdirectory (you will now be in
     cd Mailman

g) Using your favorite method of text editing, create the file Mailman (in
/Library/StartupItems/Mailman) with the following contents:

. /etc/rc.common

StartService ()
    if [ "${MAILMAN:=-NO-}" = "-YES-" ]; then
            ConsoleMessage "Starting mailman service"
            cd /Applications/Mailman
            bin/mailmanctl -s start

StopService ()
        ConsoleMessage "Stopping mailman service"
        cd /Applications/Mailman
        bin/mailmanctl stop

RestartService ()
    if [ "${MAILMAN:=-NO-}" = "-YES-" ]; then
            ConsoleMessage "Restarting mailman service"
            cd /Applications/Mailman
            bin/mailmanctl restart

RunService "$1"

h) Using your favorite method of text editing, create the file
StartupParameters.plist (in /Library/StartupItems/Mailman) with the
following contents:
  Description   = "Mailman mailing list server";
  Provides      = ("Mailman");
  Requires      = ("SMTP");
  Uses          = ("Network Time", "NFS");
  Preference    = "None";
  Messages =
    start = "Starting Mailman";
    stop  = "Stopping Mailman";
    restart  = "Reloading Mailman Configuration";

i) Using you favorite method of text editing, open /etc/hostconfig and add
the line:

j) Reboot (Restart) your system. When it finishes rebooting, Mailman should
be running. To verify, open Terminal and type:
    ps -ax | grep python
You should see a bunch of lines like this:
  434  ??  Ss     0:00.04 python bin/mailmanctl -s start
  443  ??  S      4:19.95 /usr/bin/python /Applications/Mailman/bin/qrunner
  444  ??  S      4:08.58 /usr/bin/python /Applications/Mailman/bin/qrunner
  445  ??  S      4:11.20 /usr/bin/python /Applications/Mailman/bin/qrunner
  446  ??  S      4:06.93 /usr/bin/python /Applications/Mailman/bin/qrunner
  447  ??  S      3:59.35 /usr/bin/python /Applications/Mailman/bin/qrunner
  448  ??  S      4:16.59 /usr/bin/python /Applications/Mailman/bin/qrunner
  449  ??  S      4:04.08 /usr/bin/python /Applications/Mailman/bin/qrunner
  450  ??  S      0:00.85 /usr/bin/python /Applications/Mailman/bin/qrunner
16621 std  R+     0:00.00 grep -i python
(The numbers will vary. The important thing is that you see the qrunner

Step 9) Enjoy!

At this point, mailman should be ready to use. Read the documentation in
your source directory for instructions on setting up your mailing lists.

More information about the Mailman-Users mailing list