Allow vetoing of suexec
[hcoop/domtool2.git] / lib / apache.dtl
index 43dd928..d80d7ef 100644 (file)
@@ -1,17 +1,41 @@
 {{Apache web server configuration}}
 
+extern type web_node;
+{{Nodes that accept Apache configuration from you}}
+
+extern val web_node_to_node : web_node -> node;
+
 context Vhost;
 {{A WWW virtual host}}
 
+extern type suexec_flag;
+extern val suexec_flag : bool -> suexec_flag;
+{{Whether or not to use Suexec with a vhost.
+[suexec_flag] fails when passed [false] by a user without the 'www' privilege.}}
+
 extern val vhost : host -> Vhost => [Domain]
-       {WebNodes : [node],
+       {WebNodes : [web_node],
         SSL : bool,
         User : your_user,
         Group : your_group,
         DocumentRoot : your_path,
-        ServerAdmin : email};
+        ServerAdmin : email,
+        SuExec : suexec_flag};
 {{Add a new named Apache virtual host, specifying which nodes' Apache servers
   should answer requests for this host, whether it should use SSL, what UNIX
   user and group dynamic content generators should be run as, the filesystem
   path to the static content root, and the e-mail address to which error pages
   should direct visitors.}}
+
+context Location;
+
+extern type location;
+{{A valid URI prefix}}
+
+extern val location : location -> Vhost & Location => [Vhost & !Location];
+extern val directory : your_path -> ^Vhost & Location => [Vhost & !Location];
+{{Set some configuration specific to a URI prefix or filesystem directory,
+  respectively.}}
+
+extern val serverAlias : your_domain_host -> [Vhost];
+{{Give an alternate hostname for this vhost.}}