[Mailman-Users] Mac OSX Jaguar Mailman/Sendmail - complete installation steps

Kathleen Webb webb_k at suu.edu
Sun Oct 6 08:10:10 CEST 2002


** Successful Jaguar (Mac OSX 10.2) installation steps for Mailman/Sendmail
**

I followed the instructions in the INSTALL file included with the Mailman
source. Because I am not an expert, I made several wrong turns. I kept a log
of the things I did as I went through the whole process.

I've cleaned up the steps I took and provide them here. I am NOT good at
UNIX, so some of the steps may actually not be in the absolutely correct
order, and some of the steps may even not be necessary. Feel free to comment
on mistakes I may have made, or decisions that may cause problems.

I have Mailman running now on my Macintosh laptop with  OS X 10.2 - Jaguar.
Others' mileage may vary.

========================================
Step 1) Collect all the things you need. (I include this step because most
Macintosh users will not have done any UNIX style installations.)

a) You need to use a text editor like BBEdit Lite.
    http://www.barebones.com/

b) You need to download and decompress the Mailman software. (The
installation instructions are in step 4.) Download the software from:
    http://www.list.org/

c) You need Stuffit Expander to uncompress BBEdit Lite and Mailman. Your
Macintosh probably already has Stuffit Expander installed.
    http://www.aladdinsys.com/

d) You need to use the Terminal program on your OS X 10.2 computer. You'll
find in it the Utilities folder inside the Applications folder. You may want
to drag the Terminal icon to the dock for easy access.

e) You need to know how to change privileges with Jaguar. (To change a file
or folder's owner and/or group, click once on its icon, the choose File -->
Show Info [command-I]. In the info box is the ability to look at the owner
and group. To change it, you click on the lock. A dialog box comes up with
your user name. Assuming you are an administrator on your machine - and thus
in the admin group, put in your password to unlock the ability to change a
file's ownership attributes.)

f) Python 2.2 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.

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

h) Sendmail is already installed on your computer but is not running,
doesn't have a folder smrsh needs and doesn't have an alias file.
(Instructions are in step 2 and step 6.)

i) You 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.

j) You 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.

k) 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.

l) You need to install the Developer Tools that came with your Jaguar disks
or several of the steps won't work (the Terminal command that begins with
m4).

========================================
Step 2) Get Sendmail running

a) From the Finder, use the Go menu and choose Go to Folder and type in:
    /etc

b) Click once on the hostconfig icon and use the File menu to Show Info
[command-I]. Click on the lock to unlock the privileges. Change the owner to
yourself with read and write privileges. Close the Info window.

c) Use BBEdit to open hostconfig. Look down the file until you see the line
about the Mailserver. Change it to read:
          MAILSERVER=-YES-

d) Save the changes and close the hostconfig file.

e) With the hostconfig icon still selected, use the File menu to Show Info
[command-I]. Change the owner back to System. Close the Info window.

f) Either reboot your computer or open the Terminal application. At the %
prompt, type:
    sudo nohup /System/Library/StartupItems/Sendmail &
Hit return/enter. Terminal will ask for your password. Put it in and hit
return/enter.

g) In the terminal application type:
    sudo cp /usr/share/sendmail/conf/cf/generic-darwin.mc
/etc/mail/config.mc

h) From the finder, use the Go menu and Go to Folder. Type in:
    /etc/mail

i) Select the config.mc icon and change its owner to you. (Use Show Info
from the Finder's File menu.)

j) use BBEdit to open config.mc.

