CentOS搭建SVN
查看系统环境
(1)查看系统版本
1
2
|
[root@node-005~]
#cat/etc/redhat-release
CentOSrelease6.8(Final)
|
(2)查看系统全部信息
1
2
|
[root@node-005~]
#uname-a
Linuxnode-0052.6.32-642.15.1.el6.x86_64
#1SMPFriFeb2414:31:22UTC2017x86_64x86_64x86_64GNU/Linux
|
(3)查看系统内核
1
2
|
[root@node-005~]
#uname-r
2.6.32-642.15.1.el6.x86_64
|
安装SVN
1、修改yum仓库配置(可不做,我这里做事保留SVN安装包)
1
2
3
4
|
[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安装包
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[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)
1
2
3
4
5
6
7
|
[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根目录
1
2
|
[root@node-005~]
#svnserve-d-r/application/svndata/#-d
后台运行;-r指定运行目录
|
#注:查看svnserver命令帮助
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
[root@node-005~]
#svnserve--help
用法:svnserve[-d|-i|-t|-X][options]
有效选项:
-d[--daemon]:后台模式
-i[--inetd]:inetd模式
-t[--tunnel]:隧道模式
-X[--listen-once]:监听一次方式(调试用)
-r[--root]ARG:服务的根目录
--listen-portARG:监听端口
[方式:daemon,listen-once]
--listen-hostARG:监听主机名称或IP地址
[方式:daemon,listen-once]
-T[--threads]:使用线程代替进程[方式:daemon]
--foreground:在前台运行(调试用)
[方式:daemon]
[方式:daemon,listen-once]
[方式:tunnel]
-h[--help]:显示本帮助
--version:显示程序版本信息
|
3、查看服务是否启动
(1)查看进程
1
2
3
|
[root@node-005~]
#ps-ef|grepsvn
root67481015:25?00:00:00svnserve-d-r
/application/svndata/
root67526658015:34pts
/0
00:00:00
grep
svn
|
(2)查看端口
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[root@node-005~]
#netstat-lntup
ActiveInternetconnections(onlyservers)
ProtoRecv-QSend-QLocalAddressForeignAddressStatePID
/Program
name
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):已知端口号查看进程
1
2
3
4
5
|
[root@node-005~]
#lsof-itcp:3690
COMMANDPIDUSERFDTYPEDEVICESIZE
/OFF
NODENAME
svnserve6748root3uIPv4488660t0TCP*:svn(LISTEN)
[root@node-005~]
#netstat-lntup|grep3690
tcp000.0.0.0:36900.0.0.0:*LISTEN6748
/svnserve
|
创建SVN版本库
1、新的Subversion项目
(1)创建一个新的Subversion项目(版本库)
1
2
3
4
5
6
7
8
9
|
[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:47
format
drwxr-xr-x2rootroot40964月2015:47hooks
drwxr-xr-x2rootroot40964月2015:47locks
-rw-r--r--1rootroot2294月2015:47README.txt
|
(2)查看帮助
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
[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]
--fs-
type
ARG:版本库类型:“fsfs”(默认)或“bdb”
--pre-1.4-compatible:使用与1.4之前版本兼容的格式
--pre-1.5-compatible:使用Subversion1.5之前版本的格式
--pre-1.6-compatible:使用与1.6之前版本兼容的格式
|
2、仓库用户权限配置
(1)配置允许用户solin读写访问
①备份配置文件
1
2
|
[root@node-005~]
#cd/application/svndata/sadoc/conf/
[root@node-005conf]
#/bin/cpsvnserve.confsvnserve.conf.solin$(date+%F)
|
②过滤要修改的配置
1
2
3
4
5
|
[root@node-005conf]
#egrep"\-access|\-db="svnserve.conf
#anon-access=read
#auth-access=write
#password-db=passwd
#authz-db=authz
|
③修改后的参数(可以用sed替换,也可用vi/vim直接修改)
1
2
3
4
5
|
[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#控制权限的数据库
|
另:修改后对比
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
[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证书文件
1
2
3
4
5
6
7
8
9
10
|
[root@node-005conf]
#cpauthzpasswd/application/svnpasswd/
[root@node-005conf]
#ll/application/svnpasswd/
总用量8
-rw-r--r--1rootroot10804月2017:22authz
-rw-r--r--1rootroot3094月2017:22
passwd
[root@node-005conf]
#chmod700/application/svnpasswd/*
[root@node-005conf]
#ll/application/svnpasswd/
总用量8
-rwx------1rootroot10804月2017:22authz
-rwx------1rootroot3094月2017:22
passwd
|
(2)authz、passwd的配置
1
|
vi
/application/svnpasswd/authz
|
1
2
3
4
5
6
7
8
|
添加如下:
[
groups
]
bd_sa=solin,
test
#[/foo/bar]
[sadoc:/]
#[repository:/baz/fuz]
@bd_sa=rw
test1=r
|
1
|
vi
/application/svnpasswd/passwd
|
1
2
3
4
|
添加如下:
[
users
]
solin=bdyun
test
=bdyun
|
4、重启SVN
1
2
3
4
5
6
7
|
[root@node-005conf]
#pkillsvnserve
[root@node-005conf]
#ps-ef|grepsvn
root68326658017:52pts
/0
00:00:00
grep
svn
[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
/0
00:00:00
grep
svn
|
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服务搭建及客户端测试就完全结束了。
本文出自 “运维小当家” 博客,请务必保留此出处http://www.jb51.cc/article/p-cwpnreft-bbm.html
原文链接:https://www.f2er.com/centos/377748.html