{{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.}}