[Пожалуйста, смотрите в нижней части вопроса для последнего статуса!]
Я пытаюсь настроить Django с Apache + mod_wsgi на ванильной машине Debian 6.0.
К сожалению, когда я захожу на IP-адрес устройства в браузере, я получаю 403 Forbidden: You don't have permission to access / on this server
. Логи Apache просто говорят:
[Wed May 04 10:20:56 2011] [error] [client x.x.x.x] (13)Permission denied: access to / denied
Итак, вот что я пытался сделать. Я создал новый проект Django в ~/fruit/myfruit
, а некоторые файлы WSGI/Apache в ~/fruit/apache
следующим образом:
**~/fruit/apache/django.wsgi**
import os
import sys
path = '~/fruit'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'myfruit.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
**~/fruit/apache/django_wsgi.conf**
WSGIScriptAlias / "/root/fruit/apache/django.wsgi"
<Directory "/root/fruit/apache">
Order deny,allow
Allow from all
</Directory>
И я отредактировал различные файлы Apache следующим образом:
**/etc/apache2/httpd.conf **
LoadModule wsgi_module modules/mod_wsgi.so
Include "/root/fruit/apache/django_wsgi.conf"
**/etc/hosts**
127.0.0.1 localhost
[[my_ip_address]] debian debian
Когда я перезагружаю Apache (работающий от имени root), я получаю следующие предупреждения:
root@debian:~/fruit/apache# /etc/init.d/apache2 restart
Restarting web server: apache2[Wed May 04 10:27:36 2011] [warn] module wsgi_module is already loaded, skipping
apache2: Could not reliably determine the server's fully qualified domain name, using [[my_ip_address]] for ServerName
... waiting [Wed May 04 10:27:37 2011] [warn] module wsgi_module is already loaded, skipping
apache2: Could not reliably determine the server's fully qualified domain name, using [[my_ip_address]] for ServerName
.
Я не знаю, связаны ли они с ошибкой разрешений или имеет значение, что сообщение об ошибке напечатано дважды.
Пожалуйста, кто-нибудь может сказать мне, что я делаю не так? У меня мало опыта работы с Apache!
Большое спасибо!
ОБНОВЛЕНИЕ: В случае, если это ошибка прав доступа к файлам, я запустил chmod a+x *
для всех файлов в myfruit
и apache
и самих каталогах и перезапустил Apache. Нет радости
ОБНОВЛЕНИЕ: я даже не могу подключиться к localhost:
root@debian:~/fruit# wget http://localhost
--2011-05-04 10:44:41-- http://localhost/
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2011-05-04 10:44:41 ERROR 403: Forbidden.
ОБНОВЛЕНИЕ: ОК решил, установив chmod a+x
в моем root
каталоге. Хотя мне это совсем не нравится - наверняка это дыра в безопасности? Что я должен делать вместо этого?