장고 프로젝트 배포 - 게시판을 배포하는 데 문제가있었습니다. 나는 문서가 말한 것을했으나 사이트를 방문 할 때 "오류 403"오류가 발생했습니다. 어쩌면이 질문을 serverfault.com에 게시 했어야했는데, 이것이 일반 사람들이 장고 응용 프로그램을 작성/배포하는 데 도움이 될 수 있다고 생각합니다.Apache + mod_python에서 Django 프로젝트를 배포하는 것에 대해
내가 /data/www/reviewboard
에 검토위원회를 설치 : : 여기
uploaded
디렉터리에 대한 읽기 권한이
. |-- conf | |-- apache-modpython.conf | |-- search-cron.conf | `-- settings_local.py |-- db | `-- reviewboard.db |-- htdocs | |-- errordocs -> /usr/lib/python2.6/site-packages/ReviewBoard-1.0.8-py2.6.egg/reviewboard/htdocs/errordocs | |-- media | | |-- admin -> /usr/lib/python2.6/site-packages/ReviewBoard-1.0.8-py2.6.egg/reviewboard/htdocs/media/admin | | |-- djblets -> /usr/lib/python2.6/site-packages/Djblets-0.6.2-py2.6.egg/djblets/media | | |-- rb -> /usr/lib/python2.6/site-packages/ReviewBoard-1.0.8-py2.6.egg/reviewboard/htdocs/media/rb | | `-- uploaded | | `-- images | `-- rb | |-- errordocs -> ../errordocs/ | `-- media -> ../media/ |-- logs `-- tmp
는 아파치 사용자의 쓰기 권한을 가지고 .
는conf/apache-modpython.conf
의 내용은
입니다 : 나는에 액세스하려고 할 때
Include /data/www/reviewboard/conf/apache-modpython.conf
: 나는 또한 아파치 설정 파일에이 파일이 같은 /etc/httpd/conf/httpd.conf
을 인용
<VirtualHost *:80>
ServerName A.B.C.edu
DocumentRoot "/data/www/reviewboard/htdocs"
# Error handlers
ErrorDocument 500 /errordocs/500.html
# Serve django pages
<Location "/rb">
PythonPath "['/data/www/reviewboard/conf'] + sys.path"
SetEnv DJANGO_SETTINGS_MODULE reviewboard.settings
SetEnv PYTHON_EGG_CACHE "/data/www/reviewboard/tmp/egg_cache"
SetHandler mod_python
PythonHandler django.core.handlers.modpython
PythonAutoReload Off
PythonDebug Off
# Used to run multiple mod_python sites in the same apache
PythonInterpreter reviewboard_reviewboard
</Location>
# Serve static media without running it through mod_python
# (overrides the above)
<Location "/media">
SetHandler None
</Location>
<Location "/errordocs">
SetHandler None
</Location>
<Directory "/data/www/reviewboard/htdocs">
AllowOverride All
</Directory>
# Alias static media requests to filesystem
Alias /media /data/www/reviewboard/htdocs/media
Alias /errordocs /data/www/reviewboard/htdocs/errordocs
</VirtualHost>
http://A.B.C.edu/rb
에 의해 사이트가 403 오류가 있고이 메시지를 httpd 오류 로그에서 보았습니다 :
[Tue Jun 22 08:52:57 2010] [notice] Apache/2.2.11 (Mandriva Linux/PREFORK-10.1mdv2009.1) mod_python/3.3.1 Python/2.6.1 DAV/2 SVN/1.6.1 mod_ssl/2.2.11 OpenSSL/0.9.8k configured -- resuming normal operations [Tue Jun 22 08:53:30 2010] [error] [client X.X.X.X] client denied by server configuration: /data/www/reviewboard/htdocs/rb
내가 뭘 잘못했는지 아는 사람 있습니까? 미리 감사드립니다!
감사합니다. 내가 제안한 것을 추가했지만 여전히 로그에서 같은 오류가 발생했습니다. httpd가 존재하지 않는 "/ data/www/reviewboard/htdocs/rb"디렉토리에 액세스하려고 시도하는 것 같습니다. 구성 파일은 일반 파일 시스템에 액세스하는 대신 Django 응용 프로그램을 실행하도록 httpd에 지시하지 않습니까? – evergreen
아, 무슨 뜻인지 알 겠어. 아파치가 mod_python으로 보내는 대신에 dir을 선택하고있다. 내 대답은 403 처리하는 데 도움을려고했다. 일반적으로 mod_wsgi를 사용하므로 mod_python 문제가 즉시 해결되지 않는다. – supersighs
정확히. mod_python에 내가 뭘 잘못했는지에 대한 아이디어가 있습니까? 구성 파일은 실제로 게시판의 "rb-site"스크립트에 의해 자동 생성되었습니다. – evergreen