乘客的VirtualHost问题(mod_rails)

时间:2010-12-27 04:39:39

标签: ruby-on-rails apache redmine mod-rails

我在这里结束了虚拟托管。我正在尝试安装redmine并且它与webrick测试服务器一起工作,但是当我尝试使用passenger(mod_rails)来托管并转到我在apache配置文件的virtualhost部分中指定的地址时没有任何反应。这是/etc/httpd/conf/httpd.conf的相关部分,我尝试设置虚拟主机:

<VirtualHost *:80>

SetEnv RAILS_ENV production
ServerName redmine.MYSITE.com:80
DocumentRoot /opt/redmine-1.0.5/public/
<Directory /opt/redmine-1.0.5/public/>
    Options -MultiViews
    Allow from all
    AllowOverride none
</Directory>

然而,当我得到redmine.MYSITE.com:80没有任何反应,我只是得到我们正常的主页。我不知道问题是什么,任何帮助我们的指导将不胜感激。如果您需要任何其他信息,请告诉我,我会提供。

2 个答案:

答案 0 :(得分:4)

我花了一段时间让Redmine在Passenger下运行。这就是我所拥有的

安装乘客:

passenger-install-apache2-module

编辑Apache confg文件:

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11
PassengerRuby /usr/bin/ruby

在默认服务器中创建一个新目录:

<Directory>
/webserver_root/html/redmine
RailsBaseURI /redmine
AllowOverride all
Options -MultiViews
</Directory>

最后,建立一个指向你的ruby应用程序所在的物理目录的链接(即不在/ html或你为大多数Apache页面提供的任何目录。这必须是redmine的公共子目录的链接)

ln -s /webserver_root/ruby_apps/redmine/public /webserver_root/html/redmine

因此Apache现在尝试正常显示所有公共页面,但所有其他页面都通过乘客进行路由。您可以将其作为子文件夹访问 - 例如。 http://mywebserver/redmine

答案 1 :(得分:0)

您的VirtualHost *:80指令必须与配置中较早的NameVirtualHost *:80匹配。

您可以使用-S开关询问apache对您的虚拟主机的影响。当然,服务器二进制文件的名称在某种程度上取决于它的安装方式以及what OS/Distro