CentOS6.8 搭建SVN及使用

简介:

CentOS搭建SVN

查看系统环境

1)查看系统版本

1
2
[root@node-005 ~] # cat /etc/redhat-release
CentOS release 6.8 (Final)

2)查看系统全部信息

1
2
[root@node-005 ~] # uname -a
Linux node-005 2.6.32-642.15.1.el6.x86_64  #1 SMP Fri Feb 24 14:31:22 UTC 2017 x86_64 x86_64 x86_64 GNU/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 ~] # grep keepcache /etc/yum.conf    #rpm包不删除
keepcache=1
[root@node-005 ~] # yum -y install subversion

wKiom1j9XzeTMAlSAAAep6dzBvc799.png

2、查找查找SVN安装包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@node-005 ~] # find / -name subversion-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
  
0 directories, 10 files
[root@node-005 packages] # rpm -aq subversion
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
  
0 directories, 0 files

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          : 服务的根目录
   -R [-- read -only]         : 强制只读;覆盖版本库配置文件
   --config- file  ARG        : 从文件 ARG 读取配置
   --listen-port ARG        : 监听端口
                              [方式: daemon, listen-once]
   --listen-host ARG        : 监听主机名称或IP地址
                              [方式: daemon, listen-once]
   -T [--threads]           : 使用线程代替进程 [方式: daemon]
   --foreground             : 在前台运行(调试用)
                              [方式: daemon]
   --log- file  ARG           : svnserve 日志文件
   --pid- file  ARG           : 写进程 PID 到文件 ARG
                              [方式: daemon, listen-once]
   --tunnel-user ARG        : 隧道用户名(默认是当前UID对应的用户名)
                              [方式: tunnel]
   -h [--help]              : 显示本帮助
   --version                : 显示程序版本信息

3、查看服务是否启动

1)查看进程

1
2
3
[root@node-005 ~] # ps -ef |grep svn
root      67481  0 15:25 ?        00:00:00 svnserve -d -r  /application/svndata/
root      67526658  0 15:34 pts /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
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local AddressForeign AddressState       PID /Program  name  
tcp        00 0.0.0.0:36900.0.0.0:*                   LISTEN      6748 /svnserve      
tcp        00 0.0.0.0:3306                0.0.0.0:*                   LISTEN      5217 /mysqld        
tcp        00 0.0.0.0:210.0.0.0:*                   LISTEN      2160 /vsftpd        
tcp        00 0.0.0.0:220.0.0.0:*                   LISTEN      5581 /sshd          
tcp        00 127.0.0.1:6310.0.0.0:*                   LISTEN      1315 /cupsd         
tcp        00 127.0.0.1:250.0.0.0:*                   LISTEN      1905 /sendmail      
tcp        0  0 :::80                       :::*                        LISTEN      1925 /httpd         
tcp        00 :::22:::*                        LISTEN      5581 /sshd          
tcp        00 ::1:631:::*                        LISTEN      1315 /cupsd         
udp        00 0.0.0.0:6310.0.0.0:*1315 /cupsd

3):已知端口号查看进程

1
2
3
4
5
[root@node-005 ~] # lsof -i tcp:3690
COMMAND   PID USERFD   TYPE DEVICE SIZE /OFF  NODE NAME
svnserve 6748 root    3u  IPv448866      0t0  TCP *:svn (LISTEN)
[root@node-005 ~] # netstat -lntup |grep 3690
tcp        00 0.0.0.0:36900.0.0.0:*                   LISTEN      6748 /svnserve

创建SVN版本库

1、新的Subversion项目

1)创建一个新的Subversion项目(版本库)

1
2
3
4
5
6
7
8
9
[root@node-005 ~] # svnadmin create /application/svndata/sadoc
[root@node-005 ~] # ll /application/svndata/sadoc/
总用量 24
drwxr-xr-x 2 root root 4096 4月  20 15:47 conf
drwxr-sr-x 6 root root 4096 4月  20 15:47 db
-r--r--r-- 1 root root    2 4月  20 15:47  format
drwxr-xr-x 2 root root 4096 4月  20 15:47 hooks
drwxr-xr-x 2 root root 4096 4月  20 15:47 locks
-rw-r--r-- 1 root root  229 4月  20 15:47 README.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
一般用法: svnadmin SUBCOMMAND REPOS_PATH  [ARGS & OPTIONS ...]
使用“svnadmin help <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 ~] # svnadmin help create
create: 用法: svnadmin create REPOS_PATH
  
