How to use Wine from Apache/Php? - '/var/www' is not owned by you

Cambiata picture Cambiata · Sep 4, 2009 · Viewed 7.3k times · Source

I need to run a windows command line tool from a php script on my Debian server. For that, I'm trying Wine. Invoking wine and the tool via terminal works fine: "$ wine tool.exe"

But when running the same from my php script...

exec("wine tool.exe");

...I get the following in my Apache error log: wine: '/var/www' is not owned by you, refusing to create a configuration directory there

I guess this is a simple fundamental linux user rights problem... Should I change the user rights for Wine to www-data? How?

Answer

Martin v. Löwis picture Martin v. Löwis · Sep 4, 2009

You should create a separate home directory for running Wine. Create a directory which is owned by www-data, set the HOME variable, su www-data, and run winecfg once; then run tool.exe (as that user). In the exec call, make sure that HOME is set (try exec("HOME=/tmp/wine wine tool.exe"))