Invocando vinho do Apache
-
21-08-2019 - |
Pergunta
Eu tenho Apache / 2.2.11 usando mod_python 3.3.1 / Python 2.5 em execução no Gentoo Linux. Na minha python script que eu chamar um exe win32 usando vinho (chamada os.popen2). Isso funciona bem fora do Apache mas sob mod_python eu recebo:
wine: cannot open /root/.wine : Permission denied
em / var / log / apache / error_log. Meu apache instalar não está em execução como o usuário root / grupo. Alguma idéia por que ele está olhando para /root/.wine?
Solução
É provavelmente porque $HOME
não está definido corretamente ...
Btw. Você está realmente certo invocando vinho mod_python é uma boa idéia?
Se você tem certeza, algo assim poderia trabalhar ...
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)
Outras dicas
Eu também estava tendo tempo muito duro e fez muita pesquisado mas não conseguiu. Finalmente encontrou a maneira mais simples, adicionando 'WINEPREFIX="/srv/www/.wine"'
no arquivo /etc/init.d/httpd
como:
case $ARGV in
start|stop|restart|graceful|graceful-stop)
WINEPREFIX="/srv/www/.wine" $HTTPD -k $ARGV
ERROR=$?
;;
/root/.wine to /srv/www/.wine
Copiar e alterar o proprietário para apache (da raiz). Espero que este irá resolver o problema.