分上OS 6.0 SELinux的运行,我得到一个错误“因为这个错误的乘客无法初始化:无法启动的Phusion客运看门狗”乘客无法启动PHUSION
这个线程讨论的问题。 https://groups.google.com/forum/?fromgroups#!topic/phusion-passenger/qaVUIq2HceE
有没有什么办法解决这个问题,而不禁用SELinux。似乎它并不重要,应该配置而不是禁用。
分上OS 6.0 SELinux的运行,我得到一个错误“因为这个错误的乘客无法初始化:无法启动的Phusion客运看门狗”乘客无法启动PHUSION
这个线程讨论的问题。 https://groups.google.com/forum/?fromgroups#!topic/phusion-passenger/qaVUIq2HceE
有没有什么办法解决这个问题,而不禁用SELinux。似乎它并不重要,应该配置而不是禁用。
由于SELinux对Apache很谨慎,您可以尝试允许Apache访问乘客文件和目录。尝试以下,但YMMV!如果您已经通过创业板安装的Phusion客运,然后运行这个命令来确定的Phusion乘客的根文件夹:
passenger-config --root
然后做
chcon -R -h -t httpd_sys_content_t /path-to-passenger-root
如果您安装了某种形式的压缩包客运,尝试取而代之的是:
chcon -R -h -t httpd_sys_content_t /path/to/passenger/folder
在任何情况下重新启动Apache。
您可能还需要满足SELinux的* httpd_sys_content_t *安全上下文才能访问您的rails应用程序。您可能还需要执行以下操作:
chcon -R -h -t httpd_sys_content_t /path/to/your/rails/app
也许这会对您有用。
使用chcon只能暂时使用。下一次机器重新启动并且SELinux执行重新标记时,配置将丢失。这些文件将被重新标记为适用于文件系统中的任何环境。
如果您将rails应用程序放在/ var/www/html下,那么SELinux将在relabel时间维护上下文,因为SELinux策略表示这是web内容应该在的位置。最初你会做restorecon -R /var/ww/html/path/to/app
来设置上下文。
虽然我发现Passenger做了很多SELinux想要否认的东西,所以只是重新标记是不够的。制定政策容易做到这一点很容易,但我认为这是一种安全风险。太糟糕了Rails社区并没有让它更容易部署在普通的服务器上(即不是Ruby堆栈)。