Django не сохраняет медиафайлы в продакшене
Я установил проект django на ubuntu 18.04 и apache2, но есть проблема. Медиа файлы не сохраняются. Когда я пытаюсь загрузить файл с помощью django-filer, я получаю 500 внутреннюю ошибку сервера (я написал простой плагин с charfield и filefield - происходит то же самое) независимо от настройки DEBUG=True/False. Я загрузил несколько файлов с помощью manage.py runserver и это работает отлично - я даже могу использовать эти файлы в продакшене, но попытка загрузить любой новый файл вызывает ошибку settings.py:
MEDIA_URL = '/media/'
MEDIA_ROOT = '/mysite/public/media/'
STATIC_URL = '/static/'
STATIC_ROOT = '/mysite/public/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]
конфигурация апача:
alias /static /mysite/public/static
<Directory /mysite/public/static>
Require all granted
</Directory>
alias /media /mysite/public/media
<Directory /mysite/public/media>
Require all granted
</Directory>
<Directory /mysite/src/proj>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess mysite python-home=/mysite/venv python-path=/mysite/src/
WSGIProcessGroup mysite
WSGIScriptAlias / /mysite/src/proj/wsgi.py
В заключение: manage.py runserver работает отлично. На рабочем сервере я могу управлять файлами, которые были загружены ранее, но попытка загрузить новый вызывает ошибку 500.
Думаю, вам нужно изменить права доступа к папке media. Что-то вроде
sudo chmod -R 775 your_django_project/public/media