4
Configuring mailman to use lurker as external archiver requires some
5
changes to ensure a smooth run afterwards.
6
As long as lurker doesn't support multible databases per instance, you have
7
to archive either all private lists, all public lists or both with lurker.
8
The major problem is mailman, as it doesn't support to set unique archiver
9
commands each for one list.
10
For archiving only some lists, you should consider about using a mda such as
11
procmail. See README.procmail or README.maildrop for more information.
13
-> Configuring lurker as external archiver for mailman:
15
In the first instance, you should check whether user 'list', or whoever
16
runs mailman, is member of group 'lurker'. If not, you should add him, to
17
give mailman write access to lurker database:
20
Now you have to add every mailinglist that's been archived to lurkers
21
configuration file, as already mentioned: at least all private or all public
22
ones. You can list them with 'list_lists' from mailman.
23
Add every list to /etc/lurker/lurker.conf, according to the example.
25
Info: There's a automatic transformation script available at
26
/usr/share/doc/lurker/examples/mailman2lurker.pl. It is mainly for keeping
27
big archives up-to-date, and create-from-scratch functionality is quite
28
rough. Feel free to improve the script, and create patches ;)
30
Please keep in mind, that new lists created in mailman aren't configured
31
in lurker automaticly.
32
To circumvent this, the package provides a lurker-index-mm wrapper, that
33
adds new lists automaticly to a "newlist"-group in lurker. this at least
34
prevents mails from being lost, but you still need to configure correct
35
information about the new list.
36
To access this functionality, please read the 'automatic configuration'
39
Now you have to configure mailman the way that it uses lurker as
40
archiver for (at least all public or all private) lists.
41
You should restrict config changes in mailman to /etc/mailman/mm_cfg.py.
43
First add these lines to the bottom of your mm_cfg.py:
45
# These variables control the use of an external archiver.
46
# Here lurker is used as external archiver. For compability reasons, the
47
# wrapper lurker-index-mm is used instead of lurker-index. It converts
48
# the listname to lowercase and checks lurkers configuration before giving
49
# the message to lurker-index.
50
PUBLIC_EXTERNAL_ARCHIVER = '/usr/bin/lurker-index-mm -l %(listname)s -m'
51
#PRIVATE_EXTERNAL_ARCHIVER = '/usr/bin/lurker-index-mm -l %(listname)s -m'
54
This ensures that mailman will deliver every posted and accepted mail for
55
public lists to lurker, with "-l listname -m" as commandline arguments.
56
It requires lurker to have all lists mailman takes care off configured
58
To activate private list archiving to the same lurker database too, simply
59
uncomment the second line, with PRIVATE_EXTERNAL_ARCHIVE.
61
After testing everything you can change mailmans default archiving method
62
to mbox only. That will break pipermail usage. This is mailmans internal
63
archiver, and you proberly don't want to use it any longer, as you have
64
lurker now. Simply add the following to mm_cfg.py:
66
# "-1" - no archiving at all || "0" - pipermail archiving only
67
# "1" - mbox archiving only || "2" - both mbox and pipermail archiving
71
Now you can change mailmans URL to mailinglist archives. This will
72
direct the "archive" links on listinfo pages to lurkers archives.
74
# link to lurkers list overview
75
PUBLIC_ARCHIVE_URL = 'http://%(hostname)s/lurker/%(listname)s.html'
77
Last but not least import the old mail archive (normally found at
78
/var/lib/mailman/archives/private/<listname>.mbox/<listname>.mbox) into
79
your new lurker database. Do for every archived list:
81
# lurker-index -l <listname> -b 5 < /path/to/<listname>.mbox
83
Don't mind about mails already archived in lurker but also stored in these
84
mailboxes. lurker automaticly filters out duplicates of already archived
87
Automatic Configuration
88
-----------------------
89
The lurker-index-mm wrapper provides functions to add unknown lists to lurkers
90
configuration for temporary storage.
92
If you plan to use this feature, in most cases to prevent mail losing, copy
93
the example lurker.conf.mm from /usr/share/doc/lurker/examples to /etc/lurker
94
and fix it's permissions:
95
# chown list.lurker /etc/lurker/lurker.conf.mm
97
now add the following line to the end of /etc/lurker/lurker.conf:
98
include = /etc/lurker/lurker.conf.mm
102
Info: mailman2lurker.sh still exists as old-mailman2lurker.sh.gz in the
103
examples directory, mainly for backwards compability, even though it's
104
written in very bad coding style and is not really useful. feel free to
105
use code out of it, as parts may be useful anyhow.
107
-- Jonas Meurer <jonas@freesources.org>, Sun, 26 Sep 2004 16:25:11 +0200