0

将应用程序部署到运行 apache + 乘客的 VPS。User:Group → rails:rails 部署到 /home/rails/www/appname

以下是文件的权限: https ://gist.github.com/2549332 以下是用户组:https ://gist.github.com/2549336

但是在尝试请求应用程序时,我继续收到 403 错误。访问日志只是 sais Permission denied for /,没有别的。

可能是什么问题以及如何解决它。运行 Fedora 14 的操作系统。

更新 1

这是虚拟主机配置: https ://gist.github.com/2550383

更新 2

将Passenger_enabled 添加到vhost

httpd.conf 中的乘客选项如下

#Passenger for RubyOnRails apps
LoadModule passenger_module /home/rails/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12/ext/apache2/mod_passenger.so
PassengerRoot /home/rails/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12
PassengerRuby /home/rails/.rvm/wrappers/ruby-1.9.3-p194/ruby

乘客进程,由 ps 列出:

root     32342  0.0  0.6 213928  1948 ?        Ssl  13:38   0:00 PassengerWatchdog
root     32345  0.0  0.7 288308  2208 ?        Sl   13:38   0:00 PassengerHelperAgent
root     32347  0.0  2.9 112704  8520 ?        Sl   13:38   0:00 Passenger spawn server                                                                                                                                              
nobody   32350  0.0  1.3 147996  3788 ?        Sl   13:38   0:00 PassengerLoggingAgent

更新 3 尝试将标准 Rails index.html 放在公用文件夹中。没有反应。尝试放置一个只有头部和标题的普通 index.html,也没有任何变化。

更新 4

甚至尝试注释掉 httpd.conf 中的 Passenger 行并重新启动服务器,但我仍然得到同样的错误。看起来它是 Apache 配置中的东西,但我找不到什么。

*更新 5 重命名了 vhost.conf 以查看服务器如何在没有它的情况下运行,一切似乎都很好。

4

2 回答 2

0

It may be that Passenger doesn't hook up to your site and Apache decides to list the public directory instead, and directory listing is disabled in Apache.

  • Are there Passenger processes visible in ps?

  • Do you have PassengerRoot set correctly?

  • Try adding PassengerEnabled on to the vhost config.

于 2012-04-29T13:34:03.313 回答
-1

该问题已通过更改 /home/rails 目录的权限解决,以便组可以读取和执行它。谢谢大家!

于 2012-04-29T19:20:41.470 回答