domain: export validIpv6 and validIp
[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 -> 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 {{Analogous to <tt>web_place</tt>, but based on <tt>mailman_node</tt>s}}
23
24 extern val mailmanVhost : host -> [Domain]
25 {MailmanPlaces : [mailman_place],
26 SSL : ssl,
27 User : your_user,
28 ServerAdmin : email};
29 {{Create an Apache virtual host to serve as the web interface for some Mailman
30 lists.}}
31
32 val mailman = \ host : (host) -> begin
33 let
34 domainHost host;
35 in
36 dnsIP host (ip_of_node (mailman_node_to_node mailman_node));
37 mwh <- Hostname;
38 mailmanWebHost mwh;
39 mailmanVhost host where
40 MailmanPlaces = [mailman_place_default mailman_node];
41 SSL = no_ssl
42 end
43 end
44 end;
45 {{The most common Mailman config, for when you want to have a virtual host of your
46 domain dedicated to a Mailman interface. Provide the name of that host (e.g.,
47 "lists") to this directive, and it will take care of the rest.}}