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) (<http://mail.python.org/pipermail/mailman-users/2002-October/022944.html>) 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: http://www.list.org/
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 Finder, 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 Preferences application [from the Apple menu]. Use the Accounts panel in the System section.
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 groups.
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 78.
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 78.
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 --with-mail-gid=78
(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: /etc/httpd/
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 </Directory>
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 exit 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: alias_maps=hash:/etc/postfix/aliases, hash:/Applications/Mailman/data/aliases
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 (/Applications/Mailman/Mailman-2.1.5).
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 /Library/StartupItems/Mailman): cd Mailman
g) Using your favorite method of text editing, create the file Mailman (in /Library/StartupItems/Mailman) with the following contents: #!/bin/sh
. /etc/rc.common
StartService () { if [ "${MAILMAN:=-NO-}" = "-YES-" ]; then ConsoleMessage "Starting mailman service" cd /Applications/Mailman bin/mailmanctl -s start fi }
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 else StopService fi }
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: MAILMAN=-YES-
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 --r 444 ?? S 4:08.58 /usr/bin/python /Applications/Mailman/bin/qrunner --r 445 ?? S 4:11.20 /usr/bin/python /Applications/Mailman/bin/qrunner --r 446 ?? S 4:06.93 /usr/bin/python /Applications/Mailman/bin/qrunner --r 447 ?? S 3:59.35 /usr/bin/python /Applications/Mailman/bin/qrunner --r 448 ?? S 4:16.59 /usr/bin/python /Applications/Mailman/bin/qrunner --r 449 ?? S 4:04.08 /usr/bin/python /Applications/Mailman/bin/qrunner --r 450 ?? S 0:00.85 /usr/bin/python /Applications/Mailman/bin/qrunner --r 16621 std R+ 0:00.00 grep -i python (The numbers will vary. The important thing is that you see the qrunner processes)
======================================== 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.