SVN配置使用及迁移
(一)Centos7 SVN服务器搭建
1.检查SVN是否安装
[root@localhost ~]# rpm -qa subversion
subversion-1.7.14-14.el7.x86_64
#已安装,如无返回执行以下安装
[root@localhost ~]# yum install subversion -y
2.查看snv版本
[root@localhost ~]# svnserve --version
svnserve, version 1.7.14 (r1542130)
compiled Apr 11 2018, 02:40:28
3.创建仓库
#创建仓库目录
[root@localhost ~]# mkdir -p /home/svn
[root@localhost ~]# cd /home/svn/
#创建svn仓库
[root@localhost svn]# svnadmin create /home/svn
#查看创建的项目
[root@localhost svn]#ls
conf db format hooks locks README.txt
[root@localhost svn]#pwd
/home/svn
4.配置svn
(1)svn服务配置文件:在conf目录下,文件名为svnserve.conf
(2)用户名口令文件:在conf目录下,文件名为passwd
(3)权限配置文件,在conf目录下,文件名为authz
修改svnserve.conf文件
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm = /home/data/svn/fendo
vim passwd在[users]下面进行用户名密码的设置
[users]
# harry = harryssecret
# sally = sallyssecret
user1 = 密码
user2 = 密码
。。。
vim authz
在[groups]中设置组,和组员,分别为设计组design和开发组dev,设计组需要有对ProjectName项目中的doc文件有读写权限,而开发组只能拥有读的权限[/doc]对这个文件夹有设置权限开发组需要对ProjectName项目中的src源码文件有读写权限。其他人员不能进行写操作。。所以分别设置/doc和/src文件的权限
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
design = user1,user2,user...
developer = user11,user22,user...
[/doc]
@design = rw
@dev = r
[/src]
@dev = rw
* = r
[/]
* = r
5.启动svn服务
svnserve -d -r /home/svn
1)带 -d 选项即可以作为一个单独的守护进程运行,-r 选项可以指定发布哪个目录下的版本库;
2)一旦服务器运行,就在默认端口3690进行监听,使用 telnet 可以测试到 3690 端口已经开放了
3)若需更改SVN服务默认端口:
查看端口使用情况:netstat -antp
启动svn和指定端口的方法是:svnserve -d --list-port 3700 -r /home/svn
6.SVN客户端TortoiseSVN连接访问服务器:
svn://ip/,如果不是根目录,后面加工程名
7.今日公司需要迁移主机,怎么迁移数据呢?
1)在新主机上搭建新svn,重复以上安装配置步骤
2)旧主机svn目录直接拷贝到新主机svn跟目录下
3)启动svnserve -d -r /root/svn/svn/ , 登入后数据都过来了