vhost IP specification working
[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 {{Create an Apache virtual host to serve as the web interface for some Mailman
29 lists.}}
30
31 val mailman = \ host : (host) -> begin
32 let
33 domainHost host;
34 in
35 dnsIP host (ip_of_node (mailman_node_to_node mailman_node));
36 mwh <- Hostname;
37 mailmanWebHost mwh;
38 mailmanVhost host where
39 MailmanPlaces = [mailman_place_default mailman_node];
40 SSL = no_ssl
41 end
42 end
43 end;
44 {{The most common Mailman config, for when you want to have a virtual host of your
45 domain dedicated to a Mailman interface. Provide the name of that host (e.g.,
46 "lists") to this directive, and it will take care of the rest.}}