** 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 [EMAIL PROTECTED] 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: [EMAIL PROTECTED] # 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: [EMAIL PROTECTED] 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: [EMAIL PROTECTED] 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 <[EMAIL PROTECTED]> Brent Rossow <[EMAIL PROTECTED]> ======================================== 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. ------------------------------------------------------ Mailman-Users mailing list [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://www.python.org/cgi-bin/faqw-mm.py Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/