1. 安装SVN
yum install -y subversion
2. 新建一个目录用于存储SVN所有文件
mkdir /svndir
3. 新建一个资源仓库
svnadmin create /svndir
目录用途说明:
l hooks目录:放置hook脚本文件的目录
l locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
l format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
l conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)
4. 配置svn服务的配置文件svnserver.conf文件,配置中不要留空格
# vi svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = testsvn #这是个提示信息
保存
5. 添加两个访问用户及口令
# vi passwd
[users]
test = test
保存
注意:对用户配置文件的修改立即生效,不必重启svn服务。
6. 配置新用户的授权文件
# vi authz
[groups]
admin = test
[/]
@admin= rw
* = r
保存
格式说明:
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
/ 表示对根目录(即/svn/project目录)下的所有子目录范围设置权限;
[/abc] 表示对资料库中abc项目设置权限;
创建一个admin组,组成员包括xiaoran.shen和test1
创建一个user组,成员只有test2;
admin组对目录有读写权限;
单个用户test2有读写权限;
*=表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。
注意:对权限配置文件的修改立即生效,不必重启svn。
7. 启动svn服务
svnserve -d -r /svndir
默认svn服务器端口是3690。
完成
8. 客户端一样安装SVN,连接
yum install -y svn
svn checkout svn://你的IP
9. svn启动和停止
停止:pkill svn
开启: svnserve -d -r /svndir
10. FAQ
问题:svn: E170001
解决:客户端清除SVN的账号信息:rm -rf ~/.subversion/auth