使用Passenger与dynamic大容量虚拟主机/ userdirs

我已经有了一个Apache web服务器设置,它正在为PHP工作。

它没有静态的VirtualHosts设置,并dynamic路由所有请求。

http://example.com/的请求将通过文档根目录/var/www/example.com )提供,并且http://example.com/~user/的请求将从文档根目录/home/user/public_html (mod_userdir)。 后者工作,不pipe域名。

我希望能够使用Phusion Passenger从文档根目录或子目录中为Ruby on Rails应用程序提供服务。 但是,它需要我添加一些行到<VirtualHost>指令,显然不存在。

我更喜欢一个不需要root的解决scheme来部署应用程序,但这并不重要。 如果我具有相同的易用性,我也不介意不使用Passenger的解决scheme。

简单的解决scheme是在mod_perl中编写一个位置模块,以每个请求为基础dynamic更新虚拟主机环境(而不是容器)。 这就是我们如何处理404客户端在客户端通过ftplogin之前没有设置的网站。

不幸的是,这似乎不可能。 Passenger与userdirs完全不兼容,而VirtualDocumentRoot则需要单独的VirtualHost。