簡體   English   中英

在Fedora啟動時成功啟動帶有Passenger / mod_rails的Apache

[英]Boot Apache with Passenger/mod_rails successfully when Fedora starts up

PREMISE和PURPOSE

有一個關於Passenger / mod_rails的線程在啟動Apache時無法在Fedora 12中初始化 最重要的是,問題是由於權限,你可以通過調用來避免這種情況

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 0setenforce 1調用掛鈎到httpd的啟動序列? 我覺得最合適的方法是編寫我自己的/etc/init.d/httpd腳本,它不使用systemctl ,但我想避免這種情況,因為它看起來像一條棘手的路徑......但如果我錯了如果您可以建議編寫我自己的etc/init.d/httpd腳本的簡單方法,我也會很感激。

您使用錯誤的方法來解決問題。 你不應該在你的系統上禁用SELinux。 您需要做的是,嘗試使用SELinux Troubleshooter找出問題,並添加規則以允許所需的操作。 通常它們會為您提供運行所需的命令。

首先確保您使用的是最新版本,如果問題仍然存在,請考慮在此處創建錯誤報告,您將獲得開發人員的幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM