Merge branch 'dbms-in-slave'
[hcoop/domtool2.git] / lib / apache.dtl
CommitLineData
8a7c40fa
AC
1{{Apache web server configuration}}
2
60695e99
AC
3extern type web_node;
4{{Nodes that accept Apache configuration from you}}
5
6extern val web_node_to_node : web_node -> node;
7
128e7b0b
AC
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
8a7c40fa
AC
18context Vhost;
19{{A WWW virtual host}}
20
00a13ad8 21extern type suexec_flag;
00a13ad8 22{{Whether or not to use Suexec with a vhost.
434a7b1f
AC
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;
00a13ad8 32
e7482df3
AC
33extern type php_version;
34extern val php4 : php_version;
35extern val php5 : php_version;
36
8a7c40fa 37extern val vhost : host -> Vhost => [Domain]
ae272cb5
AC
38 {WebPlaces : [web_place],
39 SSL : ssl,
40 User : your_user,
41 Group : your_group,
42 DocumentRoot : your_path,
43 ServerAdmin : email,
e7482df3
AC
44 SuExec : suexec_flag,
45 PhpVersion : php_version};
f8dfbbcc
AC
46{{Add a new named Apache virtual host, specifying which nodes' Apache servers
47 should answer requests for this host, whether it should use SSL, what UNIX
48 user and group dynamic content generators should be run as, the filesystem
49 path to the static content root, and the e-mail address to which error pages
50 should direct visitors.}}
2882ee37 51
57e066bb
AC
52extern val vhostDefault : Vhost => [Domain]
53 {WebPlaces : [web_place],
54 SSL : ssl,
55 User : your_user,
56 Group : your_group,
57 DocumentRoot : your_path,
58 ServerAdmin : email,
e7482df3
AC
59 SuExec : suexec_flag,
60 PhpVersion : php_version};
57e066bb
AC
61{{Like <tt>vhost</tt>, but for, e.g., <tt>yourdomain.com</tt> instead of
62 <tt>www.yourdomain.com</tt>}}
63
2882ee37
AC
64context Location;
65
66extern type location;
67{{A valid URI prefix}}
68
36578c0c 69extern val location : location -> ^Vhost & Location => [Vhost & !Location];
2882ee37
AC
70extern val directory : your_path -> ^Vhost & Location => [Vhost & !Location];
71{{Set some configuration specific to a URI prefix or filesystem directory,
72 respectively.}}
edd38024 73
767fe695
AC
74extern type regexp;
75{{PCRE regular expression}}
76
77extern val filesMatch : regexp -> ^Vhost & Location => [Vhost & !Location];
78{{Mark nested configuration to only apply to filenames matching the regexp.}}
79
5210d78d 80extern val serverAliasHost : your_domain_host -> [Vhost];
edd38024 81{{Give an alternate hostname for this vhost.}}
5210d78d 82extern val serverAlias : host -> [Vhost];
e519d696
AC
83{{Like serverAliasHost, but adds an alias for the given hostname at every domain
84 being configured.}}
5210d78d 85extern val serverAliasDefault : [Vhost];
e519d696
AC
86{{Like serverAliasDefault, but adds aliases for the domains being configured
87 instead of any of their hosts/"subdomains".}}
ecc307a0
AC
88
89extern val testNoHtaccess : [Location];