At 22:10 -0500 2/8/99, Max Pyziur wrote:
>
> The next project is to enable useage of majordomo by some of the virtual
> domains on my server.
We currently have 8 virtual domains tied to the same IP number. 3 of
these (currently) have mailing lists attached under them. Two sets of
lists are working (the simple ones). The digested lists are not yet
but I think that was a typo... I'll get back to it tonight.
> In making modifications to the aliases file and then running newaliases,
> the following error shows up:
>
> /etc/mail/aliases: line 60: majordomo@dreamcompany.com... cannot alias
> non-local names
> /etc/mail/aliases: 15 aliases, longest 94 bytes, 673 bytes total
This is not anything I've seen but then ours are working so I'll just
press on with what we do and not try to address the problem directly.
> I would appreciate any of your help in this regard.
I hope this helps.
First, we have the latest version of sendmail (8.9.2.1 (Berkeley)).
Your mileage may vary if you have something older or are not using
sendmail.
Second, we have a /etc/mail/virtusertable file. This requires enabling
FEATURE(virtusertable)
in the sendmail.mc file as explained in the sendmail/cf/README file
(see bottom of note); the sendmail.mc file is converted to the
sendmail.cf file (you can edit the cf file directly but I wouldn't
want to try ;-)
The virtusertable must be built with
makemap hash virtusertable < virtusertable
to create a form that sendmail likes
Our table contains things like
info@macperl.org macperl-%1
webmaster@macperl.org macperl-%1
listmaster@macperl.org macperl-%1
macperl-forum@macperl.org %1
macperl@macperl.org %1
Third, (not required but helpful) we have done as suggested in the
Majordomo INSTALL file and defined a separate aliases file for
majordomo aliases
define(`ALIAS_FILE',`/etc/aliases,/etc/aliases.maj')
in the .mc file. You know it works when newaliases builds both the
regular aliases and aliases.maj files.
Pressing on.
Under the main majordomo directory (/uer/local/etc/majordomo for us),
I made subdirectories for each virtual domain. Then I copied
everything - Log file, executables, all the stuff that's usually
under the majordomo directory, into each of those subdirs and set
owner, group, and permissions appropriately.
Then I edited the majordomo.cf files for each virtual host/domain to
be appropriate for that domain.
Then I went back to the majordomo src directory and rebuilt and
reinstalled wrapper _for each domain_. Specifically I made a copy of
the Makefile for each virtual domain and edited the W_HOME variable
accordingly, as
Makefile.sfpm
W_HOME = /usr/local/etc/majordomo/sfpm
I now have
/usr/local/etc/majordomo
/usr/local/etc/majordomo/sfpm
/usr/local/etc/majordomo/sfpm/lists
/usr/local/etc/majordomo/sfpm/wrapper
/usr/local/etc/majordomo/sfpm/resend
/usr/local/etc/majordomo/sfpm/...
Then I set up the lines in the aliases file:
owner-sfpug: me@sf.pm.org
sfpug-owner: owner-sfpug
sfpug: "|/ulem/sfpm/wrapper resend -h sf.pm.org -l sfpug sfpug-list
sfpug-list: :include:/ulem/sfpm/lists/sfpug
sfpug-request: "|/ulem/sfpm/wrapper majordomo -l sfpug"
The virtual user table handles what happens when requests come to an
address at one of the virtual domains; whether it is send through to
the "primary" domain or not, and how the address is modified _before_
it reaches the aliases file.
This is important! Otherwise you can get a lot of User unknown errors.
Mail goes in to sfpug-request@sf.pm.org; mail is handled correctly;
list mail goes out fro owner-sfpug@sf.pm.org.
Let me know if any of this doesn't make any sense or doesn't help (or
does help).
- Vicki
========
virtusertable A domain-specific form of aliasing, allowing multiple
virtual domains to be hosted on one machine. For example,
if the virtuser table contained:
info@foo.com foo-info
info@bar.com bar-info
@baz.org jane@elsewhere.net
then mail addressed to info@foo.com will be sent to the
address foo-info, mail addressed to info@bar.com will be
delivered to bar-info, and mail addressed to anyone at
baz.org will be sent to jane@elsewhere.net. The username
from the original address is passed as %1 allowing:
@foo.org %1@elsewhere.com
meaning someone@foo.org will be sent to someone@elsewhere.com.
All the host names on the left hand side (foo.com, bar.com,
and baz.org) must be in $=w. The default map definition is:
---
|\ _,,,---,,_ Vicki Brown <vlb@cfcl.com>
ZZZzz /,`.-'`' -. ;-;;,_ Journeyman Sourceror: Scripts & Philtres
|,4- ) )-,_. ,\ ( `'-' P.O. Box 1269 San Bruno CA 94066
'---''(_/--' `-'\_) http://www.cfcl.com/~vlb www.ptf.com/macperl
References:
|
|