Thanks for the posting, it provided very useful, and helped with the organization
of the virtual domains, and related files for configuration, and lists.
I placed a majordomo line respectively for each domain as well, in virtusertable, and
the sendmail aliases file.
This part works well, no errors, I can e-mail majordomo@domain1.org , majordomo@domain2.org, and send the command lists and only get lists for that specific domain.
I had a slight problem with majorcool, however was able to debug it, and ended up being a permission problem for it to access the virtual domain majordomo.cf file. Majorcool asks which user and gid the CGI is to be put as, and by default specified user
bin, gid bin.
Thanks dan for all your help.
Bruce Keitell
Dan Liston wrote:
> This message is from 4 April 2000. I have made "minor" adjustments since then. I will "assume" your other sendmail configuration files such as sendmail.cw and sendmail.cf already support virtual domains.
>
> Please forgive linewrap.
>
> If I have domain1.com and domain2.org.
> My majordomo home directory is /usr/majordomo.
> My lists, files (archives), digest_work, and filter directories are all subdirectories of /var/majordomo/domain#.
> I have separate majordomo.cf file for each domain defining $whereami and the deeper subdirectory locations for lists, archives, and digests.
>
> In case of word/line wrap, all new lines begin with #
>
> Majordomo.cf modifications
>
> #I add $virtdir variable
> #$virtdir = "/var/majordomo/domain1";
> #$whereami = "domain1.com";
> # $homedir = "/usr/majordomo";
> #$listdir = "$virtdir/lists";
> #$digest_work_dir = "$virtdir/digest";
> #$log = "$virtdir/Log";
> #$majordomo_request = 1; # my preference
> #$max_which_hits = 1; # my preference again
> #$TMPDIR = $ENV{'TMPDIR'} || "/var/tmp"; # my pref
>
> If these settings were all in your default majordomo.cf, for your primary domain, you could copy it to each virtdomain directory and only have to edit the top 2 variables any time you add another domain. In otherwords, for domain2.org I just change
> $virtdir to /var/majordomo/domain2, and $whereami to domain2.org. All the rest stays the same.
>
> Virtusertable entries for test list in each domain;
>
> #test@domain1.com domain1-test
> #owner-test@domain1.com owner-domain1-test
> #test-owner@domain1.com domain1-test-owner
> #test-request@domain1.com domain1-test-request
> #test-approval@domain1.com domain1-test-approval
> #test-digest@domain1.com domain1-test-digest
> #owner-test-digest@domain1.com owner-domain1-test-digest
> #test-digest-owner@domain1.com domain1-test-digest-owner
> #test-digest-request@domain1.com domain1-test-digest-request
> #test-digest-approval@domain1.com domain1-test-digest-approval
>
> #test@domain2.org domain2-test
> #owner-test@domain2.org owner-domain2-test
> #test-owner@domain2.org domain2-test-owner
> #test-request@domain2.org domain2-test-request
> #test-approval@domain2.org domain2-test-approval
> #test-digest@domain2.org domain2-test-digest
> #owner-test-digest@domain2.org owner-domain2-test-digest
> #test-digest-owner@domain2.org domain2-test-digest-owner
> #test-digest-request@domain2.org domain2-test-digest-request
> #test-digest-approval@domain2.org domain2-test-digest-approval
>
> alias file entries for test lists (must match RHS virtusertable)
>
> #domain1-test: "|/usr/majordomo/wrapper resend -C /var/majordomo/domain1/majordomo.cf -l test -h domain1.com domain1-test-outgoing,nobody"
> #owner-domain1-test: someuser@domain1,
> #domain1-test-owner: owner-domain1-test,
> #domain1-test-request: "|/usr/majordomo/wrapper majordomo -C /var/majordomo/domain1/majordomo.cf -l test"
> #domain1-test-approval: owner-domain1-test,
> #domain1-test-outgoing: :include:/var/majordomo/domain1/lists/test, domain1-test-digestify, domain1-test-archive,
> #domain1-test-archive: "|/usr/majordomo/wrapper archive2.pl -f /var/majordomo/domain1/lists/test.archive/test -a -M"
> #domain1-test-digestify: "|/usr/majordomo/wrapper digest -r -C -c /var/majordomo/domain1/majordomo.cf -l test-digest domain1-test-digest-outgoing,nobody"
> #domain1-test-digest: domain1-test
> #owner-domain1-test-digest: owner-domain1-test,
> #domain1-test-digest-owner: owner-domain1-test,
> #domain1-test-digest-request: "|/usr/majordomo/wrapper majordomo -C /var/majordomo/domain1/majordomo.cf -l test-digest"
> #domain1-test-digest-approval: owner-domain1-test,
>
> #domain2-test: "|/usr/majordomo/wrapper resend -C /var/majordomo/domain2/majordomo.cf -l test -h domain2.org domain2-test-outgoing,nobody"
> #owner-domain2-test: someuser@domain2,
> #domain2-test-owner: owner-domain2-test,
> #domain2-test-request: "|/usr/majordomo/wrapper majordomo -C /var/majordomo/domain2/majordomo.cf -l test"
> #domain2-test-approval: owner-domain2-test,
> #domain2-test-outgoing: :include:/var/majordomo/domain2/lists/test, domain2-test-digestify, domain2-test-archive,
> #domain2-test-archive: "|/usr/majordomo/wrapper archive2.pl -f /var/majordomo/domain2/lists/test.archive/test -a -M"
> #domain2-test-digestify: "|/usr/majordomo/wrapper digest -r -C -c /var/majordomo/domain2/majordomo.cf -l test-digest domain2-test-digest-outgoing,nobody"
> #domain2-test-digest: domain2-test
> #owner-domain2-test-digest: owner-domain2-test,
> #domain2-test-digest-owner: owner-domain2-test,
> #domain2-test-digest-request: "|/usr/majordomo/wrapper majordomo -C /var/majordomo/domain2/majordomo.cf -l test-digest"
> #domain2-test-digest-approval: owner-domain2-test,
>
> Hope this helps shine light on things,
> Dan
References:
|
|