115f45f2bf8e872c4f82ba1fb37b84dfd46aa874
[hcoop/domtool2.git] / lib / mailman.dtl
1 {{Mailman mailing list system}}
2
3 extern val mailmanWebHost : domain -> [Domain];
4 {{Set the hostname of the web site for administration of mailing lists for this
5 domain.}}
6
7 extern type mailman_node;
8 {{Like <tt>web_node</tt>, but with the possibility of using some additional
9 nodes set by the admins.}}
10
11 extern val mailman_node : mailman_node;
12 {{The default location for Mailman web interfaces}}
13
14 extern val mailman_node_to_node : mailman_node -> node;
15
16 extern type mailman_place;
17 extern val mailman_place_default : mailman_node -> mailman_place;
18 extern val mailman_place : mailman_node -> your_ip -> your_ipv6 -> mailman_place;
19 extern val mailman_place_to_web_node : mailman_place -> web_node;
20 extern val mailman_place_to_node : mailman_place -> node;
21 extern val mailman_place_to_ip : mailman_place -> ip;
22 extern val mailman_place_to_ipv6 : mailman_place -> ipv6;
23 {{Analogous to <tt>web_place</tt>, but based on <tt>mailman_node</tt>s}}
24
25 extern val mailmanVhost : host -> [Domain]
26 {MailmanPlaces : [mailman_place],
27 SSL : ssl,
28 User : your_user,
29 ServerAdmin : email};
30 {{Create an Apache virtual host to serve as the web interface for some Mailman
31 lists.}}
32
33 val mailman = \ host : (host) -> begin
34 let
35 domainHost host;
36 in
37 dnsIP host (ip_of_node (mailman_node_to_node mailman_node));
38 mwh <- Hostname;
39 mailmanWebHost mwh;
40 mailmanVhost host where
41 MailmanPlaces = [mailman_place_default mailman_node];
42 SSL = no_ssl
43 end
44 end
45 end;
46 {{The most common Mailman config, for when you want to have a virtual host of your
47 domain dedicated to a Mailman interface. Provide the name of that host (e.g.,
48 "lists") to this directive, and it will take care of the rest.}}