天天看點

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,如需轉載請自行聯系原作者

繼續閱讀