[Mailman-Users] Tiger (MacOS X 10.4) installation steps for Mailman

Larry Stone lstone19 at stonejongleux.com
Sun Jul 17 21:37:23 CEST 2005

In September 2004, I posted on this topic with instructions for installing
mailman on MacOS X 10.3 (Panther). Today, I just finished upgrading my
mailman installation to 2.1.6 on a system I upgraded to Tiger (10.4) a few
weeks ago. At the same time, I updated the startup to Apple's new way of
starting stuff at boot. So here, once again for purposes of getting it in
the archives, are my instructions for installing mailman on MacOS X. Note
that I originally installed on Panther and have only upgraded to Tiger and
to mailman 2.1.6 but I believe these to be correct.


Tiger (MacOS X 10.4) installation steps for Mailman

This document is based on my experience installing Mailman 2.1.4 on
MacOS X 10.3 (Panther) and subsequently upgrading to Tiger (Mac OS X 10.4)
and to mailman 2.1.6. 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 Tiger) 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.

Since I upgraded, I've had no opportunity to actually test these
instructions on a new Tiger installation. But it should all work! 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:
My experience was the download was a gzip compressed tar file which was
automatically uncompressed to the tar file by Safari (web browser) after
downloading. Double-clicking on the tar file caused automatic extraction of
the tar file leaving the mailman-2.1.6 folder in the download location.

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. An excellent way of getting
Postfix up and running, along with a POP and IMAP server, is with Postfix
Enabler <http://www.cutedgesystems.com/software/PostfixEnabler/>. Note that
Postfix Enabler is not free - as all the underlying software is freely
available, you're paying for the configuration and installation tool, not
the underlying software.

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 and I assume is also in a new
installation of Tiger. 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.
To create the folder, open Applications and select New Folder off the File
menu. Rename the new folder "mailman".

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

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.6 version, in the Terminal
application type:
    cd /Applications/mailman/mailman-2.1.6
    sudo ./configure --prefix=/Applications/mailman --with-cgi-gid=www

(FYI: on my machine www is group 70)

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 /Applications/mailman
    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) Copy the images used for the mailman web pages to where Apache expects
them. In Terminal:
    sudo cp /Applications/mailman/icons/* /usr/share/httpd/icons

f) 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 /System/Library/LaunchDaemons:
     sudo su
     cd /System/Library/LaunchDaemons

b) Create the Mailman startup preference file:
     touch mailman.plist

c) Using your favorite method of text editing, add the following content to
<?xml version="1.0" encoding="UTF-8"?>

<plist version="1.0">

d) Verify the file ownership and permissions:
     ls -l
   You should see one of the lines saying something like:
     -rw-r--r--  5 root   wheel   170 12 May 11:21 mailman

e) If the permissions (rw-r--r--) are not correct, type:
     chmod 644 mailman.plist

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

g) 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

NOTE: If you are upgrading from Panther and were using the old way of
starting programs at boot time, be sure to go to /etc/hostconfig and change
the line saying MAILMAN=-YES- to MAILMAN=-NO-

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