1eada66277
Package-Manager: portage-2.2.0_alpha142 RepoMan-Options: --force
183 lines
6.6 KiB
Plaintext
183 lines
6.6 KiB
Plaintext
# Copyright 1999-2013 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Header: /var/cvsroot/gentoo-x86/net-mail/mailman/files/README.gentoo-r3,v 1.2 2008/11/14 11:07:55 hanno Exp $
|
|
|
|
Follow these instructions to finish setting up mailman. This file and the
|
|
original ebuild were tweaked by me <lamer@gentoo.org> but were graciously
|
|
submitted by Joby Walker (YOU RULE!)
|
|
2003 Jul 09: updated by Jesus Perez and re-tweaked by me <raker@gentoo.org>
|
|
for 2.1.x.
|
|
|
|
Please view the documentation on Mailman at: http://www.list.org/
|
|
|
|
This documentation assumes you're using the default gentoo path
|
|
(/usr/lib/mailman/), if you've changed it with MAILMAN_PREFIX, adjust them
|
|
accordingly.
|
|
|
|
1) If this is your first time installing mailman, after your "emerge mailman",
|
|
you need to add -D MAILMAN to /etc/conf.d/apache or /etc/conf.d/apache2 and restart
|
|
apache.
|
|
|
|
2) In your /etc/conf.d/apache (for apache 1.x)
|
|
or /etc/conf.d/apache2 (for apache 2.x)
|
|
file add the additional option to the
|
|
APACHE_OPTS or APACHE2_OPTS variable:
|
|
|
|
-D MAILMAN
|
|
|
|
3) Make sure mailman is a part of the cron group
|
|
|
|
4) This must be done as user mailman:
|
|
|
|
su - mailman
|
|
|
|
Add the cron jobs:
|
|
|
|
cd cron
|
|
crontab crontab.in
|
|
cd ..
|
|
|
|
Create the site password:
|
|
|
|
bin/mmsitepass
|
|
|
|
and main list:
|
|
|
|
bin/newlist mailman
|
|
|
|
|
|
5) Change back to root:
|
|
|
|
exit
|
|
|
|
(Postfix users: read the notes at the end of this file before you continue)
|
|
Add this to /etc/mail/aliases (and see point 9 for notes):
|
|
mailman: "|/usr/lib/mailman/mail/mailman post mailman"
|
|
mailman-admin: "|/usr/lib/mailman/mail/mailman admin mailman"
|
|
mailman-bounces: "|/usr/lib/mailman/mail/mailman bounces mailman"
|
|
mailman-confirm: "|/usr/lib/mailman/mail/mailman confirm mailman"
|
|
mailman-join: "|/usr/lib/mailman/mail/mailman join mailman"
|
|
mailman-leave: "|/usr/lib/mailman/mail/mailman leave mailman"
|
|
mailman-owner: "|/usr/lib/mailman/mail/mailman owner mailman"
|
|
mailman-request: "|/usr/lib/mailman/mail/mailman request mailman"
|
|
mailman-subscribe: "|/usr/lib/mailman/mail/mailman subscribe mailman"
|
|
mailman-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe mailman"
|
|
|
|
For courier, the aliases have to go to /etc/courier/aliases and you have to skip
|
|
the quotes.
|
|
|
|
Run newaliases (only if you use sendmail).
|
|
|
|
newaliases
|
|
|
|
6) Start the mailman daemon:
|
|
|
|
/etc/init.d/mailman start
|
|
|
|
and add it to default runlevel (optional but recommended):
|
|
|
|
rc-update add mailman default
|
|
|
|
7) For each list created (either with web interface or with bin/newlist)
|
|
this must be added to /etc/mail/aliases (see smrsh notes below)
|
|
replace <list-name> with the name of the list:
|
|
|
|
<list-name>: "|/usr/lib/mailman/mail/mailman post <list-name>"
|
|
<list-name>-admin: "|/usr/lib/mailman/mail/mailman admin <list-name>"
|
|
<list-name>-bounces: "|/usr/lib/mailman/mail/mailman bounces <list-name>"
|
|
<list-name>-confirm: "|/usr/lib/mailman/mail/mailman confirm <list-name>"
|
|
<list-name>-join: "|/usr/lib/mailman/mail/mailman join <list-name>"
|
|
<list-name>-leave: "|/usr/lib/mailman/mail/mailman leave <list-name>"
|
|
<list-name>-owner: "|/usr/lib/mailman/mail/mailman owner <list-name>"
|
|
<list-name>-request: "|/usr/lib/mailman/mail/mailman request <list-name>"
|
|
<list-name>-subscribe: "|/usr/lib/mailman/mail/mailman subscribe <list-name>"
|
|
<list-name>-unsubscribe: "|/usr/lib/mailman/mail/mailman unsubscribe <list-name>"
|
|
|
|
For courier, the aliases have to go to /etc/courier/aliases and you have to skip
|
|
the quotes.
|
|
|
|
Run newaliases:
|
|
|
|
newaliases
|
|
|
|
smrsh notes
|
|
-----------
|
|
(if you use sendmail, you are surely using srmsh) you must note that
|
|
sendmail won't run any program outside of EBINDIR. I tried to change
|
|
EBINDIR using,define(`confEBINDIR', `/usr/lib/mailman/mail')dnl in
|
|
sendmail.mc but it didn't work, so mailman must be placed in EBINDIR,
|
|
which in Gentoo is /usr/adm/sm.bin, so you must run as root:
|
|
|
|
ln -s /usr/lib/mailman/mail/mailman /usr/adm/sm.bin/mailman
|
|
|
|
And the lines in /etc/mail/aliases which refer to
|
|
/usr/lib/mailman/mail/mailman must be changed to mailman:
|
|
|
|
<list-name>: "|mailman post <list-name>"
|
|
<list-name>-admin: "|mailman admin <list-name>"
|
|
<list-name>-bounces: "|mailman bounces <list-name>"
|
|
<list-name>-confirm: "|mailman confirm <list-name>"
|
|
<list-name>-join: "|mailman join <list-name>"
|
|
<list-name>-leave: "|mailman leave <list-name>"
|
|
<list-name>-owner: "|mailman owner <list-name>"
|
|
<list-name>-request: "|mailman request <list-name>"
|
|
<list-name>-subscribe: "|mailman subscribe <list-name>"
|
|
<list-name>-unsubscribe: "|mailman unsubscribe <list-name>"
|
|
|
|
exim notes
|
|
----------
|
|
You can write an exim stanza for the router and transport that looks something
|
|
like (Derived from, and in part taken from cpanel):
|
|
|
|
mailman_virtual_router:
|
|
driver = accept
|
|
require_files = /var/lib/mailman/lists/${lc::$local_part}/config.pck
|
|
local_part_suffix_optional
|
|
local_part_suffix = -admin : \
|
|
-bounces : -bounces+* : \
|
|
-confirm : -confirm+* : \
|
|
-join : -leave : \
|
|
-owner : -request : \
|
|
-subscribe : -unsubscribe
|
|
transport = mailman_virtual_transport
|
|
|
|
mailman_virtual_transport:
|
|
driver = pipe
|
|
command = /usr/lib/mailman/mail/mailman \
|
|
'${if def:local_part_suffix \
|
|
{${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \
|
|
{post}}' \
|
|
${lc:$local_part}
|
|
current_directory = /usr/lib/mailman
|
|
home_directory = /usr/lib/mailman
|
|
user = mailman
|
|
group = mailman
|
|
|
|
Note the double colon in the require files. See
|
|
http://wiki.exim.org/FAQ/General_Debugging/Q0060 for more information.
|
|
|
|
This should be modified if you're using the vhosts USE flag, specifically you
|
|
need to modify the location of the config.pck file, to be
|
|
${lc::$local_part}-${lc::$domain} instead of simply ${lc::$local_part}, and for the
|
|
transport you need to change the last part of the command in the same fashion.
|
|
|
|
Other Helpful things to know...
|
|
-------------------------------
|
|
run "bin/check_perms -f" from the root mailman directory
|
|
(/usr/lib/mailman) to check and fix permission problems.
|
|
|
|
The INSTALL file is located in /usr/share/doc/mailman-$VERSION/
|
|
|
|
Postfix notes
|
|
-------------
|
|
If you're using Postfix, don't manually change your /etc/mail/aliases
|
|
file, as described above. Instead, follow these instructions:
|
|
|
|
http://list.org/mailman-install/node13.html
|
|
|
|
This will set up Mailman and Postfix to automatically generate the new
|
|
aliases when you create new lists. It will also make sure that Postfix
|
|
uses the correct group ID when it's talking to Mailman, otherwise you
|
|
will get security errors from Mailman.
|
|
|