Ошибка Apache Django «клиент отклонен конфигурацией сервера»

#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
  

Это разрешает разрешения