aboutsummaryrefslogtreecommitdiffstats
path: root/misc/mklist/INSTALL
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem.moulin@fripost.org>2012-09-23 20:43:08 +0200
committerGuilhem Moulin <guilhem.moulin@fripost.org>2012-09-23 20:43:08 +0200
commit0a4b5d24845fb86bade3ab3c38a6202862d6caad (patch)
tree5bba357bda9c8cda0c3671d387967de4a4374650 /misc/mklist/INSTALL
parent858333c888ce15b16147e11d30ee1ae5403f7d5d (diff)
List creation via a Postfix local alias.
Diffstat (limited to 'misc/mklist/INSTALL')
-rw-r--r--misc/mklist/INSTALL56
1 files changed, 56 insertions, 0 deletions
diff --git a/misc/mklist/INSTALL b/misc/mklist/INSTALL
new file mode 100644
index 0000000..660bcf9
--- /dev/null
+++ b/misc/mklist/INSTALL
@@ -0,0 +1,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