Назад | Перейти на главную страницу

SVNPath игнорируется в Location в конфигурации Apache

Существует множество репозиториев SVN, размещенных в одном каталоге. Хочу разоблачить одну из них (extra) людям с разными полномочиями.

Почему следующая конфигурация apache не работает для http://example.net/svn/extra но работает для всех других репозиториев SVN, например http://example.net/svn/proj1.

Ошибка, которую я получаю, когда пытаюсь проверить http://example.net/svn/extra является:

[error] [client x.x.x.x] (20014)Internal error: Can't open file '/home/trac/svn/svn/format': No such file or directory
[error] [client x.x.x.x] Could not fetch resource information.  [500, #0]
[error] [client x.x.x.x] Could not open the requested SVN filesystem  [500, #2]
[error] [client x.x.x.x] Could not open the requested SVN filesystem  [500, #2]

Обратите внимание, что Subversion пытается получить доступ /home/trac/svn/svn/format. Где svn/svn путь пришел?

Это конфигурация:

    <Location /svn/extra>
            DAV svn
            SVNPath /home/trac/svn/extra
            AuthType Digest
            AuthName "DevsExtra"
            AuthUserFile /home/trac/devs-extra.digest
            Require valid-user
    </Location>

    <Location /svn>
            DAV svn
            SVNParentPath /home/trac/svn/
            AuthType Digest
            AuthName "Devs"
            AuthUserFile /home/trac/devs.digest
            Require valid-user
    </Location>

Вместо того, чтобы использовать несколько местоположений Apache для обработки аутентификации, я предлагаю взглянуть на mod_authz_svn для Apache, поскольку он предназначен для управления доступом для каждого пути. Таким образом, вы можете сделать что-то вроде следующего, чтобы предоставить подмножеству разработчиков доступ к этой папке:

[groups]
devs-extra = bob, bill, jim, sally

[svn:/extra]
@devs-extra = rw

http://svnbook.red-bean.com/en/1.5/svn.serverconfig.pathbasedauthz.html