Я потратил целый день, пытаясь найти ответ на свою проблему, но мне это не удалось и вместо этого я решил опубликовать свою проблему здесь. Итак, я разработал приложение Django, и теперь у меня проблемы с его развертыванием на сервере apache (httpd). В настоящее время я использую CentOS 7.2, если это актуально.
Я следовал этому руководству, чтобы делать то, что хотел: https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-apache-and-mod_wsgi-on-centos-7
Очевидно, я не создавал новый проект с нуля, так как он у меня уже был, и я только скорректировал его в соответствии с руководством. После того, как я закончил и перезапустил службу httpd, при попытке доступа к сайту я получил следующее сообщение об ошибке:
Forbidden
You don't have permission to access / on this server.
Это не проблема брандмауэра, поскольку, когда я удаляю django.conf (т.е. возвращаю изменения), отображается сайт apache по умолчанию.
Мой файл django.conf выглядит следующим образом:
Alias /static /home/dudu/DjangoProject/mysite/static
<Directory /home/dudu/DjangoProject/mysite/static>
Require all granted
</Directory>
<Directory /home/dudu/DjangoProject/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIDaemonProcess DjangoProject python-path=/home/dudu/DjangoProject:/home/dudu/DjangoProject/DjangoProjectEnv/lib/python2.7/site-packages
WSGIProcessGroup DjangoProject
WSGIScriptAlias / /home/dudu/DjangoProject/mysite/wsgi.py
Соответствующая структура папок:
/home/dudu/
|--DjangoProject
| |--manage.py
| |--db.sqlite3
| |--DjangoProjectEnv (with python environment)
| |--mysite
| | |--settings.py
| | |--wsgi.py
| | |--other related django files
Кроме того, внизу файла settings.py у меня есть следующее:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, '/static/')
А мой файл wsgi.py выглядит следующим образом:
import os
from django.core.wsgi import get_wsgi_application
os.environ["DJANGO_SETTINGS_MODULE"] = "mysite.settings" # had os.environ.setdefault before
application = get_wsgi_application()
Я надеюсь, что включил всю необходимую информацию, и что вы сможете помочь! Заранее спасибо!