在 REPOS_PATH 创建一个新的空版本库。
  
有效选项:
   --bdb-txn-nosync         : 在提交事务时禁用fsync [BDB]
   --bdb-log-keep           : 禁用自动删除日志文件 [BDB]
   --config- dir  ARG         : 从目录 ARG 读取用户配置文件
   --fs- type  ARG            : 版本库类型: “fsfs”(默认)或“bdb”
   --pre-1.4-compatible     : 使用与1.4之前版本兼容的格式
   --pre-1.5-compatible     : 使用 Subversion 1.5 之前版本的格式
   --pre-1.6-compatible     : 使用与 1.6 之前版本兼容的格式

2、仓库用户权限配置

1)配置允许用户solin读写访问

①备份配置文件

1
2
[root@node-005 ~] # cd /application/svndata/sadoc/conf/
[root@node-005 conf] # /bin/cp svnserve.conf svnserve.conf.solin$(date +%F)

②过滤要修改的配置

1
2
3
4
5
[root@node-005 conf] # 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-005 conf] # egrep "\-access|\-db =" svnserve.conf
# anon-access = none   #不允许匿名访问
# auth-access = write  #允许可写
# password-db = /application/svnpasswd/passwd  #密码数据库,存放SVN吗
# authz-db = /application/svnpasswd/authz      #控制权限的数据库

wKiom1j9X1mD0EQxAACEc0dTG1I108.png

另:修改后对比

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[root@node-005 conf] # 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-005 conf] # diff svnserve.conf.solin2017-04-20 svnserve.conf
12a13
> anon-access = none
13a15
> auth-access = write
20a23
> password-db =  /application/svnpasswd/passwd
27a31
> authz-db =  /application/svnpasswd/authz

3、配置authzpasswd证书文件

1)把密码证书文件模板复制到相关目录并修改文件权限

1
2
3
4
5
6
7
8
9
10
[root@node-005 conf] # cp authz passwd /application/svnpasswd/
[root@node-005 conf] # ll /application/svnpasswd/
总用量 8
-rw-r--r-- 1 root root 1080 4月  20 17:22 authz
-rw-r--r-- 1 root root  309 4月  20 17:22  passwd
[root@node-005 conf] # chmod 700 /application/svnpasswd/*
[root@node-005 conf] # ll /application/svnpasswd/
总用量 8
-rwx------ 1 root root 1080 4月  20 17:22 authz
-rwx------ 1 root root  309 4月  20 17:22  passwd

2authzpasswd的配置

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



wKiom1j9X4XyCgQVAAAj5kplAUI818.png

1
vi  /application/svnpasswd/passwd
1
2
3
4
添加如下:
[ users ]
solin = bdyun
test  = bdyun


wKiom1j9X3rQj2tiAAAhtvu9Lao587.png

 

4、重启SVN

1
2
3
4
5
6
7
[root@node-005 conf] # pkill svnserve
[root@node-005 conf] # ps -ef |grep svn
root      68326658  0 17:52 pts /0     00:00:00  grep  svn
[root@node-005 conf] # svnserve -d -r /application/svndata/
[root@node-005 conf] # ps -ef |grep svn
root      68341  0 17:52 ?        00:00:00 svnserve -d -r  /application/svndata/
root      68366658  0 17:52 pts /0     00:00:00  grep  svn

 

Windows(客户端)安装TortoisSVN

1、官网下载TortoisSVN

https://tortoisesvn.net/downloads.html

wKioL1j9X6jT2dmFAAHDmrjBZZ0993.png

2、安装

1)下载软件后,双击程序进行安装,点击“Next”,我这里选择的试64SVN

wKioL1j9X7XAjT9yAABlcIatRkY027.png

 

wKiom1j9X8bgZtsUAADdCFuuYh4390.png

