2009-02-04 47 views
0

我使用mod_python 3.3.1/Python 2.5在Gentoo linux下運行Apache/2.2.11。在我的python腳本中,我使用wine調用了一個win32 exe(os.popen2調用)。此工程的Apache的罰款之外,但在mod_python的我得到:從Apache調用Wine

酒:無法打開/root/.wine:權限在/ var /日誌/阿帕奇/ error_log中否認

。我的apache安裝不以root用戶/組身份運行。任何想法爲什麼它正在研究/root/.wine?

感謝,

LarsenMTL

回答

3

這可能是因爲$HOME設置不正確......

順便說一句。你真的確定從mod_python調用wine是個好主意嗎?

如果你確信,這樣的事情可能工作...

from subprocess import Popen   

HOME = '/the/home/of/www-data' #PLEASE edit 
proc = Popen(cmd, shell=False, stdin=PIPE, 
      stdout=PIPE, stderr=PIPE, close_fds=True, 
      cwd=HOME, env={"HOME":HOME) 
+0

謝謝Johannes。您的答案引導我到這:http://stackoverflow.com/questions/133860/running-subversion-under-apache-and-modpython。我砍了/etc/init.d/apache文件來正確設置$ HOME。 – Mark 2009-02-04 20:13:31

1

我也有非常辛苦,做了很多的研究,但失敗了。最後由/etc/init.d/httpd文件中添加'WINEPREFIX="/srv/www/.wine"'如發現最簡單的方法:

case $ARGV in 
start|stop|restart|graceful|graceful-stop) 
    WINEPREFIX="/srv/www/.wine" $HTTPD -k $ARGV 
    ERROR=$? 
    ;; 

複製/root/.wine to /srv/www/.wine和所有者更改爲阿帕奇(從根部)。希望這能解決問題。