2010-09-20 24 views
3

J'essaie d'utiliser Django avec Apache (et mod_wsgi). Avec le serveur web Django par défaut tout allait bien, mais maintenant je reçois une erreur 403 (accès interdit) en essayant de charger la page. J'ai cherché dans les publications précédentes et lu les documents officiels, mais les solutions n'étaient pas utiles.Django avec mod_wsgi renvoie erreur 403

Voici les lignes de mon 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> 

Les autorisations sont définies à 770 et il est peu collant réglé sur tous les dossiers sous/home/Karlis/django. J'ai django 1.2.3, mod_wsgi 3.2, apache 2.2.15 et je cours Arch Linux.

Ce que je fais mal ici?

Merci d'avance! -skazhy

Répondre

1

Apache fonctionne comme un utilisateur particulier, il ne sera pas capable de lire des trucs avec des autorisations de 770.

Regarder la conférence à:

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

ce qui explique les choses sur les autorisations .

La clé pour résoudre le problème est quel message d'erreur apparaît dans votre journal des erreurs Apache. Vous n'indiquez même pas les messages d'erreur que vous obtenez dans le fichier journal. La conversation liée à montre ce que ces messages d'erreur pourraient être et ce qu'ils signifient.

-1

Essayez plutôt vos déclarations de répertoires:

<Location /> 
    Order Allow,Deny 
    Allow from all 
</Location> 
+0

Je reçois toujours une erreur 403 avec ceci. – skazhy

+2

Ne fais pas ça, c'est dangereux. Si vous faites cela, alors si un mappage d'URL est bourré et pointe vers des parties du système de fichiers contenant des informations sensibles, il sera facilement téléchargeable. En règle générale, n'utilisez JAMAIS Allow with Location. Au lieu de cela, associez-le toujours avec Directory afin que vous autorisiez uniquement l'accès à certaines parties du système de fichiers connues pour ne pas contenir de contenu sensible. –

0

Il y a un autre Gotcha:

Vérifiez votre fichier httpd.conf pour la configuration suivante:

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

Cela entraînera la Erreur.

.py NE DOIT PAS être configuré comme un script CGI