[T1-user_#]$ which sendmail /usr/sbin/sendmail [T1-user_#]$ which perl /usr/bin/perl [T1-user_#]$ which gcc /usr/bin/gcc
You'll also want to know where to find the majordomo source files and your sendmail.cf file:
/usr/local/src/majordomo-1_94_5.tar.gz /etc/mail/sendmail.cf
Standard tools and commands that we'll be using include:
We'll also be editing several long files (you can use pico, emac, or vi) and
testing lists using the pine email program.
we want to run majordomo from a dedicated account in order to
avoid the potential security problems that could result from
using the majordomo.daemon option, and in order to hand off
day to day management of majordomo to some trusted user other
than your root user.
If you're installing under linux or solaris you can use the
exisiting tools (linuxconf/admintool) to create a user (majordom)
and group (majordom) and set an initial password and home directory.
This home directory will be used to install majordomo files.
We want to create a local aliases file where we can store all the majordomo related aliases.
This file can be edited by the majordom account owner (listmaster) and allows a user other
than root to manage day to day list creation/deletion/etc.
Now we'll create the files you'll need to run aliases.amjordom:
Once you've created the files, set the group ownship for aliases.amjordomo to majordom
edit aliases.majordomo and add:
Once you've added your aliases, run newaliases to create your .db
and update files.
You can do the following:
You can always type:
Where you will find a copy of the majordomo source:
majordomo-1_94_4_tar.gz
Via the Web at:
or from the nearest mirror site.
Your changes should look somerhing like this:
You'll want to copy the sample.cf file to majordomo.cf
You may also want to set the following:
to: $TMPDIR = $ENV{'TMPDIR'} || "/u";
Now do an ls - what are we missing?
log, lists, digests
adduser, gunzip, tar, newaliases, chmod & chgrp, mkdir & touch.
You can get directions for using each of these commands under FreeBSD by typing:
man Tasks for root
adduser -s
Enter username [a-z0-9_-]: majordom
Enter full name []: Majordomo
Enter shell bash csh date no sh [bash]:
Enter home directory (full path) [/home/majordom]:
Uid [1000]:
Enter login class: default []:
Login group llynch [majordom]:
Login group is ``majordom''. Invite majordom into other groups: guest no
[no]:
Enter password []:
Enter password again []:
Name: majordom
Password: ******
Fullname: Majordomo
Uid: 1000
Gid: 1000 (majordom)
Class:
Groups: majordom
HOME: /home/majordom
Shell: /usr/local/bin/bash
OK? (y/n) [y]:
Add another user? (y/n) [y]: n
You can confirm uid & gid as needed by typing:
$grep majordom /etc/passwd
and you'll see something like this:
majordom:x:1000:1000:majordomo:/home/majordom:/usr/local/bin/bash
Make a note of the uid/gid (in this case 1000/1000) because you'll need them later.
cd /etc/mail
emacs sendmail.cf &
If you're not comfortable using emacs, use pico -w instead!
#####################
# Trusted users #
#####################
# this is equivalent to setting class "t"
#Ft/etc/sendmail.ct
Troot
Tdaemon
Tuucp
Tmajordom
# location of alias file
O AliasFile=/etc/aliases,/home/majordom/aliases.majordomo
now save your file and exit your editor
touch aliases.majordomo
touch aliases.majordomo.db
chgrp majordom aliases.majordomo
You can check file permissions and ownership by typing:
ls -al aliases*
-rw-rw-r-- 1 root majordom 410 Sep 15 10:59 aliases.majordomo
-rw-rw-r-- 1 root majordom 16384 Sep 16 10:33 aliases.majordomo.db
# majordomo mailinglist aliases
majordomo: "|/home/majordom/wrapper majordomo"
listmaster: majordom
owner-majordomo: majordom
majordomo-owner: majordom
# test list info
test: "|/home/majordom/wrapper resend -R -l test test-outgoing"
test-outgoing: :include:/home/majordom/lists/test
owner-test: llynch@darkwing.uoregon.edu
test-request: "|/home/majordom/wrapper request-answer test"
test-approval: llynch@darkwing.uoregon.edu
newaliases
ps -auxw |grep sendmail # to get the sendmail pid
kill -9 [sendmail pid]
sendmail -bd -q15m
telnet localhost 25
if you want to check to see that sendmail is really running
http://www.greatcircle.com/majordomo/
ftp://ftp.greatcircle.com/pub/majordomo/
ftp://ftp.sgi.com/other/majordomo/
ftp://ftp.sgi.com/other/majordomo/
gunzip majordomo-1_94_4_tar.gz
tar -xvf majordomo-1_94_4.tar
cd majordomo-1.94.5
- where Perl and the C compiler are
- the Majordomo home directory (home directory for the user majordom)
- the location of the manual pages
- the user and group that Majordomo will run under
- the permissions for the various files and directories.
PERL = /usr/bin/perl
CC = /usr/bin/gcc
W_HOME = /home/majordom
W_USER = 1000
W_GROUP = 1000
Notice that I've left the man page and permissions as I found them.
cp sample.cf majordomo.cf
and then edit majordomo.cf -
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
lists?
$bounce_mailer What program and args do I use to send administrative
messages?
My settings might look like this:
$whereami = "faster-pussycat.uoregon.edu";
$whoami = "majordomo\@$whereami";
$whoami_owner = "owner-majordomo\@$whereami";
if ( defined $ENV{"HOME"}) {
$homedir = $ENV{"HOME"};
} else {
$homedir = "/home/majordom";
}
$listdir = "$homedir/lists";
$digest_work_dir = "/home/majordom/digests";
$log = "$homedir/log";
$sendmail_command = "/usr/sbin/sendmail";
$mailer = "$sendmail_command -oi -oee -f\$sender";
$bounce_mailer = "$sendmail_command -oi -oee -f\$sender -t";
$TMPDIR = $ENV{'TMPDIR'} || "/usr/tmp";
make wrapper
make install
make install-wrapper
STOP! don't run the config-test yet!
(all named in majordomo.cf but not created during install)
Tasks for majordom
touch log
mkdir lists
mkdir digests
Now if you do an ls -al you should see:
drwxr-x--x 8 majordom majordom 1024 Sep 15 12:46 .
drwxr-xr-x 14 root root 1024 Sep 15 10:44 ..
drwxr-xr-x 2 majordom majordom 1024 Sep 15 10:44 Tools
-rwxr-xr-x 1 majordom majordom 5234 Sep 15 10:44 archive2.pl
drwxr-xr-x 2 majordom majordom 1024 Sep 15 10:44 bin
-rwxr-xr-x 1 majordom majordom 2795 Sep 15 10:44 bounce-remind
-rwxr-xr-x 1 majordom majordom 10671 Sep 15 10:44 config-test
-rwxr-xr-x 1 majordom majordom 49673 Sep 15 10:44 config_parse.pl
-rwxr-xr-x 1 majordom majordom 13031 Sep 15 10:44 digest
drwxrwxr-x 2 majordom majordom 1024 Sep 15 10:52 digests
drwxrwxr-x 2 majordom majordom 1024 Sep 15 12:46 lists
-rw-rw-r-- 1 majordom majordom 477 Sep 15 12:46 log
-rwxr-xr-x 1 majordom majordom 64251 Sep 15 10:44 majordomo
-rw-rw-r-- 1 majordom majordom 410 Sep 15 10:59 aliases.majordomo
-rw-r--r-- 1 majordom majordom 10485 Sep 15 10:44 majordomo.cf
-rwxr-xr-x 1 majordom majordom 23763 Sep 15 10:44 majordomo.pl
-rwxr-xr-x 1 majordom majordom 137 Sep 15 10:44 majordomo_version.pl
drwxr-xr-x 4 majordom majordom 1024 Sep 15 10:44 man
-rwxr-xr-x 1 majordom majordom 3532 Sep 15 10:44 request-answer
-rwxr-xr-x 1 majordom majordom 29520 Sep 15 10:44 resend
-rw-r--r-- 1 majordom majordom 10462 Sep 15 10:44 sample.cf
-rwxr-xr-x 1 majordom majordom 8060 Sep 15 10:44 shlock.pl
-rwsr-xr-x 1 root majordom 6735 Sep 15 10:45 wrapper
./wrapper config-test
and you should see a message scroll by that ends:
----------------------- end of tests -----------------------
Nothing bad found! Majordomo _should_ work correctly.
If it doesn't, check your configuration file
(/home/majordom/majordomo.cf)
closely, and if it still looks okay, consider asking the majordomo-users
mailing list at "majordomo-users@greatcircle.com" for assistance. Be sure
and fully specify what your problems are, and what type of machine (and
operating system) you are using.
Enjoy!
cd lists
touch test
touch test.info
echo 'lists' |mail majordomo
If everything worked, the majordom account should have mail from majordomo.
lucy elizabeth lynch
Last modified: Fri May 5 03:00:12 PDT 2000