apache: enable php 7.4 support
[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;
f924c1cf 10extern val web_place : web_node -> your_ip -> your_ipv6 -> web_place;
128e7b0b
AC
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;
f924c1cf 14extern val web_place_to_ipv6 : web_place -> ipv6;
128e7b0b
AC
15{{Web places are combinations of web nodes (servers on which you are allowed to
16 run web sites) and IP addresses on which those servers should listen for
17 requests.}}
18
8a7c40fa
AC
19context Vhost;
20{{A WWW virtual host}}
21
00a13ad8 22extern type suexec_flag;
00a13ad8 23{{Whether or not to use Suexec with a vhost.
434a7b1f
AC
24For users with the 'www' privilege, this type is identical to [bool].
25For others, it has only one value, [true].}}
26
27extern type ssl_cert_path;
28{{Filesystem path to an SSL certificate in your 'cert' list}}
29
ef5ad69a
CE
30extern type ssl_cacert_path;
31{{Filesystem path to an intermediate CA certificate in your 'cacert' list}}
32
434a7b1f
AC
33extern type ssl;
34extern val no_ssl : ssl;
35extern val use_cert : ssl_cert_path -> ssl;
00a13ad8 36
e7482df3 37extern type php_version;
4648ee8a
CE
38extern val php56 : php_version;
39{{FastCGI based php 5.6.}}
40extern val php72 : php_version;
41{{FastCGI based php 7.2.}}
0440f954
CE
42extern val php73 : php_version;
43{{FastCGI based php 7.3.}}
58807e68
CE
44extern val php74 : php_version;
45{{FastCGI based php 7.4.}}
4648ee8a
CE
46
47val fast_php : php_version = php56;
e7482df3 48
8a7c40fa 49extern val vhost : host -> Vhost => [Domain]
ae272cb5
AC
50 {WebPlaces : [web_place],
51 SSL : ssl,
52 User : your_user,
53 Group : your_group,
54 DocumentRoot : your_path,
55 ServerAdmin : email,
e7482df3
AC
56 SuExec : suexec_flag,
57 PhpVersion : php_version};
f8dfbbcc
AC
58{{Add a new named Apache virtual host, specifying which nodes' Apache servers
59 should answer requests for this host, whether it should use SSL, what UNIX
60 user and group dynamic content generators should be run as, the filesystem
61 path to the static content root, and the e-mail address to which error pages
62 should direct visitors.}}
2882ee37 63
57e066bb
AC
64extern val vhostDefault : Vhost => [Domain]
65 {WebPlaces : [web_place],
66 SSL : ssl,
67 User : your_user,
68 Group : your_group,
69 DocumentRoot : your_path,
70 ServerAdmin : email,
e7482df3
AC
71 SuExec : suexec_flag,
72 PhpVersion : php_version};
57e066bb
AC
73{{Like <tt>vhost</tt>, but for, e.g., <tt>yourdomain.com</tt> instead of
74 <tt>www.yourdomain.com</tt>}}
75
2882ee37
AC
76context Location;
77
78extern type location;
79{{A valid URI prefix}}
80
36578c0c 81extern val location : location -> ^Vhost & Location => [Vhost & !Location];
2882ee37
AC
82extern val directory : your_path -> ^Vhost & Location => [Vhost & !Location];
83{{Set some configuration specific to a URI prefix or filesystem directory,
84 respectively.}}
edd38024 85
767fe695
AC
86extern type regexp;
87{{PCRE regular expression}}
88
89extern val filesMatch : regexp -> ^Vhost & Location => [Vhost & !Location];
90{{Mark nested configuration to only apply to filenames matching the regexp.}}
91
5210d78d 92extern val serverAliasHost : your_domain_host -> [Vhost];
edd38024 93{{Give an alternate hostname for this vhost.}}
5210d78d 94extern val serverAlias : host -> [Vhost];
e519d696
AC
95{{Like serverAliasHost, but adds an alias for the given hostname at every domain
96 being configured.}}
5210d78d 97extern val serverAliasDefault : [Vhost];
e519d696
AC
98{{Like serverAliasDefault, but adds aliases for the domains being configured
99 instead of any of their hosts/"subdomains".}}
ecc307a0
AC
100
101extern val testNoHtaccess : [Location];
ef5ad69a
CE
102
103extern val sslCertificateChainFile : ssl_cacert_path -> [Vhost];
104{{Intermediate file to serve as part of the chain of authority for
105 your ssl certificate}}