在运行SELinux的Cent OS 6.0上,我收到一个错误消息"Passenger Cent be initialized be this error: Unable to start the Phusion Passenger watchdog“
这个帖子讨论了这个问题。https://groups.google.com/forum/?fromgroups#!topic/phusion-passenger/qaVUIq2HceE
有没有办法在不禁用SELinux的情况下解决这个问题。它看起来并不重要,应该配置而不是禁用。
发布于 2012-07-11 04:24:17
因为SELinux对Apache很警惕,所以您可以尝试允许Apache访问passenger文件和目录。试试下面的方法,但是YMMV!如果您已经通过gem安装了Phusion Passenger,那么运行以下命令来确定Phusion Passenger的根文件夹:
passenger-config --root那就这么做
chcon -R -h -t httpd_sys_content_t /path-to-passenger-root如果您从某种类型的tarball安装了Passenger,请尝试执行以下操作:
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也许这对你有用。
发布于 2013-08-13 00:32:39
使用chcon只能暂时起作用。下一次机器重新启动和SELinux重新标记时,配置将丢失。这些文件将被重新标记为适合它们在文件系统中的位置的任何上下文。
如果您将rails应用程序放在/var/www/html下,那么SELinux将在重新标记时维护上下文,因为SELinux策略规定web内容应该放在那里。最初,您需要使用restorecon -R /var/ww/html/path/to/app来设置上下文。
但我发现,这位乘客做了很多SELinux想要否认的事情,所以仅仅重新贴上标签是不够的。创建允许这样做的策略很容易,但我认为这是一种安全风险。太糟糕了,Rails社区并没有让它更容易部署在普通的服务器上(也就是说,不是Ruby栈)。
https://stackoverflow.com/questions/11420572
复制相似问题