#django #apache #http-status-code-403
#django #apache #http-status-code-403
Вопрос:
Я нашел аналогичный вопрос здесь, но он мне не помог.
У меня в основном установлена Apache в моей OS X. У меня также установлен Django.
Однако, когда я пытаюсь загрузить страницу через браузер локально, я получаю:
Forbidden
You don't have permission to access / on this server.
У меня есть оригинальный httpd.conf с единственной модификацией включения vhosts, в которой у меня есть:
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/Dropbox/project/www/"
ServerName touch.loc
# ServerAlias www.dummy-host.example.com
ErrorLog "/Dropbox/project/www/log/error.log"
CustomLog "/Dropbox/project/www/log/access.log" common
</VirtualHost>
И файл error.log выдает:
[Tue May 03 20:22:56 2011] [error] [client 127.0.0.1] Directory index forbidden by Options directive: /Dropbox/project/www/
Я прочитал, и, похоже, мне нужно добавить следующее в httpd.conf:
<Directory /Dropbox/project/www >
Order deny,allow
Allow from all
</Directory>
В этом случае я получаю:
[Tue May 03 20:27:55 2011] [error] [client 127.0.0.1] client denied by server configuration: /Dropbox/project/www/
Может кто-нибудь помочь мне исправить это раздражение? Как я могу продолжить ее расследование?
Имеет ли это отношение к пользователям / группам?
ОБНОВЛЕНИЕ: затем я добавил параметры индексы и открыл разрешения. Однако, когда я пытаюсь загрузить страницу, вместо файла wsgi появляется файловая структура для получения и загрузки веб-сайта. В чем может быть причина этого?
вот мой файл .wsgi:
import os
import sys
sys.stdout = sys.stderr
# Add the virtual Python environment site-packages directory to the path
import site
site.addsitedir('/usr/lib/python2.6/dist-packages')
#If your project is not on your PYTHONPATH by default you can add the following
sys.path.append('/Dropbox/project/www/')
sys.path.append('/Dropbox/project/www/project')
# Avoid ``[Errno 13] Permission denied: '/var/www/.python-eggs'`` messages
os.environ['PYTHON_EGG_CACHE'] = '/Dropbox/project/www/mod_wsgi/egg-cache'
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Ответ №1:
Похоже, в вашей конфигурации Apache отсутствует что-либо, что фактически обслуживает приложение Django. Вам нужно прочитать документацию Django mod_wsgi — первая строка кода там — это то, чего вам не хватает.
Обратите внимание, что ваш код не должен находиться под DocumentRoot.
Ответ №2:
Проблема, которую я вижу, находится в папке Dropbox, которую я создал таким образом:
chmod o x /home/your_name/Dropbox
Это разрешает разрешения