I went ahead and updated the INSTALL file for 1.94.1. In particular, I:
Updated the version number.
Included more information of what needs to be changed in the Makefile.
Changed information on checking for new variables: config-test can now only
be run under wrapper, so it can only be run after the installation is
complete (not before, as documented).
Emphasized that make install must be done by root or Majordomo user.
Documented necessity of make install-wrapper (previously undocumented).
Emphasized that config-test must be run under wrapper and by an
Documented registration info.
Documented extra argument specifying alternate configuration file to check.
Documented extra alias file when using M4 configs with Sendmail.
Fixed a few typos.
Here's the new file. The patch is larger than the file, so I'm not
_ _ ____ _ ____ ____ ___ ____ _ _ ____
|\/| |__| | | | |__/ | \ | | |\/| | |
| | | | _| |__| | \ |__/ |__| | | |__|
-> Current users of Majordomo whom are upgrading will want to <--
-> read the Changelog for details on what has changed between <--
-> versions of Majordomo. <--
-> In particular, NOTE THE CHANGES TO THE CONFIGURATION FILE. <--
-> Several new variables have been added to sample.cf, so check <--
-> it out and merge your existing majordomo.cf with the supplied <--
-> sample.cf <--
Steps to install Majordomo:
1) Pick a group and user ID for Majordomo to run under. Usually this
is "majordomo.daemon". If you're this group, you can do all the
majordomo management functions (creating new lists, etc.) without
having to "su" to Majordomo. You can create and use a group id
other than "daemon" if you want, but if you do, that UID needs to
be a "trusted" user as far as Sendmail is concerned (i.e., the user
name needs to appear on a "T" line in your sendmail.cf file).
2) Choose a directory for Majordomo to install under.
3) Edit the Makefile, defining where Perl and the C compiler are, the
Majordomo home directory, the location of the manual pages, the user and
group that Majordomo will run under, and the permissions for the various
files and directories.
If running on a non-POSIX system, comment out the POSIX SECTION in the
Makefile. Under POSIX, wrapper must be setuid "root", even if the
programs will be running as something other than "root" (i.e.,
"daemon"), or it won't work. The symptom of this is that Perl starts
bitching about security violations and "unsafe usages".
4) Edit majordomo.cf.
If this is a new install, copy sample.cf to majordomo.cf first.
This .cf file is "require"ed into majordomo, so it needs to be valid
Perl. Here are the important variables to set:
$whereami What machine am I on?
$whoami Who do users send requests to me as?
$whoami_owner Who is the owner of the above, for problems?
$homedir Where can I find my extra .pl files?
$listdir Where are the mailing lists?
$log Where do I write my log?
$sendmail_command Where the sendmail program resides.
$mailer What program and args do I use to send mail to the
$bounce_mailer What program and args do I use to send administrative
If this is an upgrade, examine sample.cf for new configuration
variables to place in your existing majordomo.cf. Alternately, running
config-test after the installation is complete will show all the
variables that are missing.
5) Do a 'make wrapper' to verify that the wrapper program compiles
6) Do a 'make install' to install the Majordomo programs. This must be
done either as root or as the Majordomo user in order to properly set
the ownership of the various files and directories.
7) Do a 'make install-wrapper' as root to install the wrapper. This must
be done as root because wrapper must be installed setuid and on POSIX
systems must be owned by root. The wrapper takes care to severely
restrict the programs which may be run by it and further restricts the
environment those programs run with.
8) Chdir to the Majordomo home and (as a regular, unprivileged user, not
the Majordomo user or root) run the configuration test script:
% cd /path/to/majordomo
% ./wrapper config-test
This should check for the proper configuration of Majordomo. Fix
any errors, and run again. When the process is complete and there are
no errors, config-test will offer to register your installation of
Majordomo by sending information on your operating system, your Perl
version, and the address of the Majordomo owner to the Majordomo
maintainers. A copy of the message will also be sent to the Majordomo
owner at your site.
Note that if you have a setup which uses more than one configuration
file, you can have config-test check them by calling it with the name of
an alternate configuration file, like so:
% ./wrapper config-test alternate.cf
9) Add the majordomo-related aliases to your Sendmail alias file.
This can either be /etc/aliases, or if you are using a more recent
version of Sendmail (8.6 or above) a cleaner approach is to add an
alias file specifically for Majordomo aliases by adding another
"OA" line to /etc/sendmail.cf:
If you use the M4 configuration system of recent sendmails, you can add
the following line to your .mc file to achieve the same effect:
Whichever method chosen, add the following aliases for Majordomo
majordomo: "|/path/to/majordomo/wrapper majordomo"
Note the program name (majordomo) after wrapper must not be a full path
name. Also look at 'sample.aliases' for additional examples.
10) Test the configuration again by creating an empty file 'test' in
$listdir, and issue a 'lists' command to Majordomo:
% touch /path/to/majordomo/lists/test
% echo 'lists' | mail majordomo
If everything is working correctly, you should get a message back
from Majordomo, and not Mailer-Daemon.
That's it! To create new lists, read the NEWLIST file.