Apache Django "клиент отклонен из-за конфигурации сервера" ошибка - PullRequest
1 голос
/ 03 мая 2011

Я нашел подобный вопрос здесь, но не помог мне.

У меня в основном установлен 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/

Может кто-нибудь помочь мне исправить это раздражение? Как я могу дополнительно расследовать это? Это связано с пользователями / группами?

UPDATE: Затем я добавил Options + Indexes и открыл права доступа. Однако, когда я пытаюсь загрузить страницу, вместо файла 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()

Ответы [ 2 ]

4 голосов
/ 03 мая 2011

В вашей конфигурации Apache, похоже, отсутствует что-либо, что действительно служит приложению Django.Вам необходимо прочитать документацию Django mod_wsgi - первая строка кода содержит то, что вам не хватает.

Обратите внимание, что ваш код не должен находиться под DocumentRoot.

1 голос
/ 11 апреля 2013

Я вижу проблему в папке Dropbox, которую я сделал так:

chmod o+x /home/your_name/Dropbox

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

...