1 {{The most common kinds of domain configuration}}
3 val web_node : (web_node) = "shelob";
4 val default_node : (node) = web_node_to_node web_node;
5 val web_ip = ip_of_node (web_node_to_node web_node);
6 val web_ipv6 = ipv6_of_node (web_node_to_node web_node);
8 var WebPlaces = [web_place_default web_node];
13 \\ config : Vhost -> begin
14 dns (dnsA (literal host) (ip_of_node (web_node_to_node n)));
15 dns (dnsAAAA (literal host) (ipv6_of_node (web_node_to_node n)));
18 WebPlaces = [web_place_default n]
24 val web = \ host -> \\ config : Vhost -> begin
26 webAt n host with config end;
31 \ ipv6 : (your_ipv6) ->
33 \\ config : Vhost -> begin
34 dns (dnsA (literal host) (your_ip_to_ip ip));
35 dns (dnsAAAA (literal host) (your_ipv6_to_ipv6 ipv6));
38 WebPlaces = [web_place web_node ip ipv6]
44 val webSsl = \ host -> \ certFile -> \\ config : Vhost -> begin
50 force_ssl <- ForceSSL;
55 rewriteRule "^(.*)$" "https://%{HTTP_HOST}$1" [redirect];
57 config; (* config is included in case of directives like
58 serverAliasDefault. https rewrite should override all
59 others since it matches first. *)
68 val addDefaultAlias = begin
70 source <- DefaultAliasSource;
71 aliasPrim source (addressTarget mailbox)
83 \ d : (your_domain) ->
86 dns (dnsNS "ns1.hcoop.net");
87 dns (dnsNS "ns2.hcoop.net");
89 user_web_node <- DefaultWebNode;
91 defa : bool <- DefaultA;
93 dns (dnsA default (ip_of_node (web_node_to_node user_web_node)));
94 dns (dnsAAAA default (ipv6_of_node (web_node_to_node user_web_node)))
99 hmail : bool <- HandleMail;
108 dns (dnsMX 1 "mail.hcoop.net");
113 createWWW : bool <- CreateWWW;
120 defAl : bool <- DefaultAlias;
130 val nameserver = \host -> dns (dnsNS host);
131 val dnsIP = \from -> \to -> dns (dnsA (literal from) to);
132 val dnsIPv6 = \from -> \to -> dns (dnsAAAA (literal from) to);
133 val dnsMail = \num -> \host -> dns (dnsMX num host);
134 val dnsAlias = \from -> \to -> dns (dnsCNAME (literal from) to);
135 val dnsDefault = \to -> dns (dnsA default to);
136 val dnsDefaultv6 = \to -> dns (dnsAAAA default to);
137 val dnsText = \from -> \to -> dns (dnsTXT (srv_literal from) to);
138 val dnsDefaultText = \to -> dns (dnsTXT srv_default to);
140 val dnsWildcardIP = \to -> dns (dnsA wildcard to);
142 val addDefaultSPF = dnsDefaultText "v=spf1 mx -all";