Apache中的dynamic虚拟主机configuration

我想在我的网站上使用dynamicconfiguration在Apache中创build虚拟主机。 比如像这样的东西就是完美的。

<VirtualHost *:80> AssignUserId $domain webspaces ServerName $subdomain.$domain.$tld ServerAdmin admin@$domain.$tld DocumentRoot "/home/webspaces/$domain.$tld/subdomains/$subdomain" <Directory "/home/webspaces/$domain.$tld/subdomains/$subdomain"> .... </Directory> php_admin_value open_basedir "/tmp/:/usr/share/pear/:/home/webspaces/$domain.$tld/subdomains/$subdomain" </VirtualHost> 

$ subdomain,$ domain,$ tld将在请求时使用正则expression式从HTTP_HOSTvariables中提取。 没有更多的configuration负载,没有更多的Apache每x分钟重新加载,没有更多的愚蠢的逻辑。

请注意,我使用mpm-itk(AssignUserId指令),因此每个虚拟主机都以不同的用户身份运行。 我不打算改变这部分。

从现在起我试过了:
– mod_vhost_alias,但是这只允许dynamicconfiguration文档根目录。
– mod_macro,但是这仍然需要为每个虚拟主机明确声明虚拟主机的参数。
– 我已经阅读了有关mod_vhs和其他模块,这些模块将configuration存储在SQL或LDAP服务器中,这是不可接受的,因为不需要configuration! 这3个必要的参数可以在运行时生成。
– 我已经看到了一些Perl的build议,但作为作者指出$s->add_config将在每个请求后添加一个指令,从而导致内存泄漏, $r->add_config似乎不是一个可行的解决scheme。