第1章 安装svn服务
1.1 准备操作系统并查看系统环境
[root@localhost ~]# cat /etc/redhat-release CentOS release 6.8 (Final) [root@localhost ~]# uname -a Linux localhost 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux [root@localhost ~]# hostname -I 192.168.1.111
注意!
关闭防火墙或者打开3690端口
1.2 安装svn(subversion)
1)首先检查svn软件程序是否已安装:
[root@localhost ~]# rpm -qa subversion subversion-1.6.11-9.el6_4.x86_64
2)如果没有如上结果,则需要执行下面命令安装
[root@localhost ~]# yum install -y subversion [root@localhost ~]# rpm -qa subversion subversion-1.6.11-15.el6_7.x86_64
1.3 创建svn目录
建立svn版本库数据存储根目录(svndata)及用户、密码权限目录(svnpasswd)
[root@localhost ~]# mkdir -p /data/svndata #==>SVN数据存储根目录 [root@localhost ~]# mkdir -p /data/svnpasswd #==>SVN用户、密码权限目录
1.4 启动svn服务并查看
[root@localhost ~]# svnserve -d -r /data/svndata/ #==>指定SVN根目录 [root@localhost ~]# netstat -ntpl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 1486/svnserve tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1398/sshd
第2章 创建新的项目版本库
2.1 创建新项目
创建一个新的Subversion项目syavingc,其实,类似syavingc这样的项目可以创建多个,每个项目对应不同的代码,这里只是以创建一个项目为例演示:
[root@localhost ~]# svnadmin create /data/svndata/syavingc
2.2 查看svn项目syavingc目录
[root@localhost syavingc]# pwd /data/svndata/syavingc [root@localhost syavingc]# ll total 24 drwxr-xr-x. 2 root root 4096 Oct 13 17:41 conf #配置文件目录 drwxr-sr-x. 6 root root 4096 Oct 13 17:41 db #数据目录 -r--r--r--. 1 root root 2 Oct 13 17:41 format drwxr-xr-x. 2 root root 4096 Oct 13 17:41 hooks drwxr-xr-x. 2 root root 4096 Oct 13 17:41 locks -rw-r--r--. 1 root root 229 Oct 13 17:41 README.txt
2.3 配置svn服务端
[root@localhost syavingc]# cd conf/ [root@localhost conf]# ll total 12 -rw-------. 1 root root 1118 Oct 13 17:47 authz -rw-------. 1 root root 341 Oct 13 17:49 passwd -rw-r--r--. 1 root root 2271 Oct 13 17:50 svnserve.conf
2.4 修改authz文件
[aliases] # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average [groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe # [/foo/bar] # harry = rw # &joe = r # * = # [repository:/baz/fuz] # @harry_and_sally = rw # * = r [syavingc:/] zhangsan = rw lisi = r
注意:
注意:
* 权限配置文件中出现的用户必须已经在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
=,
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
[/],表示根目录及以下,根目录是svnserver启动时指定的,我们指定为/application/svndata,[/]就是表示对全部版本库设置权限。
[repos:/]表示对版本库repos设置权限;
[repos:/syavingc]表示对版本库repos中的syavingc项目设置权限;
[repos:/syavingc/job]表示对版本库repos中的syavingc项目的job目录设置权限;
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。
2.5 修改passwd文件
[users] # harry = harryssecret # sally = sallyssecret zhangsan = zhangsan lisi = lisi
2.6 修改svnserve.conf文件
[root@localhost conf]# grep '^[a-Z0-9]' svnserve.conf anon-access = read auth-access = write password-db = passwd authz-db = authz
第3章 客户的登录验证
svn://ip/syavingc