Référencez le répertoire apparié dans une directive Apache DirectoryMatch

Je tente de configurer Apache pour héberger plusieurs sites django via mod_wsgi. Le tutoriel de configuration mod_wsgi donne une configuration d'exemple pour ce scénario où chaque application se trouve dans le même répertoire:

WSGIScriptAliasMatch ^/([^/]+) /usr/local/django/$1/apache/django.wsgi <DirectoryMatch ^/usr/local/django/([^/]+)/apache> Order deny,allow Allow from all </DirectoryMatch> 

J'essaie d'étendre cet exemple pour ajouter un fichier de mot de passe créé pour chaque application pour utiliser l'authentification HTTP. J'ai pensé que je pourrais le faire en configurant un répertoire parallèle séparé pour chaque application et référencer le nom du répertoire apparié de la manière qui est effectuée dans WSGIScriptAliasMatch, comme tel:

 WSGIScriptAliasMatch ^/([^/]+) /usr/local/django/$1/apache/django.wsgi <DirectoryMatch ^/usr/local/django/([^/]+)/apache> AuthType Basic AuthUserFile /usr/local/django-auth/$1/users.passwd AuthGroupFile /dev/null Require valid-user </DirectoryMatch> 

J'avais supposé que '$ 1' se développerait aux parans correspondant à la regex pour DirectoryMatch, mais je ne peux pas m'authentifier et mon journal d'erreur déclare:

 No such file or directory: Could not open password file: /usr/local/django-auth/$1/users.passwd 

Il semble donc que le «1 $» ne soit pas dépensé pour l'application correspondante, comme je l'ai supposé. Y at-il un moyen d'y parvenir? Je ne veux pas devoir ajouter une nouvelle directive pour chaque site à mesure qu'il apparaît.

One Solution collect form web for “Référencez le répertoire apparié dans une directive Apache DirectoryMatch”

Le chemin AuthUserFile est statique et il n'y a aucun moyen pour lequel il peut être développé en fonction de l'URL.

Vous devriez peut-être regarder plutôt:

http://code.google.com/p/modwsgi/wiki/AccessControlMechanisms

Cela vous permettra de fournir votre propre fournisseur d'authentification. Cela pourrait regarder les informations de demande dans le dictionnaire 'environ' passé à votre fonction check_password () et en fonction de cela valider un utilisateur contre une base de données utilisateur spécifique.

  • installation de mod_wsgi donnant 403 erreur
  • Définir des variables d'environnement dans mod_wsgi pour Django
  • Erreur Django indiquant "ne pouvait pas se connecter au server: Autorisation refusée"
  • Est-il possible d'exécuter deux instances de mod_wsgi?
  • Combien de process dois-je spécifier dans un WSGIDaemonProcess en exécutant Django via mod_wsgi?
  • Le redémarrage ou l'arrêt des résultats d'apache attend toujours
  • accélérer le server django
  • Problème de performance du site Django
  • La mise à niveau Ubuntu a déclenché django mod_wsgi
  • Le redressement gracieux d'Apache oblige-t-il à recharger tous les modules python gérés par mod_wsgi?
  • mod_wsgi Fin de la sortie du script avant les en-têtes
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.