操作系统:CentOS Linux release 7.2.1511 (Core) Subversion软件版本:subversion-1.7.14-10.el7.x86_64
1.首先检查svn软件是否已经安装:
[root@baidu ~]# rpm -qa subversion subversion-1.7.14-10.el7.x86_64
2.若没有如上结果,则需要执行下面命令进行安装:
[root@baidu ~]# yum -y install subversion 注意:yum安装rpm包安装后本地不清除的方法: [root@baidu ~]# sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf [root@baidu ~]# grep keepcache /etc/yum.conf keepcache=1 //rpm包下载后不清除
3.配置并启动SVN服务
建立SVN 版本库数据存储根目录(svndata)及用户、密码权限目录(svnpassword)
[root@baidu ~]# mkdir -p /application/svndata [root@baidu ~]# mkdir -p /application/svnpasswd
启动SVN服务指定服务的SVN根目录
[root@baidu ~]# svnserve -d -r /application/svndata/
提示:1.后面可加pid的参数,本文就忽略不加;
2.可以使用svnserver --help查看帮助参数
4.查看svn进程以及使用的端口
[root@baidu ~]# ps -ef | grep svn root 38815 1 0 15:51 ? 00:00:00 svnserve -d -r /application/svndata/ root 38873 38311 0 15:57 pts/0 00:00:00 grep --color=auto svn [root@baidu ~]# netstat -lntup | grep 3690 tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 38815/svnserve [root@baidu ~]# lsof -i :3690 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME svnserve 38815 root 3u IPv4 230392 0t0 TCP *:svn (LISTEN)
5.创建项目版本库
创建一个新的subversion项目sadoc:
[root@baidu ~]# svnadmin create /application/svndata/sadoc [root@baidu ~]# ll /application/svndata/sadoc/ 总用量 16 drwxr-xr-x. 2 root root 51 3月 20 16:09 conf drwxr-sr-x. 6 root root 4096 3月 20 16:09 db -r--r--r--. 1 root root 2 3月 20 16:09 format drwxr-xr-x. 2 root root 4096 3月 20 16:09 hooks drwxr-xr-x. 2 root root 39 3月 20 16:09 locks -rw-r--r--. 1 root root 229 3月 20 16:09 README.txt
6.调整SVN配置文件及权限文件,记住备份配置文件,再进行操作
[root@baidu conf]# cd /application/svndata/sadoc/conf/ [root@baidu conf]# ll 总用量 12 -rw-r--r--. 1 root root 1080 3月 20 16:09 authz -rw-r--r--. 1 root root 309 3月 20 16:09 passwd -rw-r--r--. 1 root root 3090 3月 20 16:09 svnserve.conf
更改svn配置文件,如下:
[root@baidu conf]# vim svnserve.conf [root@baidu conf]# diff svnserve.conf.ori svnserve.conf 19,20c19,20 < # anon-access = read < # auth-access = write --- > anon-access = none > auth-access = write 27c27 < # password-db = passwd --- > password-db = /application/svnpasswd/passwd 34c34 < # authz-db = authz ---
7.配置passwd和auth文件
[root@baidu conf]# cp passwd authz /application/svnpasswd/ [root@baidu conf]# ll /application/svnpasswd/ 总用量 8 -rw-r--r--. 1 root root 1080 3月 20 16:24 authz -rw-r--r--. 1 root root 309 3月 20 16:24 passwd [root@baidu svnpasswd]# chmod 700 * [root@baidu svnpasswd]# ll 总用量 8 -rwx------. 1 root root 1080 3月 20 16:24 authz -rwx------. 1 root root 309 3月 20 16:24 passwd
修改passwd和authz文件并新建用户与密码
[root@baidu svnpasswd]# vim passwd [users] bob = bob123 sunwukong = sunwukong123 [root@baidu svnpasswd]# vim authz sagroup = bob,sunwukong [sadoc:/] sunwukong = r bob = rw @sagroup = r
版本库目录格式:
[<版本库>:/项目/目录]
<用户名> = <权限>
注意:
*权限配置文件中出现的用户名必须已在用户配置文件中定义
*对权限配置文件的修改立即生效,不必重启svn
8.配置完成后,关闭svn服务并重新启动svn。
[root@baidu sadoc]# pkill svnserve [root@baidu sadoc]# svnserve -d -r /application/svndata/ [root@baidu sadoc]# ps -ef | grep svn root 40486 1 0 17:23 ? 00:00:00 svnserve -d -r /application/svndata/ root 40488 40222 0 17:23 pts/1 00:00:00 grep --color=auto svn
9.效果测试:
Windows:TortoiseSVN
Linux:使用svn help查看svn的帮助文档
同步SVN服务器数据到本地:
[root@baidu svndata]# svn co svn://192.168.1.133/sadoc /svndata/ --username=bob --password=bob123