天天看点

CentOS6.8 搭建SVN及使用查看系统环境安装SVN配置并启动SVN创建SVN版本库 Windows(客户端)安装TortoisSVN Windows使用SVN版本控制系统

CentOS搭建SVN

(1)查看系统版本

1

2

<code>[root@node-005 ~]</code><code># cat /etc/redhat-release</code>

<code>CentOS release 6.8 (Final)</code>

(2)查看系统全部信息

<code>[root@node-005 ~]</code><code># uname -a</code>

<code>Linux node-005 2.6.32-642.15.1.el6.x86_64 </code><code>#1 SMP Fri Feb 24 14:31:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux</code>

(3)查看系统内核

<code>[root@node-005 ~]</code><code># uname -r</code>

<code>2.6.32-642.15.1.el6.x86_64</code>

1、修改yum仓库配置(可不做,我这里做事保留SVN安装包)

3

4

<code>[root@node-005 ~]</code><code># sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf</code>

<code>[root@node-005 ~]</code><code># grep keepcache /etc/yum.conf    #rpm包不删除</code>

<code>keepcache=1</code>

<code>[root@node-005 ~]</code><code># yum -y install subversion</code>

<a href="https://s3.51cto.com/wyfs02/M00/92/34/wKiom1j9XzeTMAlSAAAep6dzBvc799.png" target="_blank"></a>

2、查找查找SVN安装包

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<code>[root@node-005 ~]</code><code># find / -name subversion-1.6.11-15.el6_7.x86_64.rpm</code>

<code>/var/cache/yum/x86_64/6/base/packages/subversion-1</code><code>.6.11-15.el6_7.x86_64.rpm</code>

<code>[root@node-005 ~]</code><code># tree /var/cache/yum/x86_64/6/base/packages/</code>

<code>/var/cache/yum/x86_64/6/base/packages/</code>

<code>├── apr-1.3.9-5.el6_2.x86_64.rpm</code>

<code>├── apr-util-1.3.9-3.el6_0.1.x86_64.rpm</code>

<code>├── libproxy-0.3.0-10.el6.x86_64.rpm</code>

<code>├── libproxy-bin-0.3.0-10.el6.x86_64.rpm</code>

<code>├── libproxy-python-0.3.0-10.el6.x86_64.rpm</code>

<code>├── neon-0.29.3-3.el6_4.x86_64.rpm</code>

<code>├── pakchois-0.4-3.2.el6.x86_64.rpm</code>

<code>├── perl-URI-1.40-2.el6.noarch.rpm</code>

<code>├── subversion-1.6.11-15.el6_7.x86_64.rpm</code>

<code>└── tree-1.5.3-3.el6.x86_64.rpm</code>

<code> </code> 

<code>0 directories, 10 files</code>

<code>[root@node-005 packages]</code><code># rpm -aq subversion</code>

<code>subversion-1.6.11-15.el6_7.x86_64</code>

1、创建SVN版本库根目录(svndata)及密码权限目录(svnpasswd)

<code>[root@node-005 ~]</code><code># mkdir -p /application/svndata</code>

<code>[root@node-005 ~]</code><code># mkdir -p /application/svnpasswd</code>

<code>[root@node-005 ~]</code><code># tree /application/svn*</code>

<code>/application/svndata</code>

<code>/application/svnpasswd</code>

<code>0 directories, 0 files</code>

2、启动SVN服务指定服务的SVN根目录

<code>[root@node-005 ~]</code><code># svnserve -d -r /application/svndata/ # -d </code>

<code>后台运行;-r 指定运行目录</code>

# 注:查看svnserver命令帮助

19

20

21

22

23

24

25

<code>[root@node-005 ~]</code><code># svnserve --help</code>

<code>用法: svnserve [-d | -i | -t | -X] [options]</code>

<code>有效选项:</code>

<code>  </code><code>-d [--daemon]            : 后台模式</code>

<code>  </code><code>-i [--inetd]             : inetd 模式</code>

<code>  </code><code>-t [--tunnel]            : 隧道模式</code>

<code>  </code><code>-X [--listen-once]       : 监听一次方式(调试用)</code>

<code>  </code><code>-r [--root] ARG          : 服务的根目录</code>

<code>  </code><code>-R [--</code><code>read</code><code>-only]         : 强制只读;覆盖版本库配置文件</code>

<code>  </code><code>--config-</code><code>file</code> <code>ARG        : 从文件 ARG 读取配置</code>

<code>  </code><code>--listen-port ARG        : 监听端口</code>

