У меня есть проект django, который я перехожу с dev-сервера на apache. Мне удалось получить его сервер с mod_wsgi, но он работает как apache. В документации Mod_wsgi говорится, что если apache запускается от имени пользователя root, можно запустить процесс mod_wsgi от имени другого пользователя.
В1: Можно ли запустить mod_wsgi от имени другого пользователя без запуска apache от имени пользователя root?
Q2: Если ответ на приведенный выше вопрос отрицательный, как мне заставить apache работать от имени пользователя root? Я использую предоставленный репозиторий httpd-пакет на машине CentOS 6.
Apache каждый раз запускается с правами root на производных RHEL (например, CentOS). Затем он использует setuid для переключения на пользователя / группу, настроенную в httpd.conf.
Из mod_wsgi документы:
Обратите внимание, что, указав, что процессы демона должны создаваться с помощью директивы WSGIDaemonProcess, директиву WSGIProcessGroup по-прежнему необходимо использовать для делегирования определенных приложений WSGI для выполнения в этих процессах демона.
Также обратите внимание, что имя группы процессов демона должно быть уникальным для всего сервера. То есть невозможно использовать одно и то же имя группы процессов демона на разных виртуальных хостах.
Для директивы WSGIDaemonProcess можно указать следующие параметры:
пользователь = имя | user = # uid