Назад | Перейти на главную страницу

Сайт Django с httpd и mod_wsgi: 403 запрещено

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

Я надеюсь, что включил всю необходимую информацию, и что вы сможете помочь! Заранее спасибо!