cvsimport
[hcoop/zz_old/domtool2-proto.git] / lib / apache.dtl
CommitLineData
d68ab27c 1{{Apache web server configuration}}
2
4cb2e7e7 3extern type web_node;
4{{Nodes that accept Apache configuration from you}}
5
6extern val web_node_to_node : web_node -> node;
7
6645f04b 8extern type web_place;
9extern val web_place_default : web_node -> web_place;
10extern val web_place : web_node -> your_ip -> web_place;
11extern val web_place_to_web_node : web_place -> web_node;
12extern val web_place_to_node : web_place -> node;
13extern val web_place_to_ip : web_place -> ip;
14{{Web places are combinations of web nodes (servers on which you are allowed to
15 run web sites) and IP addresses on which those servers should listen for
16 requests.}}
17
d68ab27c 18context Vhost;
19{{A WWW virtual host}}
20
25c7a818 21extern type suexec_flag;
25c7a818 22{{Whether or not to use Suexec with a vhost.
d858369d 23For users with the 'www' privilege, this type is identical to [bool].
24For others, it has only one value, [true].}}
25
26extern type ssl_cert_path;
27{{Filesystem path to an SSL certificate in your 'cert' list}}
28
29extern type ssl;
30extern val no_ssl : ssl;
31extern val use_cert : ssl_cert_path -> ssl;
25c7a818 32
d68ab27c 33extern val vhost : host -> Vhost => [Domain]
6322242f 34 {WebPlaces : [web_place],
35 SSL : ssl,
36 User : your_user,
37 Group : your_group,
38 DocumentRoot : your_path,
39 ServerAdmin : email,
40 SuExec : suexec_flag};
697d1a52 41{{Add a new named Apache virtual host, specifying which nodes' Apache servers
42 should answer requests for this host, whether it should use SSL, what UNIX
43 user and group dynamic content generators should be run as, the filesystem
44 path to the static content root, and the e-mail address to which error pages
45 should direct visitors.}}
ff2a424a 46
90a7ca85 47extern val vhostDefault : Vhost => [Domain]
48 {WebPlaces : [web_place],
49 SSL : ssl,
50 User : your_user,
51 Group : your_group,
52 DocumentRoot : your_path,
53 ServerAdmin : email,
54 SuExec : suexec_flag};
55{{Like <tt>vhost</tt>, but for, e.g., <tt>yourdomain.com</tt> instead of
56 <tt>www.yourdomain.com</tt>}}
57
ff2a424a 58context Location;
59
60extern type location;
61{{A valid URI prefix}}
62
05d007de 63extern val location : location -> ^Vhost & Location => [Vhost & !Location];
ff2a424a 64extern val directory : your_path -> ^Vhost & Location => [Vhost & !Location];
65{{Set some configuration specific to a URI prefix or filesystem directory,
66 respectively.}}
69d98465 67
a84b22c3 68extern val serverAliasHost : your_domain_host -> [Vhost];
69d98465 69{{Give an alternate hostname for this vhost.}}
a84b22c3 70extern val serverAlias : host -> [Vhost];
d3c9f0c6 71{{Like serverAliasHost, but adds an alias for the given hostname at every domain
72 being configured.}}
a84b22c3 73extern val serverAliasDefault : [Vhost];
d3c9f0c6 74{{Like serverAliasDefault, but adds aliases for the domains being configured
75 instead of any of their hosts/"subdomains".}}