2012-04-20 60 views
2

努力尋找Apache22和mercurial的問題根源。一切似乎工作正確 - 使存儲庫,具有正確配置hgweb.cgi文件夾,設置權限等系統啓動時Mercurial未啓動[FreeBSD 9.0 Apache22]

這裏來的主要問題。一切正常只有如果我(重新)手動啓動Apache,否則使用/usr/local/etc/rc.d/apache22 restart,使用service apache22 restart或整個系統啓動時,我正在啓動並運行Apache,並且可以訪問網站。但是,一旦嘗試訪問Web界面它給了我「內部服務器錯誤」,在瀏覽器和明年的消息在http-error.log

[Fri Apr 20 17:49:40 2012] [error] [client 10.20.30.34] env: 
[Fri Apr 20 17:49:40 2012] [error] [client 10.20.30.34] python 
[Fri Apr 20 17:49:40 2012] [error] [client 10.20.30.34] : 
[Fri Apr 20 17:49:40 2012] [error] [client 10.20.30.34] No such file or directory 
[Fri Apr 20 17:49:40 2012] [error] [client 10.20.30.34] Premature end of script headers: hgweb.cgi 

我的猜測是,這可能是與環境變量的問題,而是什麼赫克是service之間的差異從/usr/local/rc.d/運行並直接調用腳本?我錯過了什麼嗎?

回答

2

檢查PATH,它看起來很喜歡python不在你的路徑中。也許添加在/ usr/local/bin目錄到WWW用戶

+0

就是這樣,謝謝! – Ajax 2012-04-23 13:12:44

0

解決方案實際上是關於製作用戶運行的httpd(WWW在我的情況)有$ PATH調整的路徑。但是,它可能不是每個人都那麼這裏明顯的是我做過什麼:

創建/usr/local/etc/apache22/envvars.d/path.env與內容

#!/bin/bash 
export PATH=$PATH:/usr/local/bin:/usr/local/sbin 

這需要阿帕奇要加載env_module,但這看起來像是要在默認配置中加載的標準模塊。

相關問題