Cherokee: доступ к файлу конфигурации uwsgi

У меня возникла проблема с разрешениями для Cherokee+uWSGI на Ubuntu Server 13.10, предназначенном для производственной среды Django. Когда я запускаю uWSGI вручную как пользователь root перед запуском cherokee, все идет гладко:

sudo uwsgi --ini /home/instytut21/instytut21l/instytut21/uwsgi.ini

Но когда я пытаюсь получить доступ к сайту через сервер (работающий как www-data) без этого, я продолжаю получать ответ 503 Service Unavailable и следующее сообщение в журналах:

sudo cat /var/log/cherokee/instytut21.error.log
realpath() of /home/instytut21/instytut21.pl/instytut21/uwsgi.ini failed:
[core/utils.c line 3574]

Я потратил много времени, пытаясь выяснить, в чем причина проблемы. Я пытался передать право собственности на $USER:www-data и www-data:www-data со всеми правами доступа к файлам от 600 до 777.

Я не хочу запускать сервер от имени пользователя root из соображений безопасности. Как я могу сделать файл ini доступным для чероки?


person tomekwi    schedule 26.02.2014    source источник


Ответы (1)


Наконец-то я нашел решение аналогичной проблемы в разрешения www-data? . Я немного изменил его и решил свою проблему, выполнив следующие команды.

Я владею всей директорией и группирую www-data:

sudo chown -R $USER:www-data /home/instytut21/instytut21.pl/

Предоставьте все права группе:

sudo chmod -R g+rwx /home/instytut21/instytut21.pl/

Убедитесь, что все загруженные файлы имеют одинаковые разрешения:

sudo chmod -R g+s /home/instytut21/instytut21.pl/
person tomekwi    schedule 26.02.2014