d68ab27c |
1 | {{Apache web server configuration}} |
2 | |
4cb2e7e7 |
3 | extern type web_node; |
4 | {{Nodes that accept Apache configuration from you}} |
5 | |
6 | extern val web_node_to_node : web_node -> node; |
7 | |
6645f04b |
8 | extern type web_place; |
9 | extern val web_place_default : web_node -> web_place; |
10 | extern val web_place : web_node -> your_ip -> web_place; |
11 | extern val web_place_to_web_node : web_place -> web_node; |
12 | extern val web_place_to_node : web_place -> node; |
13 | extern 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 |
18 | context Vhost; |
19 | {{A WWW virtual host}} |
20 | |
25c7a818 |
21 | extern type suexec_flag; |
25c7a818 |
22 | {{Whether or not to use Suexec with a vhost. |
d858369d |
23 | For users with the 'www' privilege, this type is identical to [bool]. |
24 | For others, it has only one value, [true].}} |
25 | |
26 | extern type ssl_cert_path; |
27 | {{Filesystem path to an SSL certificate in your 'cert' list}} |
28 | |
29 | extern type ssl; |
30 | extern val no_ssl : ssl; |
31 | extern val use_cert : ssl_cert_path -> ssl; |
25c7a818 |
32 | |
d68ab27c |
33 | extern val vhost : host -> Vhost => [Domain] |
6645f04b |
34 | {WebPlaces : [web_place], |
d858369d |
35 | SSL : ssl, |
d68ab27c |
36 | User : your_user, |
37 | Group : your_group, |
38 | DocumentRoot : your_path, |
25c7a818 |
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 | |
47 | context Location; |
48 | |
49 | extern type location; |
50 | {{A valid URI prefix}} |
51 | |
05d007de |
52 | extern val location : location -> ^Vhost & Location => [Vhost & !Location]; |
ff2a424a |
53 | extern val directory : your_path -> ^Vhost & Location => [Vhost & !Location]; |
54 | {{Set some configuration specific to a URI prefix or filesystem directory, |
55 | respectively.}} |
69d98465 |
56 | |
a84b22c3 |
57 | extern val serverAliasHost : your_domain_host -> [Vhost]; |
69d98465 |
58 | {{Give an alternate hostname for this vhost.}} |
a84b22c3 |
59 | extern val serverAlias : host -> [Vhost]; |
d3c9f0c6 |
60 | {{Like serverAliasHost, but adds an alias for the given hostname at every domain |
61 | being configured.}} |
a84b22c3 |
62 | extern val serverAliasDefault : [Vhost]; |
d3c9f0c6 |
63 | {{Like serverAliasDefault, but adds aliases for the domains being configured |
64 | instead of any of their hosts/"subdomains".}} |