问题得到Squirrelmail和乘客在Apache上工作

我试图设置一个位置,我想在同一个Apache服务器上运行一个squirrelmail和Passenger,它有一个指向squirrelmail的url以及一切由乘客处理的东西。 到目前为止,松鼠邮件和乘客都可以自行运行,但当乘客运行时,它会处理所有的 URL。

到目前为止,我已经尝试使用别名和redirect指向一个web邮件/ URL到squirrelmails目录,但是不起作用。

这是我的httpd.conf文件:

<VirtualHost *:80> ServerName not.my.real.server.name DocumentRoot /var/www/sinatra/public # Does not work: #Redirect webmail/ /usr/share/squirrelmail/ #<Directory /usr/share/squirrelmail> # Require all granted #</Directory> <Directory /var/www/sinatra/public> Order allow,deny Allow from all </Directory> </VirtualHost> 

apache2.conf为乘客添加了这些文件,除此之外,我还没有从标准Ubuntu Server 12.04安装apache做任何更改:

 # passenger config LoadModule passenger_module /home/kenneth/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.15/ext/apache2/mod_passenger.so PassengerRoot /home/kenneth/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.15 PassengerRuby /home/kenneth/.rvm/wrappers/ruby-1.9.3-p194/ruby 

passanger config.ru文件:

 require './index' run Sinatra::Application 

尝试这个:

 <VirtualHost *:80> ServerName not.my.real.server.name DocumentRoot /var/www Alias /webmail "/usr/share/squirrelmail" <Directory /usr/share/squirrelmail> Order allow,deny Allow from all </Directory> <Directory /var/www/sinatra> RackBaseURI /sinatra PassengerResolveSymlinksInDocumentRoot On PassengerAppRoot /var/www/sinatra </Directory> </VirtualHost> 

UPDATE

我认为我们可以通过closuresPassengerEnabled来告诉Rails忽略特定的URL:

 <VirtualHost *:80> ServerName not.my.real.server.name DocumentRoot /var/www/sinatra/public <Directory /var/www/sinatra/public> Order allow,deny Allow from all </Directory> Alias /webmail "/usr/share/squirrelmail" <Location /webmail> PassengerEnabled off </Location> </VirtualHost> 

试一试!