This guide is intended to help people create a simple mailing list with majordomo.
Majordomo configuration can be quite complicated at first, and can put some people off.
This guide is intended to ease the process.
1) First of all, download majordomo from http://www.greatcircle.com/majordomo.
The latest version at the time of writing was 1.94.5, which will be used in all examples. Remember to substitute it for your version number.
2) Unpack the distribution, and change to the directory by issuing the commands:
tar zxvf - majordomo-1.94.5
3) Add the user majordomo to the password file, using adduser(8).
I choose UID 800 for this, and shell /bin/false. majordomo should
be a member of the group daemon.
4) Pick an installation directory for majordomo. I *strongly* recommend you use /usr/local/majordomo-1.94.5, as some defaults are set to this.
It may save a few headaches later :)
5) Edit the Makefile with vi or similar. Variables that need to be changed are self explanatory, with lots of comments.
Be sure to check the location of perl is correct at the very top of the file.
(the #! bit before the path needs to stay there). If you are unsure of where perl is installed, issue the command "whereis perl"
6) Edit majordomo.cf. Again, most variable names are self explanatory with good comments.
One tip, where it ask you what machine majordomo is installed on, enter
domain.com - If you want the majordomo email address to be email@example.com
host.domain.com - If you want the majordomo email address to be firstname.lastname@example.org
7) SU to root.
8) Issue the command "make wrapper". Watch for any obvious errors.
9) Issue the "make install" command. Watch for any obvious errors.
10) Issue the "make install-wrapper" command. Once again, watch for any obvious errors.
11) Add the following line to /etc/mail/sendmail.cf, just below the line that
This creates and "extra" aliases file for you to use.
12) Restart sendmail with the command:
kill -HUP `head -1 /var/run/sendmail.pid`
13) Add the following information to /etc/mail/majordomo.aliases. Note, this does not do any advanced or fancy list features, just a plain mailing list :)
# Majordomo aliases files
majordomo: "/usr/local/majordomo-1.94.5/wrapper majordomo"
listname: "|/usr/local/majordomo-1.94.5/wrapper resend -l listname listname-list"
listname-request: "|/usr/local/majordomo-1.94.5/wrapper majordomo -l listname"
14) Run the command "newaliases" to update the aliases database.
15) Change to a normal, unprivleged user (NOT root or majordomo), and check the configuration of majordomo with the following. Fix any obvious errors
that spring up:
16) Change to the lists directory, and create a new mailing list (need
to be back as root now):
17) In the same directory, create a file called listname.info, and fill it with a brief description of the mailing list, rules etc.
18) Issue the following commands in the lists directory, to make sure that file permissions are ok.
chown majordomo:daemon *
chmod 0664 *
19) Now, configure the list with the following command:
echo "config listname listname.admin" | mail majordomo
20) The Final Step - Honest! :)
echo 'lists' | mail majordomo
Hopefully, this will give you a response from majordomo, containing the name of your list. If it doesn't, or your response is from mailer-Daemon, then something has gone wrong!
A useful place to start looking for errors might be /usr/local/majordomo-1.94.5/Log.
Extended features and options can be edited in the file /usr/local/majordomo-1.94.5/lists/listname.config.
Catch me in #freebsdhelp on EFnet, or by mailing email@example.com if you have any queries, problems, or random abuse :)