Призывая вино от Apache - PullRequest
       11

Призывая вино от Apache

0 голосов
/ 04 февраля 2009

У меня Apache / 2.2.11, использующий mod_python 3.3.1 / Python 2.5, работающий под Gentoo linux. В моем скрипте на python я вызываю exe для win32, используя wine (вызов os.popen2). Это прекрасно работает вне Apache, но в mod_python я получаю:

wine: cannot open /root/.wine : Permission denied

в / var / log / apache / error_log. Моя установка apache не запущена от имени пользователя / группы root. Любые идеи, почему он изучает /root/.wine?

Ответы [ 2 ]

3 голосов
/ 04 февраля 2009

Это, вероятно, потому что $HOME установлен неправильно ...

Btw. Вы действительно уверены, что вызывать wine из mod_python - это хорошая идея?

Если вы уверены, что-то подобное может сработать ...

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)
1 голос
/ 07 июня 2011

Мне тоже было очень тяжело, я много исследовал, но потерпел неудачу. Наконец нашел самый простой способ, добавив 'WINEPREFIX="/srv/www/.wine"' в /etc/init.d/httpd файл как:

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

Скопируйте /root/.wine to /srv/www/.wine и измените владельца на apache (от пользователя root). Надеюсь, что это решит проблему.

...