| 1 | {{Apache web server configuration}} |
| 2 | |
| 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 | |
| 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 | |
| 18 | context Vhost; |
| 19 | {{A WWW virtual host}} |
| 20 | |
| 21 | extern type suexec_flag; |
| 22 | {{Whether or not to use Suexec with a vhost. |
| 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_cacert_path; |
| 30 | {{Filesystem path to an intermediate CA certificate in your 'cacert' list}} |
| 31 | |
| 32 | extern type ssl; |
| 33 | extern val no_ssl : ssl; |
| 34 | extern val use_cert : ssl_cert_path -> ssl; |
| 35 | |
| 36 | extern type php_version; |
| 37 | extern val fast_php : php_version; |
| 38 | {{FastCGI based php5. Much faster than regular php5.}} |
| 39 | |
| 40 | extern val vhost : host -> Vhost => [Domain] |
| 41 | {WebPlaces : [web_place], |
| 42 | SSL : ssl, |
| 43 | User : your_user, |
| 44 | Group : your_group, |
| 45 | DocumentRoot : your_path, |
| 46 | ServerAdmin : email, |
| 47 | SuExec : suexec_flag, |
| 48 | PhpVersion : php_version}; |
| 49 | {{Add a new named Apache virtual host, specifying which nodes' Apache servers |
| 50 | should answer requests for this host, whether it should use SSL, what UNIX |
| 51 | user and group dynamic content generators should be run as, the filesystem |
| 52 | path to the static content root, and the e-mail address to which error pages |
| 53 | should direct visitors.}} |
| 54 | |
| 55 | extern val vhostDefault : Vhost => [Domain] |
| 56 | {WebPlaces : [web_place], |
| 57 | SSL : ssl, |
| 58 | User : your_user, |
| 59 | Group : your_group, |
| 60 | DocumentRoot : your_path, |
| 61 | ServerAdmin : email, |
| 62 | SuExec : suexec_flag, |
| 63 | PhpVersion : php_version}; |
| 64 | {{Like <tt>vhost</tt>, but for, e.g., <tt>yourdomain.com</tt> instead of |
| 65 | <tt>www.yourdomain.com</tt>}} |
| 66 | |
| 67 | context Location; |
| 68 | |
| 69 | extern type location; |
| 70 | {{A valid URI prefix}} |
| 71 | |
| 72 | extern val location : location -> ^Vhost & Location => [Vhost & !Location]; |
| 73 | extern val directory : your_path -> ^Vhost & Location => [Vhost & !Location]; |
| 74 | {{Set some configuration specific to a URI prefix or filesystem directory, |
| 75 | respectively.}} |
| 76 | |
| 77 | extern type regexp; |
| 78 | {{PCRE regular expression}} |
| 79 | |
| 80 | extern val filesMatch : regexp -> ^Vhost & Location => [Vhost & !Location]; |
| 81 | {{Mark nested configuration to only apply to filenames matching the regexp.}} |
| 82 | |
| 83 | extern val serverAliasHost : your_domain_host -> [Vhost]; |
| 84 | {{Give an alternate hostname for this vhost.}} |
| 85 | extern val serverAlias : host -> [Vhost]; |
| 86 | {{Like serverAliasHost, but adds an alias for the given hostname at every domain |
| 87 | being configured.}} |
| 88 | extern val serverAliasDefault : [Vhost]; |
| 89 | {{Like serverAliasDefault, but adds aliases for the domains being configured |
| 90 | instead of any of their hosts/"subdomains".}} |
| 91 | |
| 92 | extern val testNoHtaccess : [Location]; |
| 93 | |
| 94 | extern val sslCertificateChainFile : ssl_cacert_path -> [Vhost]; |
| 95 | {{Intermediate file to serve as part of the chain of authority for |
| 96 | your ssl certificate}} |