1. 安装
sudo yum install subversion
查看安装位置
sudo rpm -ql subversion
2. 创建版本库 svnadmin create 创建一个新的空的版本库
sudo mkdir -p /var/svn
sudo svnadmin create /var/svn/项目名
3. 配置
进入conf目录(该svn版本库配置文件)
- authz文件是权限控制文件
- passwd是帐号密码文件
- svnserve.conf SVN服务配置文件
3.1 设置帐号密码
sudo vim passwd
在[users]块中添加用户和密码,格式:帐号=密码,如junwei = junwei
完整内容参考下面
[users]
june = june
junwei = junwei
3.2 设置权限
用户组格式:
[groups]
groupname=user1,user2,user3
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
例子:
java=xxx,xxx1,xxx2
php=xxx,xxx1,xxx2
版本库目录格式:
- [<版本库>:/项目/目录]
- @<用户组名> = <权限>
- <用户名> = <权限>
其中,方框号内部分可以有多种写法:
- [/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/home/svn/test,[/]就是表示对全部版本库设置权限。
- [repos:/] 表示对版本库repos设置权限;
- [repos:/abc] 表示对版本库repos中的abc项目设置权限;
- [repos:/abc/aaa] 表示对版本库repos中的abc项目的aaa目录设置权限;
- 权限主体可以是用户组、用户或,用户组在前面加@,表示全部用户。
- 权限可以是w、r、wr和空,空表示没有任何权限。
例子:
[/tdocs]
@java=rw
@php=rw
@mobile=r
*=
3.3 修改svnserve.conf文件
sudo vim svnserve.conf
打开下面的几个注释:
- anon-access = read #匿名用户可读
- auth-access = write #授权用户可写
- password-db = passwd #使用哪个文件作为账号文件
- authz-db = authz #使用哪个文件作为权限文件
- realm = /var/svn/svnrepos # 认证空间名,版本库所在目录
注意:要配置好所处位置,完整参考下面
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = /var/svn/project_1
# force-username-case = none
[sasl]
# use-sasl = true
# min-encryption = 0
# max-encryption = 256
4. 启动svn版本库
sudo svnserve -d -r /var/svn