2012-07-09 59 views
0

任何人都可以幫我嗎?我使用獅身人面像搜索器,但我有很多數據庫。我動態地控制它們(更改sphinx配置文件),但是在向配置文件添加索引後,需要重新啓動sphinx。我已經創建了一個bash腳本來做到這一點(停止shpinx,啓動它,索引器 - 旋轉 - 所有),當我從終端運行腳本它是好的,但是當我從Apache服務器運行它不工作。我怎樣才能做到這一點,而不用改變apache服務器的所有者爲root(這會降低我的服務器的安全性)?從php重新啓動Sphinx

+0

1)的setuid 2)由cron腳本,並檢查(如:數據庫/ FS),有重啓BTW需要你爲什麼改變配置文件? – 2012-07-09 09:44:19

+0

,因爲對於每個數據庫,我添加到配置文件與db,db_user,db_pass,db_name的ip源併爲此源添加索引器。 當我嘗試在php中使用添加的索引器它不認識新的索引器沒有重新啓動獅身人面像 – 2012-07-09 10:09:13

回答

1

我怎麼能做到這一點沒有changenig Apache服務器的所有者根

如何須藤?把這樣的事情在你的sudoers ...

apache ALL= NOPASSWD: /path/to/script command 

美中不足的是,以確保該腳本不能被利用......因爲它是作爲root運行...即是隻讀的Apache + EXEC ,確保發送給腳本的命令/開關已經過檢查。

我希望幫助,
親切的問候,
尼克

+0

我試圖sudo沒有添加 'apache ALL = NOPASSWD:/ path/to/script command' 腳本,它不是加工。 現在沒問題。 Thnx的幫助... – 2012-07-09 12:59:19

+0

嗨丹尼斯,你能告訴我你使用了哪個命令,因爲我在cron作業中運行索引器的難度相同。 – HKumar 2015-09-17 09:52:04