<code>                             </code><code>[方式: daemon, listen-once]</code>

<code>  </code><code>--listen-host ARG        : 监听主机名称或IP地址</code>

<code>  </code><code>-T [--threads]           : 使用线程代替进程 [方式: daemon]</code>

<code>  </code><code>--foreground             : 在前台运行(调试用)</code>

<code>                             </code><code>[方式: daemon]</code>

<code>  </code><code>--log-</code><code>file</code> <code>ARG           : svnserve 日志文件</code>

<code>  </code><code>--pid-</code><code>file</code> <code>ARG           : 写进程 PID 到文件 ARG</code>

<code>  </code><code>--tunnel-user ARG        : 隧道用户名(默认是当前UID对应的用户名)</code>

<code>                             </code><code>[方式: tunnel]</code>

<code>  </code><code>-h [--help]              : 显示本帮助</code>

<code>  </code><code>--version                : 显示程序版本信息</code>

3、查看服务是否启动

(1)查看进程

<code>[root@node-005 ~]</code><code># ps -ef |grep svn</code>

<code>root      67481  0 15:25 ?        00:00:00 svnserve -d -r </code><code>/application/svndata/</code>

<code>root      67526658  0 15:34 pts</code><code>/0</code>    <code>00:00:00 </code><code>grep</code> <code>svn</code>

(2)查看端口

<code>[root@node-005 ~]</code><code># netstat -lntup</code>

<code>Active Internet connections (only servers)</code>

<code>Proto Recv-Q Send-Q Local AddressForeign AddressState       PID</code><code>/Program</code> <code>name  </code>

<code>tcp        00 0.0.0.0:36900.0.0.0:*                   LISTEN      6748</code><code>/svnserve</code>      

<code>tcp        00 0.0.0.0:3306                0.0.0.0:*                   LISTEN      5217</code><code>/mysqld</code>        

<code>tcp        00 0.0.0.0:210.0.0.0:*                   LISTEN      2160</code><code>/vsftpd</code>        

<code>tcp        00 0.0.0.0:220.0.0.0:*                   LISTEN      5581</code><code>/sshd</code>          

<code>tcp        00 127.0.0.1:6310.0.0.0:*                   LISTEN      1315</code><code>/cupsd</code>         

<code>tcp        00 127.0.0.1:250.0.0.0:*                   LISTEN      1905</code><code>/sendmail</code>      

<code>tcp        0  0 :::80                       :::*                        LISTEN      1925</code><code>/httpd</code>         

<code>tcp        00 :::22:::*                        LISTEN      5581</code><code>/sshd</code>          

<code>tcp        00 ::1:631:::*                        LISTEN      1315</code><code>/cupsd</code>         

<code>udp        00 0.0.0.0:6310.0.0.0:*1315</code><code>/cupsd</code>

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

<code>[root@node-005 ~]</code><code># lsof -i tcp:3690</code>

<code>COMMAND   PID USERFD   TYPE DEVICE SIZE</code><code>/OFF</code> <code>NODE NAME</code>

<code>svnserve 6748 root    3u  IPv448866      0t0  TCP *:svn (LISTEN)</code>

<code>[root@node-005 ~]</code><code># netstat -lntup |grep 3690</code>

<code>tcp        00 0.0.0.0:36900.0.0.0:*                   LISTEN      6748</code><code>/svnserve</code>

1、新的Subversion项目

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

<code>[root@node-005 ~]</code><code># svnadmin create /application/svndata/sadoc</code>

<code>[root@node-005 ~]</code><code># ll /application/svndata/sadoc/</code>

<code>总用量 24</code>

<code>drwxr-xr-x 2 root root 4096 4月  20 15:47 conf</code>

<code>drwxr-sr-x 6 root root 4096 4月  20 15:47 db</code>

<code>-r--r--r-- 1 root root    2 4月  20 15:47 </code><code>format</code>

<code>drwxr-xr-x 2 root root 4096 4月  20 15:47 hooks</code>

<code>drwxr-xr-x 2 root root 4096 4月  20 15:47 locks</code>

<code>-rw-r--r-- 1 root root  229 4月  20 15:47 README.txt</code>

(2)查看帮助

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

<code>[root@node-005 ~]</code><code># svnadmin --help</code>

<code>一般用法: svnadmin SUBCOMMAND REPOS_PATH  [ARGS &amp; OPTIONS ...]</code>

<code>使用“svnadmin help &lt;subcommand&gt;” 得到子命令的帮助信息。</code>

<code>使用“svnadmin --version”查看程序的版本号和文件系统模块。</code>

