1、安装SVN服务端:
[root@localhost ~]# yum install subversion
2、判断SVN是否安装成功:
[root@localhost ~]# svnserve --version
svnserve, version 1.6.11 (r934486)
...
3、创建SVN库目录
[root@localhost /]# mkdir /opt/svn/repos -p
[root@localhost /]# svnadmin create /opt/svn/repos
[root@localhost /]# ll /opt/svn/repos/
total 24
drwxr-xr-x. 2 root root 4096 Apr 2 11:22 conf
drwxr-sr-x. 6 root root 4096 Apr 2 11:22 db
-r--r--r--. 1 root root 2 Apr 2 11:22 format
drwxr-xr-x. 2 root root 4096 Apr 2 11:22 hooks
drwxr-xr-x. 2 root root 4096 Apr 2 11:22 locks
-rw-r--r--. 1 root root 229 Apr 2 11:22 README.txt
[root@localhost /]# ll /opt/svn/repos/conf/
total 12
-rw-r--r--. 1 root root 1080 Apr 2 11:22 authz
-rw-r--r--. 1 root root 309 Apr 2 11:22 passwd
-rw-r--r--. 1 root root 2279 Apr 2 11:22 svnserve.conf
其中:
authz是权限控制,可以设置哪些用户可以访问哪些目录
passwd是设置用户和密码的
svnserve.conf是设置svn相关的参数配置
4、配置用户和权限
4.1 先设置用户名和密码:
[root@localhost /]# cd /opt/svn/repos/conf/
[root@localhost conf]# vi passwd
[users]
# harry = harryssecret
# sally = sallyssecret
hello = hi123
这样就建立了一个密码为hi123的hello用户
4.2 配置权限
[root@localhost conf]# vi authz
[/]
hello = rw
表示hello用户具有所有目录的读写权限
4.3 配置SVN认证和权限
[root@localhost conf]# vi snvserv.conf
修改[general]节点的参数,取消#号注释
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = passwd
authz-db = authz # 访问控制文件
realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
采用默认配置,以上语句都必须顶格写,左侧不能留空格,否则会出错。
5、启动SVN:
[root@localhost ~]# svnserve -d -r /opt/svn/repos
默认端口为3690,如果需要指定端口,使用以下命令:
[root@localhost ~]# svnserve -d -r /opt/svn/repos --listen-port 9527
6、svn客户端访问SVN (如果端口为默认3690则可以忽略不写):
svn://ip:port