extern val mailmanWebHost : domain -> [Domain];
{{Set the hostname of the web site for administration of mailing lists for this
domain.}}
+
+extern type mailman_node;
+{{Like <tt>web_node</tt>, but with the possibility of using some additional
+ nodes set by the admins.}}
+
+extern val mailman_node : mailman_node;
+{{The default location for Mailman web interfaces}}
+
+extern val mailman_node_to_node : mailman_node -> node;
+
+extern type mailman_place;
+extern val mailman_place_default : mailman_node -> mailman_place;
+extern val mailman_place : mailman_node -> your_ip -> mailman_place;
+extern val mailman_place_to_web_node : mailman_place -> web_node;
+extern val mailman_place_to_node : mailman_place -> node;
+extern val mailman_place_to_ip : mailman_place -> ip;
+{{Analogous to <tt>web_place</tt>, but based on <tt>mailman_node</tt>s}}
+
+extern val mailmanVhost : host -> [Domain]
+ {MailmanPlaces : [mailman_place],
+ SSL : ssl,
+ User : your_user,
+ ServerAdmin : email};
+{{Create an Apache virtual host to serve as the web interface for some Mailman
+ lists.}}
+
+val mailman = \ host : (host) -> begin
+ let
+ domainHost host;
+ in
+ dnsIP host (ip_of_node (mailman_node_to_node mailman_node));
+ mwh <- Hostname;
+ mailmanWebHost mwh;
+ mailmanVhost host where
+ MailmanPlaces = [mailman_place_default mailman_node];
+ SSL = no_ssl
+ end
+ end
+end;
+{{The most common Mailman config, for when you want to have a virtual host of your
+ domain dedicated to a Mailman interface. Provide the name of that host (e.g.,
+ "lists") to this directive, and it will take care of the rest.}}