<code>可用的子命令:</code>

<code>   </code><code>crashtest</code>

<code>   </code><code>create</code>

<code>   </code><code>deltify</code>

<code>   </code><code>dump</code>

<code>   </code><code>help (?, h)</code>

<code>   </code><code>hotcopy</code>

<code>   </code><code>list-dblogs</code>

<code>   </code><code>list-unused-dblogs</code>

<code>   </code><code>load</code>

<code>   </code><code>lslocks</code>

<code>   </code><code>lstxns</code>

<code>   </code><code>pack</code>

<code>   </code><code>recover</code>

<code>   </code><code>rmlocks</code>

<code>   </code><code>rmtxns</code>

<code>   </code><code>setlog</code>

<code>   </code><code>setrevprop</code>

<code>   </code><code>setuuid</code>

<code>   </code><code>upgrade</code>

<code>   </code><code>verify</code>

<code>[root@node-005 ~]</code><code># svnadmin help create</code>

<code>create: 用法: svnadmin create REPOS_PATH</code>

<code>在 REPOS_PATH 创建一个新的空版本库。</code>

<code>  </code><code>--bdb-txn-nosync         : 在提交事务时禁用fsync [BDB]</code>

<code>  </code><code>--bdb-log-keep           : 禁用自动删除日志文件 [BDB]</code>

<code>  </code><code>--config-</code><code>dir</code> <code>ARG         : 从目录 ARG 读取用户配置文件</code>

<code>  </code><code>--fs-</code><code>type</code> <code>ARG            : 版本库类型: “fsfs”(默认)或“bdb”</code>

<code>  </code><code>--pre-1.4-compatible     : 使用与1.4之前版本兼容的格式</code>

<code>  </code><code>--pre-1.5-compatible     : 使用 Subversion 1.5 之前版本的格式</code>

<code>  </code><code>--pre-1.6-compatible     : 使用与 1.6 之前版本兼容的格式</code>

2、仓库用户权限配置

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

①备份配置文件

<code>[root@node-005 ~]</code><code># cd /application/svndata/sadoc/conf/</code>

<code>[root@node-005 conf]</code><code># /bin/cp svnserve.conf svnserve.conf.solin$(date +%F)</code>

②过滤要修改的配置

<code>[root@node-005 conf]</code><code># egrep "\-access|\-db =" svnserve.conf</code>

<code># anon-access = read</code>

<code># auth-access = write</code>

<code># password-db = passwd</code>

<code># authz-db = authz</code>

③修改后的参数(可以用sed替换,也可用vi/vim直接修改)

<code># anon-access = none   #不允许匿名访问</code>

<code># auth-access = write  #允许可写</code>

<code># password-db = /application/svnpasswd/passwd  #密码数据库,存放SVN吗</code>

<code># authz-db = /application/svnpasswd/authz      #控制权限的数据库</code>

<a href="https://s2.51cto.com/wyfs02/M01/92/34/wKiom1j9X1mD0EQxAACEc0dTG1I108.png" target="_blank"></a>

另:修改后对比

<code>anon-access = none</code>

<code>auth-access = write</code>

<code>password-db = </code><code>/application/svnpasswd/passwd</code>

<code>authz-db = </code><code>/application/svnpasswd/authz</code>

<code>[root@node-005 conf]</code><code># diff svnserve.conf.solin2017-04-20 svnserve.conf</code>

<code>12a13</code>

<code>&gt; anon-access = none</code>

<code>13a15</code>

<code>&gt; auth-access = write</code>

<code>20a23</code>

<code>&gt; password-db = </code><code>/application/svnpasswd/passwd</code>

<code>27a31</code>

<code>&gt; authz-db = </code><code>/application/svnpasswd/authz</code>

3、配置authz、passwd证书文件

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

<code>[root@node-005 conf]</code><code># cp authz passwd /application/svnpasswd/</code>

<code>[root@node-005 conf]</code><code># ll /application/svnpasswd/</code>

<code>总用量 8</code>

<code>-rw-r--r-- 1 root root 1080 4月  20 17:22 authz</code>

<code>-rw-r--r-- 1 root root  309 4月  20 17:22 </code><code>passwd</code>

<code>[root@node-005 conf]</code><code># chmod 700 /application/svnpasswd/*</code>

<code>-rwx------ 1 root root 1080 4月  20 17:22 authz</code>

<code>-rwx------ 1 root root  309 4月  20 17:22 </code><code>passwd</code>

(2)authz、passwd的配置