2)在许可证协议页面,选择“I Accept the terms in the License Agreement”,点击“Next”;

wKiom1j9X9WyW49qAACT0Ysvu1U817.png

3)在自定义选项页面,可以选择安装目录,也可以直接点击“Next”进行安装;

 

wKiom1j9X-XxRDDlAAB_MrWvAaI531.png

4)点击“Install”开始安装;

 

wKiom1j9YAKQop7LAABj2CQz2K4275.png

wKioL1j9YBHS38qhAABk7Cyw8CU374.png

5)安装完成后,点击“Finsh”;

wKiom1j9YBuRp36RAADht-64kQg250.png

 

 

Windows使用SVN版本控制系统

连接的方式,账户及密码

svn;//192.168.119.91/sadoc            #你自己的服务器IP

用户名:solin

密码:bdyun

1、选择本地目录或创建目录作为拉取(同步)SVN项目的库的目录,在目录中选择SVN Checkout

wKiom1j9YOGxMRuZAABLdQUJ1dM233.png

2、设置地址,分别输入SVN地址和本地地址,点击OK继续

wKioL1j9YO3RJfndAAAqdU75QA0977.png

3、输入用户名和密码,点击OK继续

wKioL1j9YPjzTxYzAAAX4_-1xF4185.png

4、成功连接(可以感觉个人喜好现在语言,官网下载语言包,下面图片是我汉化后的截图)

1)汉化下载地址:https://tortoisesvn.net/downloads.html

wKioL1j9YQPg45HMAACs7QSS8iI040.png

2SVN checkout完成

wKioL1j9YQ7yxq3EAABBZXnOuYU328.png

5、在test_svn目录中创建文件test.txt,提交

wKioL1j9YRqBDA6_AABK1rJE5wA109.png

6、填写提交信息

 

wKiom1j9YSbzdNRPAABheWJIIz8769.png

7、提交完成,版本变成1

wKioL1j9YTXCAys1AABLgj2Gkyo862.png

 

到这里SVN服务搭建及客户端测试就完全结束了。











本文转自 运维小当家 51CTO博客,原文链接:http://blog.51cto.com/solin/1918718,如需转载请自行联系原作者
目录
相关文章
|
Linux 网络安全 数据安全/隐私保护
CentOS7 手把手教你安装svn
CentOS7 手把手教你安装svn
164 0
|
Linux Shell 数据安全/隐私保护
CentOS 搭建SVN服务器
CentOS 搭建SVN服务器
411 0
CentOS 搭建SVN服务器
|
4月前
|
网络安全 数据安全/隐私保护
Centos8下快速搭建SVN服务器
Centos8下快速搭建SVN服务器
89 0
|
Linux 数据安全/隐私保护 网络安全
Centos7环境下搭建SVN服务器
SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
329 0
|
Java Linux 网络安全
Linux(Centos7)下搭建SVN服务器
Linux(Centos7)下搭建SVN服务器
233 1
Linux(Centos7)下搭建SVN服务器
|
网络安全 数据安全/隐私保护 开发者
SUV的配置及使用(搭建SVN服务器端)|学习笔记
快速学习SUV的配置及使用(搭建SVN服务器端)
107 0
|
PHP 开发工具 Android开发
Mac 在阿里云服务器上搭建最新的 SVN
Mac 在阿里云服务器上搭建最新的 SVN
242 0
Mac 在阿里云服务器上搭建最新的 SVN
|
网络安全 数据安全/隐私保护 Windows
基于阿里云搭建svn代码管理系统
使用阿里云服务器搭建svn代码管理系统并集成便于小组开发
基于阿里云搭建svn代码管理系统
|
Linux 网络安全 开发工具
Centos7.6安装SVN
服务器上已经配置了git,但是git对C#的管理不是很友好。我就想到了svn。这里记录一下centos7安装svn的过程。
418 0
Centos7.6安装SVN
|
安全 开发工具 数据安全/隐私保护
手把手教你搭建集中式版本控制系统SVN服务器
手把手教你搭建集中式版本控制系统SVN服务器
172 0
手把手教你搭建集中式版本控制系统SVN服务器