## Installing a Mailing List Manager: Majordomo ## Dan Langille The mailing list is a great way to communicate with a large group of people. It forms the basis of many support groups. This article will tell you how to install majordomo, arguably the most robust mailing list manager around. � The main website for majordomo is http://www.greatcircle.com/majordomo/ and one of the interesting things it tells you is the meaning of the name majordomo.� This article deals with version 1.94.4. In order to use majordomo, you need to have sendmail running on your machine.� All mail addressed to the mailing list must be processed by your machine. Installation This should be familiar to you now.� Since I have all the ports installed, all I needed to do was: [root@ns:~] # cd /usr/ports/mail/majordomo [root@ns:/usr/ports/mail/majordomo] # make [root@ns:/usr/ports/mail/majordomo] # make install The full text of the above process is available if you want to see it.� I have a few comments about the output produced during the installation. The output says you should su to root and do a make install-wrapper.� The make file doesn't seem to know how to do this as a separate step. Mention is made of install.sh.� I couldn't find any such script. I found no difficulty associated with not solving the above two anomalies. Configuration Majordomo makes use of the alias feature of sendmail. � The first step is to tell sendmail about the majordomo aliases.� I've noted that the documentation refers to majordomo.aliases, but the file name is actually aliases.majordomo.� Please see the running newaliases section below for a file location problem associated with this file. If you have an older version of sendmail, modify /etc/sendmail.cf to contain the following lines: OA/usr/local/majordomo/aliases.majordomo If you use the m4 configuration system that recent versions of sendmail use, you can add the following lines to your .mc file to achieve the same effect.� In my case, the following line was added to my hendrix.mc file. define(`ALIAS_FILE',`/etc/aliases,/etc/aliases.majordomo') Once your .mc file is saved, you will then have to regenerate your /etc/sendmail.cf file.� See the sendmail configuration section of http://www.freebsddiary.com/freebsd/ for details. Majordomo also needs to be added to the list of sendmail trusted users.� So you can either add this manually to /etc/sendmail.cf: ##################### # Trusted users # ##################### Tmajordom Or add this to your .mc file instead: define(`confTRUSTED_USERS', majordom)dnl Running newaliases The default alias file is /usr/local/majordomo/aliases.majordomo.� You should modify all occurrences of "Postmaster" for your own email.� Please note that this example aliases file contains test lists which should be deleted once you have finished your testing. I found problems using the file in the default location.� When I ran newaliases, I was getting the following errors: [root@ns:/usr/local/majordomo] # newaliases hash map "Alias0": unsafe map file /usr/local/majordomo/aliases.majordomo.db: Permission denied WARNING: cannot open alias database /usr/local/majordomo/aliases.majordomo Cannot create database for alias file /usr/local/majordomo/aliases.majordomo But when I moved the file to /etc, newaliases worked fine: [root@ns:/usr/local/majordomo] # newaliases /etc/aliases.majordomo: 16 aliases, longest 235 bytes, 878 bytes total I'm not sure if it's necessary or not, but I've been HUPing sendmail after each change to the above. killall -HUP sendmail Testing Majordomo The easiest way to test the mailing list server is by sending messages to majordomo@yourdomain.com. � Such as this: echo 'lists' | mail majordomo If everything is working correctly, you should get a message back from Majordomo, and not Mailer-Daemon.� See docs/INSTALL for more information. Here's what I received in response to the above command: Date sent: Sat, 6 Feb 1999 01:07:31 +1300 (NZDT) To: dan From: majordomo@ns.freebsddiary.cx Subject: Majordomo results Send reply to: majordomo@ns.freebsddiary.cx -- >>>> lists majordomo@ns.freebsddiary.cx serves the following lists: test test-l test-l-digest Use the 'info ' command to get more information about a specific list. To subscribe to a list, do the following: echo 'subscribe test-l' | mail majordomo Or send a message to majordomo@yourdomain.com with the following in the message body: subscribe test-l You should get messages in return telling you how to confirm your subscription, etc. Adding message trailers Here's what I added to /usr/local/majordomo/lists/test-l.config in order to have footers: message_footer << END - To unsubscribe: send mail to majordomo@freebsddiary.cx with "unsubscribe $LIST" in the body of the message END This will produce this at the end of each message in the list: To unsubscribe: send mail to majordomo@freebsddiary.cx with "unsubscribe test-l" in the body of the message Note that you specify a blank line by putting a '-' at the start of the line with nothing else on the line.� The config file contains a great deal of information on how to modify this file. Creating a new list Here is what I did to set up a mailing list.� If you want more information, I suggest you also refer to /usr/local/majordomo/doc/NEWLIST. This section assumes you are creating a new list called newlist. Items in bold are commands you actually enter.� Everything else is just a description of what you need to do. # cd /usr/local/majordomo/lists # touch newlist # chown majordom newlist # echo 'config newlist newlist.admin' | mail majordomo Modify newlist.config which the previous step created. Change passwords, add footers, etc.� Use the contents of test-l.config as a starting point. Add a section to /etc/aliases.majordomo for your list.� Here is an example for you to use. # newaliases # killall -HUP sendmail # echo 'subscribe newlist' | mail majordomo Respond to any email that majordomo sends back to you.� This is normally confirmation that you have supplied a valid email address and that you are subscribing yourself and not somebody else. send a message to newlist@yourdomain.com Sending all replies back to the list When you receive a message from a mailing list, you'll see something like the following in the message headers: Subject: sample mail headers From: Andrew Send reply to: Andrew Date sent: Wed, 17 Feb 1999 10:09:27 +0000 To: freebsd-questions@freebsd.org When you reply to this message, you will reply to Andrew.� That may not be what you want.� I prefer mailing lists that default to replying to the list. Something like the following: Subject: another sample From: Andrew Send reply to: freebsd-questions@freebsd.org Date sent: Mon, 8 Feb 1999 22:12:27 +1300 To: freebsd-questions@freebsd.org If you decide this is the type of list for you, then you're in luck because it's a simple change to make.� Let's use the example above. Just find the reply_to field in your list file and set the reply_to field. However, before you do this, you might wish to consider the implications of changing the reply-to field. I suggest you read "Reply-To Munging Considered Harmful" (http://www.halisp.net/halisp/reply-to-harmful.html) before doing this to decide if it's for you. # cd /usr/local/majordomo/lists/ # ee freebsd-questions.config [find and locate the following line and set it just so:] reply_to = freebsd-questions@freebsd.org You should now have a working majordomo installation. If you have any questions or comments, please contact me at the email address at the top of this article. Dan $Id: majordomo.txt,v 1.1 2000/02/16 08:07:44 jim Exp $