【发布时间】:2012-02-08 03:36:54
【问题描述】:
前提和目的
有这个关于 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 的引导序列?我觉得最合适的方法是编写我自己的不使用systemctl 的/etc/init.d/httpd 脚本,但我想避免这种情况,因为它看起来像一条荆棘之路......但如果我错了,如果你可以建议编写我自己的etc/init.d/httpd 脚本的简单方法,我也将不胜感激。
【问题讨论】:
标签: ruby-on-rails fedora passenger mod-rails