Загрузка файлов показывает отказ в разрешении (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 и кто владеет диром. Это должен быть один и тот же пользователь или группа с правом записи. Надеюсь, кому-нибудь, у кого есть проблемы с этим, было полезно.

Вернуться на верх