我使用capistrano在centos(apache + passenger)上部署我的应用程序,当访问我的网页时我得到了“HTTP 500(内部服务器错误)”并检查error_log文件,这里的错误看起来像:
DAV/2 Phusion_Passenger/3.0.19 mod_ssl/2.2.24 OpenSSL/1.0.0-fips configured -- resuming normal operations
Rails Error: Unable to access log file. Please ensure that /home/admin/myaap/releases/20130506191509/log/production.log exists and is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed..
production.log权限
-rwxrwxr-x 1 root root 46211 May 6 20:49 production.log
和
ActionView::Template::Error (Permission denied - /home/admin/myaap/releases/20130506191509/tmp/cache/assets/D3B
目录D3B未找到。
我正在通过谷歌寻找解决方案,其中一个是sudo chown -R root:root /home/admin/myapp/
但不适用于我,有没有其他方法可以修复它?
注意:
我正在使用用户root来部署和安装rvm,以及用户'admin'上的目录根位置(kloxo控制面板)
更新
在error_log文件中找不到关于权限且无法访问的错误,我正在使用chmod go-w /home/admin/myapp
和chmod 0666 production.log
,但我的网络仍有500服务器错误,如何检查错误?
答案 0 :(得分:3)
正如Rails在错误日志中建议的那样,您应该将日志文件的权限更改为066:
chmod 0666 production.log
您正在使用root进行部署,但Web服务器正在使用其他用户名。
答案 1 :(得分:1)
您需要让您的apache用户成为您应用的所有者,例如:
sudo chown -R apacheuser:apacheuser /home/admin/myapp/
答案 2 :(得分:0)
我总是将日志文件权限设为644成功。当发生这种情况时,不止一次我可能会添加,它总是由下面链接的问题回答。由于这是我使用的查询的第一个答案,我将链接到我真正想要的答案。