svn的搭建

注:以下知識受老男孩老師指導

1:安裝配置svn服務

1.1 準備操作系統並查看系統環境

[root@qinlaozhifu1 ~]# cat /etc/redhat-release

CentOS release 6.5 (Final)

[root@qinlaozhifu1 ~]# uname -m  顯示電腦類型

x86_64 

[root@qinlaozhifu1 ~]# uname -r   顯示操作系統的發行編號

2.6.32-573.22.1.el6.x86_64

 

 

1.2 安裝svn (subversion)

1.2.1 首先檢查svn軟件程序是否已安裝

[root@qinlaozhifu1 ~]# rpm -qa subversion

subversion-1.6.11-10.el6_5.x86_64

如果沒有以上結果需要

yum install -y subversion

如果需要保留這個軟件,本地不清除

[root@qinlaozhifu1 ~]# sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf  

[root@qinlaozhifu1 ~]# grep keepcache /etc/yum.conf

keepcache=1  //rpm包下載後不清除

1.2.1 配置並啓動svn

 建立svn版本庫數據存儲根目錄(svndata)及用戶、密碼權限目錄(svnpasswd

[root@qinlaozhifu1 ~]# mkdir -p /application/svndata   數據存儲的根目錄

[root@qinlaozhifu1 ~]# mkdir -p /application/svnpasswd 用戶及密碼的權限目錄

啓動svn服務指定服務的svn根目錄

[root@qinlaozhifu1 ~]# svnserve -d -r /application/svndata/

查看svn進程

[root@qinlaozhifu1 ~]# ps -ef|grep svn|grep -v grep

root      7657     1  0 13:52 ?        00:00:00 svnserve -d -r /application/svndata/

檢測svn端口

[root@qinlaozhifu1 ~]# netstat -lntup|grep 3690

tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      7657/svnserve       

[root@qinlaozhifu1 ~]# netstat -lntup|grep svn

tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      7657/svnserve       

[root@qinlaozhifu1 ~]# lsof -i:3690

COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

svnserve 7657 root    3u  IPv4  70547      0t0  TCP *:svn (LISTEN)

 

查看svnserver命令幫助,瞭解相關的啓動參數

[root@qinlaozhifu1 ~]# svnserve --help

Valid options:

-d [--daemon]            : daemon mode       守護進程模式

-r [--root] ARG          : root of directory to serve指定存儲的根目錄

--pid-file ARG           : write server process ID to file ARG 存放進程號,

1.3 建立項目版本庫

   創建一個新的subversion項目sadoc,其實,類似sadoc這樣的項目可以創建多個,沒個項目對應不同的代碼,這裏只是以創建一個項目爲例演示:

  svnadmin --help  查看命令幫助

[root@qinlaozhifu1 ~]# svnadmin create /application/svndata/sadoc 在版本庫下面創建項目

[root@qinlaozhifu1 ~]# ll /application/svndata

total 4

drwxr-xr-x 6 root root 4096 Dec 25 14:03 sadoc

 

1.4調整svn配置文件及權限文件

  [root@qinlaozhifu1 ~]# cd /application/svndata/sadoc/conf/

[root@qinlaozhifu1 conf]# ll

total 12

-rw-r--r-- 1 root root 1080 Dec 25 14:03 authz         權限的管理文件

-rw-r--r-- 1 root root  309 Dec 25 14:03 passwd       用戶和密碼文件

-rw-r--r-- 1 root root 2279 Dec 25 14:03 svnserve.conf  主配置文件(包含上面兩個文件)

[root@qinlaozhifu1 conf]# cp svnserve.conf svnserve.conf.ori 修改前備份

比較我們修改的內容

[root@qinlaozhifu1 conf]# diff svnserve.conf.ori svnserve.conf

12,13c12,13

< # anon-access = read

< # auth-access = write

> anon-access = none

> auth-access = write

20c20

< # password-db = passwd

> password-db = /application/svnpasswd/passwd

27c27

< # authz-db = authz

> authz-db = /application/svnpasswd/authz

 

修改以後查看一下

[root@qinlaozhifu1 conf]# egrep "\-access|\-db =" svnserve.conf

anon-access = none

auth-access = write

password-db = /application/svnpasswd/passwd

authz-db = /application/svnpasswd/authz

拷貝權限的管理文件、用戶和文件

[root@qinlaozhifu1 conf]# cp authz passwd /application/svnpasswd/

[root@qinlaozhifu1 conf]# ll /application/svnpasswd/

total 8

-rw-r--r-- 1 root root 1080 Dec 25 17:36 authz

-rw-r--r-- 1 root root  309 Dec 25 17:36 passwd

root用戶看不到,提高安全性

[root@qinlaozhifu1 conf]# cd /application/svnpasswd/

[root@qinlaozhifu1 svnpasswd]# chmod 700 *

[root@qinlaozhifu1 svnpasswd]# ll

total 8

-rwx------ 1 root root 1080 Dec 25 17:36 authz

-rwx------ 1 root root  309 Dec 25 17:36 passwd

1.4.1配置用戶和密碼

[root@qinlaozhifu1 svnpasswd]# vim passwd

[users]

# harry = harryssecret

# sally = sallyssecret

oldboy = oldboy123

  提示:

1:等號前爲svn賬號,等號後爲svn密碼,密碼是明文的,注意密碼權限。

2:更改svnserver.conf時,需要重啓svn,更改authzpasswd文件時不用重啓。

1.4.2 修改權限配置文件

[root@qinlaozhifu1 svnpasswd]# vim authz

sagroup = oldboy,wenyanchao

[sadoc:/]

@sagroup = rw

注意:

1:權限配置文件中出現的用戶名必須已在用戶配置文件中定義。

2:對權限配置文件的修改立即生效,不必重啓svn

版本庫目錄格式:

定一個用戶組 = ****   用戶之間用逗號隔開

[<版本庫>:/項目/目錄]

@<用戶組名> = <權限>

 

1.5 重啓svn

[root@qinlaozhifu1 svnpasswd]# pkill svnserve

[root@qinlaozhifu1 svnpasswd]# svnserve -d -r /application/svndata/

 

 

 

最後的話就是安裝客戶端的TortoiseSVN,進入工作環境中應用

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章