и прежде всего извините за мой английский. Я установил сервер ubuntu 10.04.1 с apache2, subversion, svn_dav и websvn. (и, конечно же, другие службы, такие как php5, mysql 5.1 и т. д.). Я настроил свой svn с несколькими репозиториями, и каждый из них с разными группами и пользователями, например:
/var/myrepos/repo1 group: mygroup1
/var/myrepos/repo2 group: mygroup2
/var/myrepos/repo3 user: johndoe
С легким доступом к svn_dav работает отлично, то есть: http: // myserver / svnrepo1 доступно только для пользователей mygroup1 с их пользователями linux и паролями svn. Также работает для других репозиториев с их пользователями и группами. Но когда я попробовал использовать websvn, он показывает все репозитории без забот, чем если бы пользователь в mygroup1 мог просматривать репо2 (этого я не хочу делать). Вы можете войти в систему как любой пользователь в mygroup1, mygroup2 или johndoe, и вы войдете во все репозитории.
Я постараюсь найти решение и опубликую новость, если кто-нибудь может мне с этим помочь, я очень ценю !!! Спасибо за все
Показываю свои файлы: /etc/apache2/mods-available/dav_svn.conf
<Location /svnrepo1>
DAV svn
SVNPath /var/myrepos/repo1
AuthType Basic
AuthName "Repositorio Subversion de MD"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>
<Location /websvn/>
Options FollowSymLinks
order allow,deny
allow from all
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
</Location>
У вас есть файл аутентификации для хранения пользователей, но нет файла доступа. Попробуйте добавить
AuthzSVNAccessFile /var/myrepos/conf/svnaccess.conf
где svn access имеет указанные группы и права пользователя.
У меня тоже была эта проблема с websvn. Вот как я это решил:
Сначала вам нужно иметь файл svnaccess.conf с правами пользователя в нем, и он установлен, как предлагает @gbjbaanb. Затем вам нужно, чтобы websvn ссылался на этот файл в своей конфигурации.
websvn / включить / config.php
$config->useAuthenticationFile('/var/myrepos/conf/svnauth.conf'); // Global access file
AuthzSVNAccessFile должен работать. Вы также можете использовать HTTP-метод limit / apache.