我在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
答案 0 :(得分:1)
对于它的价值,问题似乎是/ home / chad上的权限。将chad和apache添加到同一个组,然后在/ home / chad上授予组权限。
同样,我们可以将网站放在/ home / chad之外的该组所拥有的文件夹中,但这会导致更多的后勤问题。
如果有更好的解决方案,我很乐意听到。