aboutsummaryrefslogtreecommitdiffstats
path: root/misc/mklist/INSTALL
blob: 7164217702e9572dd059dbad551e4e1a376c7970 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
sudo apt-get install libmail-gnupg-perl libmime-tools-perl libconfig-auto-perl

Also, Fripost's schema (module Fripost::Schema) needs to be found in the
library path.

    addgroup mklist
    adduser list mklist
    adduser schleuder mklist
    mkdir -m 0700 -p /etc/mklist/gnupg-{mailman,schleuder}
    chown 'list:list' /etc/mklist/gnupg-mailman
    chown 'schleuder:schleuder' /etc/mklist/gnupg-schleuder
    cp ./config /etc/mklist/

    mkdir /etc/postfix-lists/{mailman,schleuder}
    chown list:list /etc/postfix-lists/mailman
    chown schleuder:schleuder /etc/postfix-lists/schleuder

To add a key:

    ggp --homedir /etc/mklist/gnupg --import < /path/to/pubkey.pub

for each list manager. For instance,

    sudo -u www-data gpg --homedir /etc/fripost-panel/gnupg/ -a --export ECFA6E43 | sudo -u list gpg --homedir /etc/mklist/gnupg-mailman/ --import
    sudo -u www-data gpg --homedir /etc/fripost-panel/gnupg/ -a --export ECFA6E43 | sudo -u schleuder gpg --homedir /etc/mklist/gnupg-schleuder/ --import

(Don't forget to whitelist the key ID in the configuration file.)


Postfix's lookup table (/etc/postfix-lists/transport_mklist)

    mklist#fripost.org+mailman@lists.fripost.org    mklist-mailman:
    mklist#fripost.org+schleuder@lists.fripost.org  mklist-schleuder:

Postfix's master.cf

    mklist-mailman unix  -  n       n       -       -       pipe
      flags=FR directory=/opt/fripost-panel/ user=list:list
      argv=/opt/fripost-panel/misc/mklist/mklist.pl mailman ${size}

    mklist-schleuder unix - n       n       -       -       pipe
      flags=FR directory=/opt/fripost-panel/ user=schleuder:schleuder
      argv=/opt/fripost-panel/misc/mklist/mklist.pl schleuder ${size}

Postfix's main.cf
    transport_maps = cdb:$config_directory/transport_mklist
                     cdb:$config_directory/mailman/transport
                     cdb:$config_directory/schleuder/transport

    mklist-mailman_destination_concurrency_limit = 1
    mklist-mailman_destination_recpipient_limit = 1
    mklist-mailman_time_limit = 10m

    mklist-schleuder_destination_concurrency_limit = 1
    mklist-schleuder_destination_recpipient_limit = 1
    mklist-schleuder_time_limit = 2h