2013-08-27 5 views
1

У меня есть несколько Mercurial репозитории опубликована с помощью hgweb и обеспеченный с Apache 2.2Отдельные директивы безопасности для каждого хранилища в hgweb и Apache

Есть ли способ иметь несколько конфигураций безопасности?

Я бы хотел иметь конфигурацию по умолчанию для большинства репозиториев, а затем отдельные конфигурации для конкретных репозиториев.

httpd.conf файл выглядит следующим образом

WSGIScriptAlias /hg "C:/hg/hgweb/hgweb.wsgi" 

<Directory "/hg/repo_one"> 
    Order deny,allow 
    AuthType Basic 
    AuthName "R1 Secure Area" 
    AuthBasicProvider file 

    AuthUserFile c:/apache2.2/repo_one.pwd 
    Require valid-user 
</Directory> 

<Directory "/hg"> 
    Order deny,allow 
    AuthType Basic 
    AuthName "Secure Area" 
    AuthBasicProvider file 

    AuthUserFile c:/apache2.2/passwords 
    Require valid-user 
</Directory> 

ответ

0

Вот что я сделал, чтобы получить эту работу.

Я переместил хранилище, необходимую отдельную безопасность в свой собственный каталог, который был siblng, не ребенка и сделал копию hgweb.wsgi.

Моя структура каталогов теперь выглядит как этот

c:\hg-pub\hgweb.wsgi 
c:\hg-pub\hgweb.config 
c:\hg-pub\repo-one\.hg 
... 
c:\hg\hgweb.wsgi 
c:\hg\hgweb.config 
c:\hg\repo-two\.hg 
c:\hg\repo-three\.hg 

И мой httpd.conf файл выглядит следующим образом

WSGIScriptAlias /hg "C:/hg/hgweb.wsgi" 
WSGIScriptAlias /pub/hg "C:/hg-pub/hgweb.wsgi" 

<Directory "C:/hg-pub"> 
    Order deny,allow 
    AuthType Basic 
    AuthName "R1 Secure Area" 
    AuthBasicProvider file 

    AuthUserFile c:/apache2.2/repo_one.pwd 
    Require valid-user 
</Directory> 

<Directory "C:/hg"> 
    Order deny,allow 
    AuthType Basic 
    AuthName "Secure Area" 
    AuthBasicProvider file 

    AuthUserFile c:/apache2.2/passwords 
    Require valid-user 
</Directory> 

важные вещи, чтобы отметить являются

  1. Два места хранилища полностью отдельный на диске
  2. Два пути WSGIScriptAlias ​​полностью независимы