SVN版本控制系統搭建(結合http服務)

SVN版本控制服務器搭建

  Svn(subversion)是一個開源代碼管理的控制系統,用來管理和存儲開發的源代碼,基於C/S模式。能夠單獨提供服務,也能夠結合http服務來實現。html

運行方式  運行端口  訪問方法
svn單獨服務 3690 svn://
http結合服務 80 http://

 

下面開始搭建svn服務web

1.環境準備

(1)安裝svn 和 apache 服務,其中mod_dav_svn是用來銜接svn和apache的。數據庫

yum –y install subversion httpd mod_dav_svn

(2)查看是否註冊端口apache

cat /etc/services | grep svn –color

(3)建立存放版本庫vim

mkdir /web

(4)建立web項目實例瀏覽器

svnadmin create /web/www.demonxian3.cn
svnadmin create /web/www.demonxian2.cn

(5)查看svn版本相關文件服務器

能夠在經過svnadmin建立的目錄看到會生成一些文件。運維

 

目錄 做用
dav 提供apache和mod_dav_svn使用的目錄,這個要本身手動建立
db 存放版本控制的數據庫文件
hooks 存放hook腳本文件
locks 存放svn監控鎖定數據的目錄,用來追蹤存取文件庫的客戶端
conf 存放配置文件(用戶訪問帳號和權限等)
format 文件 存放一個整數表示當前的文件庫配置的版本

 

下面是conf目錄的文件內容svn

文件 做用 
authz 認證權限的配置
passwd 用戶密碼的配置
svnserve 服務器相關配置

2.修改配置

(1)修改svnserve服務配置工具

vim /web/www.demonxian3.cn/conf/svnserve.conf

下面幾個字段默認都是註釋的,須要把註釋去掉

anao-access = read                         #表示匿名用戶可讀 值有:read write none

auth-access = write                         #表示認證用戶可寫,值同上

password-db = passwd                    #表示指定密碼庫的配置文件

authz-db = authz                            #表示指定認證權限配置文件

realm = www.demonxian3.cn           #登陸提示信息

注意上面字段必須頂格,即前面不能留空格,不然會報錯

 

(2)修改passwd用戶密碼配置

vim /web/www.demonxian3.cn/conf/passwd

添加三個用戶,密碼均爲123456

 

(3) 修改authz權限配置

vim /web/www.demonxian3.cn/conf/authz

在groups域 裏定義一個CG組,組員有demon1,dmeon2

在 根域(本身寫上的)裏定義權限,CG組只有讀權限,demon3可寫可讀,其餘人無權限

 

3.啓動服務

svnserve -d -r /web/    #-d 以守護運行 -r 以root用戶運行 web 就是本身建立的軟件版本庫

查看端口

 

svn經常使用的命令

import 上傳代碼
checkout       下載代碼
update          更新代碼
status            查看狀態
diff                差別檢測
log                歷史記錄
list                顯示目錄
cat                查看內容
resolve         解決衝突
switch           切換版本庫
revert           恢復
add 增長  
delete 刪除
copy 複製
move  移動

 

更多請參見http://blog.csdn.net/ithomer/article/details/6187464

 

4.svn服務簡單的使用測試

mkdir local   #建立本地開發目錄

touch local/1.html local/2.html      #建立模擬web頁面

svn import /root/local/ file:///web/www.demonxian3.cn/ -m "first edit"  #導入

svn checkout svn://192.168.1.112/www.demonxian3.cn/ download     #取出代碼

 

1.取代碼時會彈出身份驗證,默認是root用戶,回車便可輸入用戶名和密碼。

2.須要注意登陸的用戶須要有讀取權限不然不能下載

3.取出代碼後會在當前生成download目錄,在裏面進行相關的代碼開發便可

下面模擬代碼開發後的更新。

touch download/3.html

echo 「hello world」 > 2.html

svn add 3.html                                #在svn裏同步添加新文件

svn commit –m 「second edit」        #提交代碼,這裏也須要用戶驗證。

若是輸入的帳號和密碼沒有寫入的權限,會寫入失敗

 

 

下面來搭建http + svn 服務

1.查看apache是否引入svn模塊

vim /etc/httpd/conf.d/subversion.conf

若是看到兩個字段則表示引入成功

LoadModule dav_svn_module     modules/mod_dav_svn.so

LoadModule authz_svn_module     modules/mod_authz_svn.so

兩個模塊的物理路徑

/etc/httpd/modules/mod_authz_svn.so

/etc/httpd/modules/mod_dav_svn.so

 

2.編輯subversion模塊配置文件

vim /etc/httpd/conf.d/subversion.conf  #在參照末尾location標籤添加下面的內容

<Location /web>

  DAV svn

  SVNParentPath /web                         #指定svn根目錄

  AuthType Basic                                 #Basic認證方式

  AuthName 」www.demonx.cn」             #認證顯示提示信息

  AuthUserFile /web/svn/passwd           #用戶密碼文件

  AuthzSVNAccessFile /web/svn/authz   #用戶配置文件

  Require vaild-user                             #要求用戶認證不準匿名

</Location>

 

3.建立apache訪問svn相關配置文件

mkdir /web/svn

 

建立用戶密碼文件並配置密碼

htpasswd –c /web/svn/passwd dem1    #參數-c表示建立文件

htpasswd /web/svn/passwd dem2

 

 

建立權限配置文件

vim /web/svn/authz                        #添加下面的內容

[groups]

all = dem1,dem2

[/]

dem1 = rw

[www.demonxian3.cn:/]

@all = rw

[www.demonxian2.cn:/]

dem1 = rw

dem2 = r

service httpd restart

 而後使用瀏覽器訪問,會發現須要用戶認證

 

 

 

 

下面使用小烏龜工具來訪問svn

使用小烏龜進行代碼的上傳和下載,雖然這個是開發人員作的事,但做爲運維人員多少也應該瞭解一點。下面是小烏龜的下載的地址

http://tortoisesvn.net/downloads.html

下載好後會在右鍵生成svn相關插件

 

 

配置相關選項,使用svn服務訪問配置以下

 

 

注意URL上不能把根目錄/web也填寫上去了。

 

 

輸入用戶名和密碼,不要保存

若是使用httpd服務訪問svn版本管理器,配置以下

 

 

 

成功把代碼down下來了,提交同樣點擊右鍵commit便可,若是有時候上交失敗以下

 

 

頗有可能你的目錄權限不夠,修改一下便可 如個人:  chmod -R 777 /web

 

轉載請指明出處:http://www.cnblogs.com/demonxian3/p/6910206.html

相關文章
相關標籤/搜索