2010-06-22 4 views
1

J'ai rencontré des problèmes lors du déploiement d'un projet Django - Review Board. J'ai fait ce que le document dit et j'ai eu des erreurs "Erreur 403" quand j'ai essayé de visiter le site. Peut-être que j'aurais dû poster cette question sur serverfault.com, mais je pense que cela peut aider les gens à écrire/déployer l'application Django en général.A propos du déploiement d'un projet Django sur Apache + mod_python

Voici l'installation:

J'ai installé la commission d'examen dans /data/www/reviewboard:

 
. 
|-- 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 

Tous les fichiers ont lu l'autorisation pour l'utilisateur httpd et la base de données et le répertoire uploaded ont l'autorisation d'écriture pour l'utilisateur httpd .

Le contenu de conf/apache-modpython.conf est:

<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> 

Je cite également ce fichier dans le fichier de configuration Apache, /etc/httpd/conf/httpd.conf comme ceci:

Include /data/www/reviewboard/conf/apache-modpython.conf

Quand j'ai essayé d'accéder au site par http://A.B.C.edu/rb, j'ai eu erreur 403 et vu ce message dans le journal d'erreur 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 

Est-ce que quelqu'un sait ce que j'ai fait de mal? Merci d'avance!

Répondre

1

Vous devez accorder l'accès à/data/www/Reviewboard/htdocs

<Directory "/data/www/reviewboard/htdocs"> 
    Order allow,deny 
    Allow from * 
    AllowOverride All 
</Directory> 
+0

Merci pour la réponse. J'ai ajouté ce que vous avez suggéré, mais j'ai toujours la même erreur dans le journal. Il semble que le httpd essaie d'accéder au répertoire "/ data/www/reviewboard/htdocs/rb", qui n'existe pas. Le fichier de configuration ne dit-il pas à httpd d'exécuter l'application Django au lieu d'accéder au système de fichiers simple? – evergreen

+0

oh, je vois ce que tu veux dire. Apache ramasse ce répertoire au lieu de l'envoyer à mod_python. Ma réponse a été d'essayer d'aider à gérer le 403. J'utilise généralement mod_wsgi, donc j'ai peur que le problème de mod_python ne m'est pas immédiatement clair. – supersighs

+0

Exactement. Des idées sur ce que j'ai mal fait avec mod_python? Le fichier de configuration a été généré automatiquement par le script "rb-site" de la Commission de révision. – evergreen

Questions connexes