Цель: Запустить Apache2-mpm-itk от имени специально созданного пользователя, в домашнем каталоге которого будут храниться все файлы проекта. Статика, python virtualenv, django project.
ОС: Ubuntu 15.10
apache 2.4
python3.4.3
django1.9
Создаю пользователя и группу, домашнюю папку. Создаю виртуальное окружение для питона, устанавливаю джанго, создаю проект.
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
ServerName localhost
DocumentRoot /home/www/xdsl_rtk_ru/html
WSGIDaemonProcess xdsl_rtk_ru python-path=/home/www/xdsl_rtk_ru/xdsl_rtk_ru_django/xdsl_rtk_ru_django:/home/www/xdsl_rtk_ru/pyth/lib/python3.4/site-packages user=xdsl_rtk_ru group=xdsl_rtk_ru processes=1
WSGIProcessGroup xdsl_rtk_ru
WSGIScriptAlias / /home/www/xdsl_rtk_ru/xdsl_rtk_ru_django/xdsl_rtk_ru_django/wsgi.py
<Directory /home/www/xdsl_rtk_ru/xdsl_rtk_ru_django/xdsl_rtk_ru_django>
Order deny,allow
Require all granted
</Directory>
<Directory /home/www/xdsl_rtk_ru/html>
Order deny,allow
Require all granted
</Directory>
<Directory /home/www/xdsl_rtk_ru/run>
Order deny,allow
Require all granted
</Directory>
<Directory /home/www/xdsl_rtk_ru/pyth>
Order deny,allow
Require all granted
</Directory>
AssignUserID xdsl_rtk_ru xdsl_rtk_ru
</VirtualHost>
В конфигурации модуля wsgi прописываю
WSGISocketPrefix /home/www/xdsl_rtk_ru/run/wsgi
Права на домашнюю папку пользователя xdsl_rtk_ru = 777 (в целях отладки)
Все файлы и папки принадлежат пользователю.
При запуске выдаёт ошибку 503. В логах:
[pid 4842] (13)Permission denied: [client 127.0.0.1:36046] mod_wsgi (pid=4842): Unable to connect to WSGI daemon process 'xdsl_rtk_ru' on '/home/www/xdsl_rtk_ru/run/wsgi.4813.0.1.sock'.
Сам сокет принадлежит root, и все права исключительно у него.
Если сделать chown xdsl_rtk_ru /home/www/xdsl_rtk_ru/run/wsgi.4813.0.1.sock
всё тут же заработает, но, как мы понимаем, до рестарта сервера.
Вопрос: Почему сокет создаётся из под root? Как изменить подобное поведение?
P.S. Попрошу сильно не пинать, если что-то не так. Рад любой помощи.