<code>vi</code> <code>/application/svnpasswd/authz</code>

<code>添加如下:</code>

<code>[</code><code>groups</code><code>]</code>

<code>bd_sa = solin,</code><code>test</code>

<code># [/foo/bar]</code>

<code>[sadoc:/]</code>

<code># [repository:/baz/fuz]</code>

<code>@bd_sa = rw</code>

<code>test1 = r</code>

<a href="https://s1.51cto.com/wyfs02/M00/92/34/wKiom1j9X3CTF0B-AAAj5kplAUI717.png-wh_500x0-wm_3-wmp_4-s_871058893.png" target="_blank"></a>

<code>vi</code> <code>/application/svnpasswd/passwd</code>

<code>[</code><code>users</code><code>]</code>

<code>solin = bdyun</code>

<code>test</code> <code>= bdyun</code>

<a href="https://s4.51cto.com/wyfs02/M02/92/34/wKiom1j9X3rQj2tiAAAhtvu9Lao587.png" target="_blank"></a>

4、重启SVN

<code>[root@node-005 conf]</code><code># pkill svnserve</code>

<code>[root@node-005 conf]</code><code># ps -ef |grep svn</code>

<code>root      68326658  0 17:52 pts</code><code>/0</code>    <code>00:00:00 </code><code>grep</code> <code>svn</code>

<code>[root@node-005 conf]</code><code># svnserve -d -r /application/svndata/</code>

<code>root      68341  0 17:52 ?        00:00:00 svnserve -d -r </code><code>/application/svndata/</code>

<code>root      68366658  0 17:52 pts</code><code>/0</code>    <code>00:00:00 </code><code>grep</code> <code>svn</code>

1、官网下载TortoisSVN

https://tortoisesvn.net/downloads.html

<a href="https://s4.51cto.com/wyfs02/M00/92/33/wKioL1j9X6jT2dmFAAHDmrjBZZ0993.png" target="_blank"></a>

2、安装

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

<a href="https://s1.51cto.com/wyfs02/M01/92/33/wKioL1j9X7XAjT9yAABlcIatRkY027.png" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M02/92/34/wKiom1j9X8bgZtsUAADdCFuuYh4390.png" target="_blank"></a>

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

<a href="https://s1.51cto.com/wyfs02/M01/92/34/wKiom1j9X9WyW49qAACT0Ysvu1U817.png" target="_blank"></a>

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

<a href="https://s4.51cto.com/wyfs02/M00/92/34/wKiom1j9X-XxRDDlAAB_MrWvAaI531.png" target="_blank"></a>

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

<a href="https://s5.51cto.com/wyfs02/M02/92/33/wKioL1j9YBHS38qhAABk7Cyw8CU374.png" target="_blank"></a>

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

<a href="https://s1.51cto.com/wyfs02/M00/92/34/wKiom1j9YBuRp36RAADht-64kQg250.png" target="_blank"></a>

连接的方式,账户及密码

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

用户名:solin

密码:bdyun

<a href="https://s1.51cto.com/wyfs02/M00/92/34/wKiom1j9YOGxMRuZAABLdQUJ1dM233.png" target="_blank"></a>

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

<a href="https://s3.51cto.com/wyfs02/M01/92/33/wKioL1j9YO3RJfndAAAqdU75QA0977.png" target="_blank"></a>

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

<a href="https://s3.51cto.com/wyfs02/M00/92/33/wKioL1j9YPjzTxYzAAAX4_-1xF4185.png" target="_blank"></a>

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

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

<a href="https://s1.51cto.com/wyfs02/M01/92/33/wKioL1j9YQPg45HMAACs7QSS8iI040.png" target="_blank"></a>

(2)SVN checkout完成

<a href="https://s1.51cto.com/wyfs02/M01/92/33/wKioL1j9YQ7yxq3EAABBZXnOuYU328.png" target="_blank"></a>

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

<a href="https://s2.51cto.com/wyfs02/M02/92/33/wKioL1j9YRqBDA6_AABK1rJE5wA109.png" target="_blank"></a>

6、填写提交信息

<a href="https://s1.51cto.com/wyfs02/M00/92/34/wKiom1j9YSbzdNRPAABheWJIIz8769.png" target="_blank"></a>

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

<a href="https://s4.51cto.com/wyfs02/M00/92/33/wKioL1j9YTXCAys1AABLgj2Gkyo862.png" target="_blank"></a>

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

本文转自 运维小当家 51CTO博客,原文链接:http://blog.51cto.com/solin/1918718,如需转载请自行联系原作者

继续阅读