Nethence Documentation Lab Webmail Your IP BBDock  


Those documents are obsolete, please use the Nethence Documentation instead.

HomeUnixWindowsOracleObsoleteHardwareDIYMechanicsScriptsConfigsPrivate

Setting up Majordomo on FreeBSD 8 with Sendmail
 
Installation & Base Configuration
Install the package,
echo $PACKAGESITE
pkg_add -r majordomo
#tlb
 
Configure Majordomo and deploy the majordomo alias file,
cd /etc/mail/
ln -s /usr/local/majordomo
cd majordomo/
cp majordomo.cf majordomo.cf.dist
vi majordomo.cf
#$whereami = "";
#takes the long-hostname by default so its best to define just the hostname,
$whereami = "example.local";
cp aliases.majordomo-sample /etc/mail/aliases.majordomo
chmod u+w aliases.majordomo
vi aliases.majordomo
change (the postmaster alias defined in the standard alias file works),
majordomo-owner: postmaster 
owner-test-l:postmaster 
and apply,
newaliases aliases.majordomo
 
Setup sendmail to take care of those new aliases and restart the daemon,
cd /etc/mail/
vi $HOSTNAME.mc
define(`ALIAS_FILE',`/etc/mail/aliases,/etc/mail/aliases.majordomo')
make
make install restart
 
Get the same script as the one from the package according to $PACKAGESITE e.g.,
cd /usr/
wget http://ftp.nerim.net/FreeBSD/releases/amd64/8.4-RELEASE/ports/ports.tgz
ls -ld ports/
tar xzf ports.tgz
cd ~/
chmod u+x /usr/ports/mail/majordomo/scripts/adaptwrapper
/usr/ports/mail/majordomo/scripts/adaptwrapper
(I choose Sendmail here)
Note. Permissions of /usr/local/majordomo/wrapper aren't changed by the adaptwrapper script (majordom suid root already), but it does change the group ownerships for the majordom user.
 
Final checks
Check the perms (suid root/majordom)
ls -l /usr/local/majordomo/wrapper
 
Check the group ownerships,
grep majordom /etc/passwd
majordom:*:54:54:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent
grep majordom /etc/group
majordom:*:54:majordom,daemon,mailnull
 
Ready to go
Send an email to your mailing-list manager to query for available mailing-lists,
'lists' in the body
 
Creating a new mailing-list with archiving
Create a new mailing-list,
cd /etc/mail/majordomo/lists/
listname=events 
touch $listname
mkdir $listname.archive/
chown majordom:majordom $listname $listname.archive/
cd /etc/mail/
cat >> aliases.majordomo <<EOF9

owner-$listname:postmaster 
owner-$listname-outgoing:owner-$listname
$listname-approval:owner-$listname
$listname: "|/usr/local/majordomo/wrapper resend -l $listname $listname-outgoing"
$listname-outgoing::include:/usr/local/majordomo/lists/$listname,
"|/usr/local/majordomo/wrapper archive -a -m -f /usr/local/majordomo/lists/$listname.archive/$listname.archive"
$listname-request: "|/usr/local/majordomo/wrapper majordomo -l $listname"
EOF9
note. -h has been removed.
apply,
newaliases aliases.majordomo
 
Setup a prefix to the subject of the list,
cd /etc/mail/majordomo/
cp $listname.config $listname.config.dist
vi $listname.config
subject_prefix = [$LIST]
 
Troubleshooting
If you get this error as delivery return,
/usr/local/majordomo/wrapper: Permission denied
554 5.3.0 unknown mailer error 126
it it because you forgot to run the adaptwrapper script, see above.
 
References
package's DESCR
Majordomo and MajorCool HOWTO
3. Majordomo
4. MajorCool
 

Last update: Mar 07, 2015