IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁操作系統(tǒng)LINUX → Linux下SVN安裝配置記錄

Linux下SVN安裝配置記錄

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

  1. 采用源文件編譯安裝。源文件共兩個,為:

  subversion-1.6.1.tar.gz? (subversion 源文件)

  subversion-deps-1.6.1.tar.gz? (subversion依賴文件)

  注意文件版本必須一致,否則很容易產(chǎn)生各種奇怪的問題.

  2. 上傳以上兩個文件到服務(wù)器上,解壓。解壓命令為:

  tar xfvz subversion-1.6.1.tar.gz

  tar xfvz subversion-deps-1.6.1.tar.gz

  指令簡介:tar 為解壓命令,xfvz為tar命令的參數(shù),用于解壓tar.gz格式壓縮的文件。

  3. 解壓后生成 subversion-1.6.1 子目錄,兩個壓縮包解壓后都會自動放到此目錄下,不用手動更改。

  4. 進(jìn)入解壓子目錄:

  cd subversion-1.6.1

  5. 執(zhí)行 ./configure --prefix=/opt/subversion 進(jìn)行配置設(shè)定并指明安裝目錄. 注意prefix前是兩個減號. 默認(rèn)不帶BDB包, 所以默認(rèn)使用的是FSFS模式. 若想使用BDB模式需另外下載BDB包.建議使用FSFS模式.兩種模式比較參考以下鏈接:

  http://doc.iusesvn.com/show-21-1.html

  指令簡介:configure命令用于檢查安裝平臺和目標(biāo)特征,prefix用于指定路徑。

  6. 執(zhí)行 make 編譯.

  7. 執(zhí)行 make install 安裝.

  8. 添加環(huán)境變量:

  vi /etc/profile

  在文件最后加入:

  SVNPATH=$PATH:/opt/subversion/bin

  export SVNPATH

  9. 測試SVN是否安裝成功,執(zhí)行:

  svnserve --version

  如果顯示版本信息, 則安裝成功.

  第二章 配置

  本系統(tǒng)采用為每個項(xiàng)目單獨(dú)建一版本庫的策略。配置文件,密碼文件,訪問控制文件等都放在版本庫的conf目錄下。所以每次開始一個新項(xiàng)目都必須新建一個版本庫,并重新配置各配置文件。還有很重要的一條,要求各組員重新配置客戶端,包括服務(wù)器版本庫路徑,本地路徑等信息。

  1. 建立版本庫目錄(可建立多個,新建庫后以下各項(xiàng)都需重新配置。注意區(qū)別安裝目錄與版本庫目錄,以下講的都是版本庫目錄)

  mkdir –p /opt/svndata/repos

  2. 建立svn版本庫(與上面目錄對應(yīng))

  svnadmin create /opt/svndata/repos

  執(zhí)行此命令后svn自動在repos目錄下添加必須的配置文件.

  注意:版本庫不同于一般的文件夾, 直接在操作系統(tǒng)上新建文件無法被SVN識別, 必須使用import等命令將文件導(dǎo)入版本庫.

  此為svn內(nèi)部指令,create用于新建版本庫。請使用svn help查看詳細(xì)說明。

  3. 修改版本庫配置文件

  vi /opt/svndata/repos/conf/svnserve.conf

  各參數(shù)功能在配置文件的注釋中有說明, 此處配置如下:

  [general]

  anon-access = none # 使非授權(quán)用戶無法訪問

  auth-access = write # 使授權(quán)用戶有寫權(quán)限

  password-db = /opt/svndata/repos/conf/pwd.conf # 指明密碼文件路徑

  authz-db = /opt/svndata/repos/conf/authz.conf # 訪問控制文件

  realm = /opt/svndata/repos # 認(rèn)證命名空間,subversion會在認(rèn)證提示里顯示,并且作為憑證緩存的關(guān)鍵字。

  其它采用默認(rèn)配置. 各語句都必須頂格寫, 左側(cè)不能留空格, 否則會出錯.

  其中pwd.conf 與 authz.conf 在新建版本庫時系統(tǒng)不會自動創(chuàng)建,需要自己創(chuàng)建。

  指令簡介:這是svn配置文件的格式,請按照以上格式書寫。

  4. 配置用戶

  vi /opt/svndata/repos/conf/pwd.conf

  輸入以下內(nèi)容:

  [users]

  username1 = password1

  username2 = password2

  可以添加多個,此為用戶名密碼對。

  5. 配置權(quán)限

  vi /opt/svndata/repos/conf/authz.conf

  指令簡介:此配置文件采用"基于路徑的授權(quán)"策略,中括號里指定路徑,以下列出對各用戶的授權(quán)。包括只讀r,讀寫rw。沒有列出的用戶,則不允許訪問。還可以對用戶分組,具體請參考svn手冊,以下是簡單例子:

  [/opt/svndata/repos]

  user1 = rw

  user2 = r

  6. 使用import導(dǎo)入文件

  新建好的版本庫是空的,需要導(dǎo)入工作目錄。

  $ svnadmin create /usr/local/svn/newrepos

  $ svnimport mytree file:///usr/local/svn/newrepos/some/project

  但是在導(dǎo)入后,用來的目錄樹并沒有轉(zhuǎn)換成工作拷貝,為了開始工作,還是需要運(yùn)行svn checkout導(dǎo)出一個工作拷貝。因?yàn)閷?dǎo)入后,文件在版本庫中是以特殊的形式存在db文件夾中的,不能以明文的方式查看。必須使用svn checkout導(dǎo)出工作副本才能以正常方式查看。

  7. 啟動服務(wù)

  執(zhí)行svnserve –d –r /opt/svndata/repos/ 啟動服務(wù), 以deamon方式運(yùn)行。

  本系統(tǒng)采用svnserve方式, 這是小團(tuán)隊(duì)項(xiàng)目的推薦方法. 這種方法維護(hù)最少, 配置最簡單.

  指令簡介:此指令用于啟動svn服務(wù),-d指明以守護(hù)模式運(yùn)行,svn自動在3690端口監(jiān)聽。3690是默認(rèn)端口,可以使用"--listen-port="或者"--listen-host="來指定其它端口。-r選項(xiàng)用來指定svn服務(wù)的根目錄,這樣用戶就可以使用相對路徑訪問,而不用提供完整路徑。

  使用以下命令檢出:(svnserver方式)

  svn checkout svn://127.0.0.1/dir

  以上為示例。IP需要根據(jù)具體情況調(diào)整,dir為版本庫路徑,若在啟動時已指定則可省略。

  版本庫信息在版本庫文件夾里,所以要刪除版本庫只需要刪除版本庫所在的文件夾即可。

  另外工作副本只是自己維護(hù)的文件夾,可以用Windows直接刪掉,對別人沒有影響。千萬不要使用版本庫的刪除命令,否則版本庫里的內(nèi)容也會被刪除。

  8,服務(wù)自動啟動腳本

  01 #文件名svnserve,存入/etc/init.d下,root權(quán)限700

  02 #!/bin/sh

  03 # description: Svnserve auto start-stop script.

  04 # chkconfig: - 20 80

  05 #

  06 . /etc/init.d/functions

  07

  08 SVN_HOME=/usr/local/subversion/bin

  09 SVN_OWNER=svn

  10 if [ ! -f "$SVN_HOME/svnserve" ]

  11 then

  12???? echo "svnserver startup: cannot start"

  13???? exit

  14 fi

  15

  16 start() {

  17?? $SVN_HOME/svnserve -d -r /root/svndata/dzpai

  18?? echo "svnserve is runing... "

  19 }

  20

  21 stop() {

  22?? killproc svnserve

  23?? echo "svnserve is stoped"

  24 }

  25

  26 restart() {

  27?? killproc svnserve

  28?? echo "svnserve is stoped"

  29?? $SVN_HOME/svnserve -d -r /root/svndata/dzpai

  30?? echo "svnserve is runing... "

  31 }

  32

  33

  34 # See how we were called.

  35 case "$1" in

  36?? start)

  37?? start

  38?? ;;

  39?? stop)

  40?? stop

  41?? ;;

  42?? restart)

  43?? restart

  44?? ;;

  45 esac

  這個腳本是可以正常工作的。

  chkconfig --add svnserve

  就可以ntsysv自由在啟動項(xiàng)里進(jìn)行設(shè)置了

關(guān)鍵詞標(biāo)簽:Linux,SVN

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP Linux操作系統(tǒng)修改IP

相關(guān)下載

    人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址 dmidecode命令查看內(nèi)存型號 linux tc實(shí)現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載