我有一个绑定到 Red Hat 上的 httpd (apache2) 的 django 应用程序,它运行良好,但是我想在与 apache 不同的用户名下运行它,所以如果它写入文件系统,文件的所有者应该是 newuser . 我正在寻找实现这一目标的解决方案。
我尝试使用 httpd-itk(在此之后:http://www.webtatic.com/packages/httpd-itk/),但它抱怨:
permission denied: mod_wsgi (pid=31322): Unable to connect to WSGI daemon process
'myapp.djangoserver' on '/var/run/wsgi.31085.0.1.sock' after multiple attempts.
解决此问题后(通过授予 777 文件测试权限),我仍然将 apache 作为文件的所有者。
我的 conf 文件如下所示:
<VirtualHost *:80>
ServerName myapp
ServerAlias myapp
DocumentRoot /usr/share/myapp
<Directory /usr/share/myapp>
Order allow,deny
Allow from all
</Directory>
WSGIDaemonProcess syntyma.djangoserver processes=10 threads=20 display-name=%{GROUP}
WSGIProcessGroup myapp.djangoserver
WSGIScriptAlias / /usr/share/myapp/apache/django.wsgi
CustomLog logs/myapp-access.log combined
ErrorLog logs/myapp-error.log
LogLevel debug
AssignUserId newuser newuser
</VirtualHost>
WSGISocketPrefix /var/run/wsgi
,以及创建的测试文件:
ls -l /tmp/ggg
-rw-r--r-- 1 apache apache 3 Sep 6 09:46 /tmp/ggg
.
我怎样才能使用 htttpd-itk 或任何其他解决方案(如一些 suEXEC 或类似解决方案)达到我的目标?
谢谢。