extern val no_ssl : ssl;
extern val use_cert : ssl_cert_path -> ssl;
+extern type php_version;
+extern val php4 : php_version;
+extern val php5 : php_version;
+
extern val vhost : host -> Vhost => [Domain]
{WebPlaces : [web_place],
SSL : ssl,
Group : your_group,
DocumentRoot : your_path,
ServerAdmin : email,
- SuExec : suexec_flag};
+ SuExec : suexec_flag,
+ PhpVersion : php_version};
{{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
Group : your_group,
DocumentRoot : your_path,
ServerAdmin : email,
- SuExec : suexec_flag};
+ SuExec : suexec_flag,
+ PhpVersion : php_version};
{{Like <tt>vhost</tt>, but for, e.g., <tt>yourdomain.com</tt> instead of
<tt>www.yourdomain.com</tt>}}
(fn () => (EString (Domain.getUser () ^ "@" ^ Config.defaultDomain), dl))),
("SuExec",
(TBase "suexec_flag", dl),
- (fn () => (EVar "true", dl)))]
+ (fn () => (EVar "true", dl))),
+ ("PhpVersion",
+ (TBase "php_version", dl),
+ (fn () => (EVar "php4", dl)))]
val () = app Defaults.registerDefault defaults
write "</VirtualHost>\n";
app (TextIO.closeOut o #2) (!vhostFiles))
+val php_version = fn (EVar "php4", _) => SOME 4
+ | (EVar "php5", _) => SOME 5
+ | _ => NONE
+
fun vhostBody (env, makeFullHost) =
let
val places = Env.env (Env.list webPlace) (env, "WebPlaces")
val docroot = Env.env Env.string (env, "DocumentRoot")
val sadmin = Env.env Env.string (env, "ServerAdmin")
val suexec = Env.env Env.bool (env, "SuExec")
+ val php = Env.env php_version (env, "PhpVersion")
val fullHost = makeFullHost (Domain.currentDomain ())
val vhostId = fullHost ^ (if Option.isSome ssl then ".ssl" else "")
TextIO.output (file, user);
TextIO.output (file, "/DAVLock");
+ if php <> Config.Apache.defaultPhpVersion then
+ (TextIO.output (file, "\n\tAddHandler x-httpd-php");
+ TextIO.output (file, Int.toString php);
+ TextIO.output (file, " .php .phtml"))
+ else
+ ();
+
(ld, file)
end)
places;
write path;
write "\"\n"))
-val php_version = fn (EVar "php4", _) => SOME 4
- | (EVar "php5", _) => SOME 5
- | _ => NONE
-
val () = Env.action_one "phpVersion"
("version", php_version)
(fn version => (write "\tAddHandler x-httpd-php";