k) Scroll down to find the
    undefine(`ALIAS_FILE')
line. Remove that line. Add in these 3 lines:
     define(`ALIAS_FILE', `/etc/mail/aliases')
     define(`confDONT_BLAME_SENDMAIL', `GroupWritableDirPathSafe')
     define(`LUSER_RELAY', `local:webb_k')
(except replace the webb_k with your username)
Save the file and close it.

l) Open BBEdit and create a new file that contains this text. [replace the 2
places where it says webb_k at xx.xxx with your own e-mail address:
########################
#  Aliases in this file will NOT be expanded in the header from
#  Mail, but WILL be visible over networks.
#       >>>>>>>>>>      The program "newaliases" must be run after
#       >> NOTE >>      this file is updated for any changes to
#       >>>>>>>>>>      show through to sendmail.
# See also RFC 2142, `MAILBOX NAMES FOR COMMON SERVICES, ROLES
# AND FUNCTIONS', May 1997
# Pretty much everything else in this file points to "root", so
# you would do well in either reading roots mailbox or forwarding
# roots email from here.

root:   webb_k at xx.xxx

# Basic system aliases -- these MUST be present
MAILER-DAEMON: postmaster
postmaster: root

# General redirections for pseudo accounts
bin:    root
daemon: root
man:    root
news:   root
nobody: root
operator: root
pop:    root
usenet: news
xten:   root

# NETWORK OPERATIONS MAILBOX NAMES
abuse:          root
noc:            root
security:       root

# SUPPORT MAILBOX NAMES FOR SPECIFIC INTERNET SERVICES
ftp:            root
ftp-bugs:       ftp
hostmaster:     root
webmaster:      root
www:            webmaster

mailman:    webb_k at xx.xx
mailman-owner:    mailman

########################

Save the file on your desktop and name it:
    aliases

m) In this part you'll copy the aliases file from your desktop to /etc/mail
Open the Terminal application. At the % prompt type:
    sudo cp
Make sure you type a space after the cp. Then drag the aliases icon from
your desktop into the Terminal window. (That will put the path on the
command line.) Then type a space and type
    /etc/mail
[The command will look like:
    sudo cp /Users/webb_k/Desktop/aliases /etc/mail
Hit return/enter.]


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

a) Open the System Preferences from the Apple menu. Choose the Accounts
panel. Create a new user called
    mailman
by using the New User... button. Remember the password you assign to the
user. Close the System Preferences panel.

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

c) Click on the lock at the bottom of the window and put in your password.

d) Click on groups in the second column. Click the New button. That creates
a name attribute in the bottom half of the window. Type:
    mailman
in the value column.

e) Pull down the Edit menu and choose Add. In the new attribute, type:
    passwd
in the Property column and
    *
in the Value(s) column.

f) Pull down the Edit menu and choose Add. In the new attribute, type:
    gid
in the Property column and
    199
in the Value(s) column.

g) Click on users in the second column. (You'll be asked to save the changes
you've made to the mailman group. Click the Save button.)

h) Click on mailman in the third column. Select the gid attribute and put
    199
in the Property column.

i) Close the Net Info Manager and Save the changes to the mailman user.


========================================
Step 4) 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-2.0.13 folder into the new
mailman folder in the Applications folder. (The version you downloaded may
be slightly different.)

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.0.13 version, in the Terminal
application type:
    cd /Applications/mailman/mailman-2.0.13
    sudo ./configure --prefix=/Applications/mailman --with-cgi-gid=70
--with-mail-gid=1

(FYI: on my machine group 70 is www and group 1 is daemon)

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 5) 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 BBEdit. 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.

e) In the Terminal application, type:
    su - mailman
    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.]

f) Use the Go menu, use the Go to Folder to:
    /var

g) Select the mail folder.

h) Using the Show Info command, change the group to mail with Read & Write
privileges. (You may need to set the owner to you, set the group, then set
the owner back to system. Tell it to apply it to all the contents.)

========================================
Step 6) Finish Sendmail's setup and get it running.

a) In the Terminal application type:
    cd /usr
    sudo mkdir adm
    cd adm
    sudo mkdir sm.bin
    cd sm.bin
    sudo ln -s /Applications/mailman/mail/wrapper wrapper
    sudo /System/Library/StartupItems/Sendmail/Sendmail start
    sudo m4 /usr/share/sendmail/conf/m4/cf.m4 /etc/mail/config.mc >
