前提和目的启动Apache的与客运/ mod_rails成功时的Fedora启动
有这个线程约Passenger/mod_rails fails to initialize in Fedora 12 when starting Apache。底线,问题是由于权限,您可以通过调用
setenforce 0
运行
service httpd start
,并呼吁
setenforce 1
后
才能再回到之前避免这种情况。它工作的很酷,但我希望序列在Fedora重新启动时自动运行。
问题
我看着/etc/init.d/httpd
,发现它只是重定向到etc/rc.d/init.d/functions
,关键呼叫
systemctl_redirect $0 $1
所以,我以为只是围绕这个电话与setenforce
电话像这样会工作。
setenforce 0
systemctl_redirect $0 $1
setenforce 1
但它不起作用。它会发出这样的新的错误(在httpd的错误日志):
Cannot change the directory '/tmp/passenger.1.0.8581/generation-0/buffered_uploads' its UID to 48 and GID to 48: Operation not permitted (1)
当我省略了最后setenforce 1
,那么它最后的作品!但显然我想把它放回某个地方。
问题
我如何挂钩这些setenforce 0
和setenforce 1
调用的httpd
引导顺序?我觉得最正确的方法是写我自己的/etc/init.d/httpd
脚本,不使用systemctl
,但我想避免这种情况,因为它看起来像一条棘手的路径......但如果我错了,并且如果你可以建议简单的方法写我自己的etc/init.d/httpd
脚本,我也会很感激。
事情是,目前没有好的用于Phusion Passenger的SELinux配置文件。我们(作者)对SELinux没有很好的理解,我们可以找到的小文档不是很有帮助。如果任何人都可以提供一个好的SELinux配置文件并愿意维护它,那么这将非常棒。在此之前,完全禁用SELinux不幸是最简单的方法。 – Hongli 2013-08-26 09:58:27