I'm new to the list and I'm not sure if this has been previously
discussed. We have patched the release version of htdig (htdig-3.1.5)
to allow for environment variables specifying default config files and
directories under different Apache virtual domains. In our httpd.conf,
we use something like this:
<VirtualHost customer.domain>
ServerName www.customer.domain
ServerAdmin [EMAIL PROTECTED]
DocumentRoot /m/domain/customer.domain/htdocs/
Alias /stats /m/domain/customer.domain/stats
SetEnv HTDIG_CONFIG_DIR "/m/domain/customer.domain/etc/htdig"
SetEnv HTDIG_CONFIG_FILE "/m/domain/customer.domain/etc/htdig/htdig.conf"
</VirtualHost>
This allows us to maintain different databases for each document tree,
and the customer doesn't have to remember to put
<input type=hidden name=config value="...">
in the search form.
Below is the patch we use against the release sources. I would be
happy to supply a patch against current if anyone is interested. It
would be nice to have a feature like this enabled without having to
patch the sources on future installations.
Thanks all,
Chuck
>>>>>begin patch<<<<<
--- htsearch/htsearch.cc.orig Thu Feb 24 21:29:11 2000
+++ htsearch/htsearch.cc Sat Nov 4 16:12:22 2000
@@ -130,22 +130,30 @@
config.Defaults(&defaults[0]);
// To allow . in filename while still being 'secure',
// e.g. htdig-f.q.d.n.conf
- if (!override_config && input.exists("config")
- && (strstr(input["config"], "./") == NULL))
+ if (!override_config)
{
- char *configDir = getenv("CONFIG_DIR");
- if (configDir)
- {
- configFile = configDir;
- }
+ char *default_config_file = getenv("HTDIG_CONFIG_FILE");
+ if (default_config_file)
+ configFile = default_config_file;
else
+ configFile = DEFAULT_CONFIG_FILE;
+ if (input.exists("config") && (strstr(input["config"], "./") == NULL))
{
- configFile = CONFIG_DIR;
+ char *configDir = getenv("HTDIG_CONFIG_DIR");
+ if (configDir)
+ configFile = configDir;
+ else
+ configFile = CONFIG_DIR;
+ if (strlen(input["config"]) == 0)
+ {
+ if (default_config_file)
+ configFile = default_config_file;
+ else
+ configFile = DEFAULT_CONFIG_FILE;
+ }
+ else
+ configFile << '/' << input["config"] << ".conf";
}
- if (strlen(input["config"]) == 0)
- configFile = DEFAULT_CONFIG_FILE;
- else
- configFile << '/' << input["config"] << ".conf";
}
if (access(configFile, R_OK) < 0)
{
>>>>>end patch<<<<<
------------------------------------
To unsubscribe from the htdig3-dev mailing list, send a message to
[EMAIL PROTECTED]
You will receive a message to confirm this.