{{Mailman mailing list system}}
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 web_node, 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 web_place, but based on mailman_nodes}}
extern val mailmanVhost : host -> [Domain]
{MailmanPlaces : [mailman_place],
SSL : ssl,
User : your_user};
{{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.}}