非Ruby / Rack网站抛出乘客错误#2

时间:2013-12-02 02:31:13

标签: php ruby apache passenger

我在Rackspace的片上混合了Rails和非rails网站。它运行的是CentOS 6.3,软件包是用yum管理的。

php站点在用户帐户(/ home / chad)下运行,该用户帐户与服务器上运行的大多数站点(来自/ var / www)不同。 / var / www中的网站呈现正常。错误是:

Passenger error #2

An error occurred while trying to access '/home/chad/sdb/config.ru': Cannot stat '/home/chad/sdb/config.ru': Permission denied (errno=13)
Apache doesn't have read permissions to that file. Please fix the relevant file permissions.

这根本不应该被乘客拦截或提供。遵循此线程(Ruby error on non-ruby site)中的解决方案,我最终得到了Apache Server Test Page而不是Passenger Error。

此虚拟主机的httpd.conf条目:

<VirtualHost *:80>
  ServerName stardustbakery.com
  ServerAlias www.stardustbakery.com
  ServerAdmin ****@******.***
  DocumentRoot "/home/chad/sdb/public_html"
  CustomLog /var/log/httpd/stardustbakery.com-access_log combined
  ErrorLog /var/log/httpd/stardustbakery.com-error_log
  PassengerEnabled off
</VirtualHost>

我也尝试为所有虚拟主机手动设置IP,我已将Passenger从4.0.14升级到4.0.26。

Apache是​​版本2.2.15。 PHP是5.3.3。 Ruby是1.9.3

1 个答案:

答案 0 :(得分:1)

对于它的价值,问题似乎是/ home / chad上的权限。将chad和apache添加到同一个组,然后在/ home / chad上授予组权限。

同样,我们可以将网站放在/ home / chad之外的该组所拥有的文件夹中,但这会导致更多的后勤问题。

如果有更好的解决方案,我很乐意听到。