Django с mod_wsgi возвращает ошибку 403 - PullRequest
3 голосов
/ 20 сентября 2010

Я пытаюсь использовать Django с Apache (и mod_wsgi).Со стандартным веб-сервером Django все шло хорошо, но теперь я получаю ошибку 403 (доступ запрещен) при попытке загрузить страницу.Я искал предыдущие сообщения здесь и читал официальные документы, но решения там не помогли.

Вот строки из моего httpd.conf:

WSGIScriptAlias / /home/karlis/django/apache/django.wsgi

<Directory /home/karlis/django/apache>
Order allow,deny
Allow from all
</Directory>

Alias /media/ /home/karlis/django/media

<Directory /home/karlis/django/media>
Order deny,allow
Allow from all
</Directory>

Разрешения установлены на 770 иэто липкий бит, установленный для всех папок в / home / karlis / django.У меня django 1.2.3, mod_wsgi 3.2, apache 2.2.15 и я использую Arch Linux.

Что я здесь не так делаю?

Заранее спасибо!-skazhy

Ответы [ 3 ]

1 голос
/ 23 января 2014

Есть еще одна ошибка:

Проверьте файл httpd.conf на наличие следующей конфигурации:

<IfModule mime_module>
      AddHandler cgi-script .cgi .pl .py
</IfModule>

Это приведет к ошибке.

.py НЕ ДОЛЖЕН быть настроен как скрипт CGI

1 голос
/ 20 сентября 2010

Apache работает как специальный пользователь, он не сможет читать вещи с разрешениями 770.

Смотрите доклад по адресу:

http://code.google.com/p/modwsgi/wiki/WhereToGetHelp?tm=6#Conference_Presentations

, который объясняет вещи о разрешениях.

Ключ к решению проблемы заключается в том, какое сообщение об ошибке появляется в вашем журнале ошибок Apache. Вы даже не указываете, какие сообщения об ошибках вы получаете в файле журнала. В сообщении, связанном с, показано, какими могут быть эти сообщения об ошибках и что они означают.

0 голосов
/ 20 сентября 2010

Попробуйте вместо этого свои директории заявления:

<Location />
    Order Allow,Deny
    Allow from all
</Location>
...