Загрузка файлов показывает отказ в разрешении (CentOS7 + Apache + mod_wsgi + django)
Я развернул бета-версию своего приложения django на DigitalOcean и обслуживаю его с помощью Apache и WSGI.
Все работает хорошо, включая статические файлы и 'get' медиа файлов (я сохранил их непосредственно в DB), кроме загрузки файлов. Он показывает ошибку 'Permission denied', с полным каталогом типа '/home/test/project/media/test.jpeg'.
Я настроил httpd-vhosts следующим образом.
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
WSGIScriptAlias / /home/test/project/project/wsgi.py
WSGIDaemonProcess example.com python-home=/home/test/project/.venv python-path=/home/test/project/project
WSGIProcessGroup example.com
Alias /static/ /home/test/project/frontend/build/static/ # react build dir
<Directory /home/test/project/frontend/build/static>
Require all granted
</Directory>
Alias /uploadImg/ /home/test/project/media/
<Directory /home/test/project/media>
Require all granted
</Directory>
<Directory /home/test/project/project>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
Итак, httpd работает демоном, и мой каталог 'media' принадлежит root, 755. Но каталог 'media' является символической ссылкой dir, которая находится по адресу '/home/test/'
Я делал много попыток исправить это, но ничего не получается...
Я решил эту проблему сам. Моя проблема заключалась в том, кто запускает процесс apache и кто владеет диром. Это должен быть один и тот же пользователь или группа с правом записи. Надеюсь, кому-нибудь, у кого есть проблемы с этим, было полезно.