前提と目的
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
スクリプト、私もそれをいただければ幸いです。