CentOS搭建SVN
查看系统环境
(1)查看系统版本
[root@node-005~]#cat/etc/redhat-release CentOSrelease6.8(Final)
(2)查看系统全部信息
[root@node-005~]#uname-a Linuxnode-0052.6.32-642.15.1.el6.x86_64#1SMPFriFeb2414:31:22UTC2017x86_64x86_64x86_64GNU/Linux
(3)查看系统内核
[root@node-005~]#uname-r 2.6.32-642.15.1.el6.x86_64
安装SVN
1、修改yum仓库配置(可不做,我这里做事保留SVN安装包)
[root@node-005~]#sed-i's#keepcache=0#keepcache=1#g'/etc/yum.conf [root@node-005~]#grepkeepcache/etc/yum.conf#rpm包不删除 keepcache=1 [root@node-005~]#yum-yinstallsubversion
2、查找查找SVN安装包
[root@node-005~]#find/-namesubversion-1.6.11-15.el6_7.x86_64.rpm /var/cache/yum/x86_64/6/base/packages/subversion-1.6.11-15.el6_7.x86_64.rpm [root@node-005~]#tree/var/cache/yum/x86_64/6/base/packages/ /var/cache/yum/x86_64/6/base/packages/ ├──apr-1.3.9-5.el6_2.x86_64.rpm ├──apr-util-1.3.9-3.el6_0.1.x86_64.rpm ├──libproxy-0.3.0-10.el6.x86_64.rpm ├──libproxy-bin-0.3.0-10.el6.x86_64.rpm ├──libproxy-python-0.3.0-10.el6.x86_64.rpm ├──neon-0.29.3-3.el6_4.x86_64.rpm ├──pakchois-0.4-3.2.el6.x86_64.rpm ├──perl-URI-1.40-2.el6.noarch.rpm ├──subversion-1.6.11-15.el6_7.x86_64.rpm └──tree-1.5.3-3.el6.x86_64.rpm 0directories,10files [root@node-005packages]#rpm-aqsubversion subversion-1.6.11-15.el6_7.x86_64
配置并启动SVN
1、创建SVN版本库根目录(svndata)及密码权限目录(svnpasswd)
[root@node-005~]#mkdir-p/application/svndata [root@node-005~]#mkdir-p/application/svnpasswd [root@node-005~]#tree/application/svn* /application/svndata /application/svnpasswd 0directories,0files
2、启动SVN服务指定服务的SVN根目录
[root@node-005~]#svnserve-d-r/application/svndata/#-d 后台运行;-r指定运行目录
#注:查看svnserver命令帮助
[root@node-005~]#svnserve--help 用法:svnserve[-d|-i|-t|-X][options] 有效选项: -d[--daemon]:后台模式 -i[--inetd]:inetd模式 -t[--tunnel]:隧道模式 -X[--listen-once]:监听一次方式(调试用) -r[--root]ARG:服务的根目录 -R[--read-only]:强制只读;覆盖版本库配置文件 --config-fileARG:从文件ARG读取配置 --listen-portARG:监听端口 [方式:daemon,listen-once] --listen-hostARG:监听主机名称或IP地址 [方式:daemon,listen-once] -T[--threads]:使用线程代替进程[方式:daemon] --foreground:在前台运行(调试用) [方式:daemon] --log-fileARG:svnserve日志文件 --pid-fileARG:写进程PID到文件ARG [方式:daemon,listen-once] --tunnel-userARG:隧道用户名(默认是当前UID对应的用户名) [方式:tunnel] -h[--help]:显示本帮助 --version:显示程序版本信息
3、查看服务是否启动
(1)查看进程
[root@node-005~]#ps-ef|grepsvn root67481015:25?00:00:00svnserve-d-r/application/svndata/ root67526658015:34pts/000:00:00grepsvn
(2)查看端口
[root@node-005~]#netstat-lntup ActiveInternetconnections(onlyservers) ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programname tcp000.0.0.0:36900.0.0.0:*LISTEN6748/svnserve tcp000.0.0.0:33060.0.0.0:*LISTEN5217/MysqLd tcp000.0.0.0:210.0.0.0:*LISTEN2160/vsftpd tcp000.0.0.0:220.0.0.0:*LISTEN5581/sshd tcp00127.0.0.1:6310.0.0.0:*LISTEN1315/cupsd tcp00127.0.0.1:250.0.0.0:*LISTEN1905/sendmail tcp00:::80:::*LISTEN1925/httpd tcp00:::22:::*LISTEN5581/sshd tcp00::1:631:::*LISTEN1315/cupsd udp000.0.0.0:6310.0.0.0:*1315/cupsd
(3):已知端口号查看进程
[root@node-005~]#lsof-itcp:3690 COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAME svnserve6748root3uIPv4488660t0TCP*:svn(LISTEN) [root@node-005~]#netstat-lntup|grep3690 tcp000.0.0.0:36900.0.0.0:*LISTEN6748/svnserve
创建SVN版本库
1、新的Subversion项目
(1)创建一个新的Subversion项目(版本库)
[root@node-005~]#svnadmincreate/application/svndata/sadoc [root@node-005~]#ll/application/svndata/sadoc/ 总用量24 drwxr-xr-x2rootroot40964月2015:47conf drwxr-sr-x6rootroot40964月2015:47db -r--r--r--1rootroot24月2015:47format drwxr-xr-x2rootroot40964月2015:47hooks drwxr-xr-x2rootroot40964月2015:47locks -rw-r--r--1rootroot2294月2015:47README.txt
(2)查看帮助
[root@node-005~]#svnadmin--help 一般用法:svnadminSUBCOMMANDREPOS_PATH[ARGS&OPTIONS...] 使用“svnadminhelp<subcommand>”得到子命令的帮助信息。 使用“svnadmin--version”查看程序的版本号和文件系统模块。 可用的子命令: crashtest create deltify dump help(?,h) hotcopy list-dblogs list-unused-dblogs load lslocks lstxns pack recover rmlocks rmtxns setlog setrevprop setuuid upgrade verify [root@node-005~]#svnadminhelpcreate create:用法:svnadmincreateREPOS_PATH 在REPOS_PATH创建一个新的空版本库。 有效选项: --bdb-txn-nosync:在提交事务时禁用fsync[BDB] --bdb-log-keep:禁用自动删除日志文件[BDB] --config-dirARG:从目录ARG读取用户配置文件 --fs-typeARG:版本库类型:“fsfs”(默认)或“bdb” --pre-1.4-compatible:使用与1.4之前版本兼容的格式 --pre-1.5-compatible:使用Subversion1.5之前版本的格式 --pre-1.6-compatible:使用与1.6之前版本兼容的格式
2、仓库用户权限配置
(1)配置允许用户solin读写访问
①备份配置文件
[root@node-005~]#cd/application/svndata/sadoc/conf/ [root@node-005conf]#/bin/cpsvnserve.confsvnserve.conf.solin$(date+%F)
②过滤要修改的配置
[root@node-005conf]#egrep"\-access|\-db="svnserve.conf #anon-access=read #auth-access=write #password-db=passwd #authz-db=authz
③修改后的参数(可以用sed替换,也可用vi/vim直接修改)
[root@node-005conf]#egrep"\-access|\-db="svnserve.conf #anon-access=none#不允许匿名访问 #auth-access=write#允许可写 #password-db=/application/svnpasswd/passwd#密码数据库,存放SVN吗 #authz-db=/application/svnpasswd/authz#控制权限的数据库
另:修改后对比
[root@node-005conf]#egrep"\-access|\-db="svnserve.conf #anon-access=read anon-access=none #auth-access=write auth-access=write #password-db=passwd password-db=/application/svnpasswd/passwd #authz-db=authz authz-db=/application/svnpasswd/authz [root@node-005conf]#diffsvnserve.conf.solin2017-04-20svnserve.conf 12a13 >anon-access=none 13a15 >auth-access=write 20a23 >password-db=/application/svnpasswd/passwd 27a31 >authz-db=/application/svnpasswd/authz
3、配置authz、passwd证书文件
[root@node-005conf]#cpauthzpasswd/application/svnpasswd/ [root@node-005conf]#ll/application/svnpasswd/ 总用量8 -rw-r--r--1rootroot10804月2017:22authz -rw-r--r--1rootroot3094月2017:22passwd [root@node-005conf]#chmod700/application/svnpasswd/* [root@node-005conf]#ll/application/svnpasswd/ 总用量8 -rwx------1rootroot10804月2017:22authz -rwx------1rootroot3094月2017:22passwd
(2)authz、passwd的配置
vi/application/svnpasswd/authz
添加如下: [groups] bd_sa=solin,test #[/foo/bar] [sadoc:/] #[repository:/baz/fuz] @bd_sa=rw test1=r
vi/application/svnpasswd/passwd
添加如下: [users] solin=bdyun test=bdyun
4、重启SVN
[root@node-005conf]#pkillsvnserve [root@node-005conf]#ps-ef|grepsvn root68326658017:52pts/000:00:00grepsvn [root@node-005conf]#svnserve-d-r/application/svndata/ [root@node-005conf]#ps-ef|grepsvn root68341017:52?00:00:00svnserve-d-r/application/svndata/ root68366658017:52pts/000:00:00grepsvn
Windows(客户端)安装TortoisSVN
1、官网下载TortoisSVN
https://tortoisesvn.net/downloads.html
2、安装
(1)下载软件后,双击程序进行安装,点击“Next”,我这里选择的试64位SVN;
(2)在许可证协议页面,选择“I Accept the terms in the License Agreement”,点击“Next”;
(3)在自定义选项页面,可以选择安装目录,也可以直接点击“Next”进行安装;
(4)点击“Install”开始安装;
(5)安装完成后,点击“Finsh”;
Windows使用SVN版本控制系统
连接的方式,账户及密码
svn;//192.168.119.91/sadoc#你自己的服务器IP
用户名:solin
密码:bdyun
1、选择本地目录或创建目录作为拉取(同步)SVN项目的库的目录,在目录中选择SVNCheckout
2、设置地址,分别输入SVN地址和本地地址,点击OK继续
3、输入用户名和密码,点击OK继续
4、成功连接(可以感觉个人喜好现在语言,官网下载语言包,下面图片是我汉化后的截图)
(1)汉化下载地址:https://tortoisesvn.net/downloads.html
(2)SVN checkout完成
5、在test_svn目录中创建文件test.txt,提交
6、填写提交信息
7、提交完成,版本变成1
到这里SVN服务搭建及客户端测试就完全结束了。