我需要简单的“直截了当”的教程或如何使用 WebSVN 从单个 Subversion 存储库实现路径(签出目录)授权的简洁示例。
假设存储库是 /svn/repos/r_project 来自此存储库的两个结帐(路径)是 /svn/repos/path1 和 /svn/repos/path2 ...我想用不同的用户名/密码保护每个路径(目录) .
Subversion 和 WebSVN 安装在 Unix Apache (redhat) 上。我已经可以在 WebSVN 存储库首页中看到两条路径 - 没有任何保护,这工作正常。
我知道如何使用 .htpasswd 保护单个 Web 索引页面,但我尝试通过 WebSVN 页面保护存储库中单个路径的任何操作都失败了。
发送
[编辑 nov26]
最新情况以明确:我拥有的路径:
Home path in unix: '/var/www/'
Path of WebSVN: '/var/www/websvn2'
Path to repository: '/svn/repos'
Created repository is '/svn/repos/r_project') // so r_project is the repository name
Two checkout directories of that repository:'/svn/repos/path1' and '/svn/repos/path2'
在httpd.conf我有 SVN 和 WEBSVN 的位置(我确实有必要的模块):
<Location /repos>
DAV svn
SVNParentPath /var/www/svn/repos
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/svn-auth-file
Require valid-user
</Location>
<Location /websvn210/>
Options FollowSymLinks
AuthType Basic
AuthName "Subversion Repository"
Require valid-user
AuthUserFile /etc/svn-auth-file
</Location>
目前,'svn-auth-file' 包含一个用户名的密码。放入'/etc'目录。
在WebSVN 的config.php文件中,我有:
$config->parentPath("/var/www/svn/repos");
$config->useAuthenticationFile('/etc/svn-auth-file'); // Global access file
我可以将结帐目录“path1”和“path2”视为浏览器中带有文件的常规索引页面(例如:“http://mydomain/svn/repos/path1”)。但是,当我在浏览器中输入“http://mydomain/websvn210”时,我只能获得登录(ok)而不是 WebSVN 的空主页——也就是说,没有存储库或结帐路径!
这是第一个问题:空白页。其次,将为每个路径设置不同的登录名。注意:这些路径(签出)仅用于读取或下载(不从 Subversion 提交)。
谢谢。