/tmp/sendmail.cf
    sudo mv /etc/mail/sendmail.cf /etc/mail/sendmail.cf.old
    sudo mv /tmp/sendmail.cf /etc/mail/sendmail.cf
    sudo makemap hash /etc/mail/access < /etc/mail/access
    sudo newaliases
    sudo /System/Library/StartupItems/Sendmail/Sendmail restart
    sudo niutil -create . /locations/sendmail
    sudo niutil -createprop . /locations/sendmail sendmail.cf
/etc/mail/sendmail.cf


========================================
Step 7) Create a mailing list.

a) In the Terminal application, type:
    su - mailman
    /Applications/mailman/bin/newlist

The Terminal will ask you for the name of the list. Type a list name without
a space, For example, you could name the list:
    test

b) After you hit return/enter, the Terminal will ask you for the owner's
e-mail. Type in a valid e-mail address, like:
    webb_k at xx.xxx

c) After you hit return/enter, the Terminal will give you a list of 4
aliases like:
    test:                    "|/Applications/mailman/mail/wrapper post test"
    test-admin:              "|/Applications/mailman/mail/wrapper mailowner
test"
    test-request:            "|/Applications/mailman/mail/wrapper mailcmd
test"
    test-owner:              test-admin

d) Select (highlight) these 4 lines and copy them.

e) Use the Finder's Go menu and choose Go to Folder. Type in:
    /etc/mail

f) Open the aliases file with BBEdit and paste the 5 aliases at the end of
the file. Save the file and close it.

g) in the Terminal application, type:
    sudo newaliases

h) You repeat this step (7) for each new list you need.

========================================
Step 8)

a) Use your browser to go to:
    http://localhost/mailman/listinfo

to subscribe to your new list. (Regular users would substitute your
webserver's address for the localhost part of the URL.)

b) Use your browser to go to:
    http://localhost/mailman/admin

to administer your new list.

========================================
Comments:

These sites helped:

http://www.macdevcenter.com/lpt/a/2692

http://www.osxfaq.com/FAQ/Mail_Admin_FAQ/index.ws

http://mail.python.org/pipermail/mailman-users/1998-November/000150.html

http://www.mail-archive.com/mailman-users@python.org/msg05335.html

http://www.afp548.com/Articles/mail/python-mailman.html

http://arstechnica.infopop.net/OpenTopic/page?q=Y&a=tpc&s=50009562&f=8300945
231&m=5060918922

http://www.macaddict.com/forums/Forum33/HTML/002746.html

Also, two users on the mailman-users mailing list answered key questions as
I was working through this process.

***** Simon Forster <simon at babelfix.com>
Brent Rossow <brossow at cesa12.k12.wi.us>

========================================
Disclaimer:
These steps worked for me. Others' mileage may vary. Feel free to post
clarifications needed for the steps I've included.

Details of my operating system:
I purchased a Macintosh Powerbook with OS 10.1. I kept it updated with
updates from the Apple site. I purchased OS X 10.2 Jaguar when it came out
and upgraded my system with the Apple CDs.

I also installed the Developer tools that came on a separate CD with Jaguar.
I don't have a partitioned drive and I had previously installed Open Base
and CUPS as well as regular OS  X software.

The biggest hurdles I had to overcome were:
    a) understanding which ids to use when compiling the Mailman application
(step 4e)

    b) figuring out that smrsh (used by Sendmail) needed to have a couple
folders created to work (Thanks Simon.) (step 6a)

    c) knowing that the lists needed to be created by the mailman user.
(step 7a)

    d) I'm used to having install packages that do all the dirty work for
me, or at least having pictures that go along with the instructions [grin]

    e) I do not know UNIX commands and am beginning to learn how to leverage
its power - mostly by trial and error and reading how others solve things.

    f) I left out the steps for pointing to the images for the web pages.
See the INSTALL file included with the Mailman source for info on how to do
that.







More information about the Mailman-Users mailing list