4

前提と目的

Passenger/mod_rails fails to initialize 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スクリプト、私もそれをいただければ幸いです。

4

1 に答える 1