//在下面添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /home/svnroot/repository/ //svn父目录
AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件
AuthType Basic //连接类型设置
AuthName "Subversion.zoneyump" //连接框提示
AuthUserFile /home/svnroot/repository/authfile //用户配置文件
Require valid-user //采用何种认证
</Location>
//其中authfile是通过"htpasswd [–c] /home/svnroot/repository/authfile username password"来创建的
//"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,
//则只能第一个用户可以访问新建库
#修改版本库配置文件:
# vi /home/svnroot/repository/test/conf/svnserve.conf
内容修改为:
[general]
anon-access = none
auth-access = write
password-db = /home/svnroot/repository/authfile
authz-db = /home/svnroot/repository/authz.conf
realm = test
三.权限管理
1)增加用户
# htpasswd [-c] /home/svnroot/repository/authfile wooin
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加.再增加别的用户时,不用加c
# htpasswd authfile用户名(加入新的用户)
2)权限分配
新建访问权限文件
# vi /home/svnroot/repository/authz.conf
注意:
*权限配置文件中出现的用户名必须已在用户配置文件中定义。也是在前面用htpasswd添加的用户
*对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
用户组名=用户1,用户2
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[版本库:/项目目录]
@用户组名=权限
用户名=权限
其中,方框号内部分可以有多种写法:
/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/home/svnroot/repository。这样,/是表示对全部版本库设置权限。
test:/,表示对版本库test设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。