2010-02-10 4 views
2

J'essaie d'ajouter une authentification de base de nom/mot de passe Apache à un site Django en cours d'exécution.Authentification de base Apache sur le site Django

J'ai suivi le example here. J'ai créé un fichier .htpasswd et ont les éléments suivants dans httpd.conf:

WSGIScriptAlias//home/ann/webapps/django/domesday.wsgi 
<Directory /home/ann/webapps/apache2> 
AuthType Basic 
AuthName "Authentication Required" 
AuthUserFile "/home/ann/webapps/django/domesday/.htpasswd" 
Require valid-user 
</Directory> 

Cependant, quand je lance Apache, je reçois le message d'erreur:

[[email protected] apache2]$ bin/restart 
Apache isn't running. 
Syntax error on line 25 of /home/annaps/webapps/django/apache2/conf/httpd.conf: 
Invalid command 'AuthUserFile', perhaps misspelled or defined by a module not included in the server configuration 

Qu'est-ce que je fais faux? Pour autant que je sache, c'est une copie exacte de tous les exemples.

Je n'ai pas besoin de spécifier les chemins à protéger - tout le site est correct. Je ne suis pas tout à fait sûr de quoi mettre dans le tag <Directory - la racine de mon projet Django, la racine d'Apache (comme ici), ou autre chose?

Répondre

2

De http://readthefuckingmanual.net/error/1385/ (je n'ai pas choisi cette URL intentionnellement je le jure!):

Assurez-vous que vous avez dans votre httpd.conf:

LoadModule authn_file_module modules/mod_authn_file.so 
+0

Merci. Cela résout le message d'erreur mais malheureusement, j'ai maintenant une erreur de 500. Si je commente la partie , ça s'en va. Des idées? :( – AP257

+0

Avez-vous vérifié les journaux d'erreurs pour le serveur? Que disent-ils? – jathanism

0

AuthUserFile fait partie de mod_authn_file, qui est seulement disponible en 2.1. Assurez-vous que le module est chargé s'il existe. Et si ce n'est pas le cas ... vous ne pourrez pas utiliser cette directive.