Linux/Ubuntu下安裝svn(二)

1、簡介shell

    Subversion通常使用兩種後臺服務模式:一種是其本身實現的 svnserve,能夠經過svn協議訪問,另外一種是藉助mod_dav_svn 模塊,由Apache http 服務器來實現,而後經過HTTP或HTTPS協議來訪問。下面要介紹的該種svn的搭建方式,與前文中的搭建方式略有不一樣。就難易程度上來說,實現svn協議訪問的這種方式比apache http的方式要容易許多~apache

2、安裝步驟vim

步驟一  使用apt包管理器來安裝subversion緩存

sudo apt-get subversion

ps:若是是rpm系列的相似(yum install subversion)服務器


步驟二 創建svn的安裝目錄svn

mkdir -p /home/user/svn

ps: 這裏主要-p參數用來遞歸建立目錄工具


步驟三 指定安裝目錄爲svn的項目目錄spa

svnadmin crteate /home/user/svn

ps:該步驟比較重要,執行完該步驟之後,svn目錄下將會出現一個很是核心的目錄conf,目錄中的文件以下:日誌

conf/code

        authz       該文件主要爲用戶的受權文件

        passwd    該文件爲用戶的用戶名和密碼

        svnserve.conf    該文件用來控制項目的讀寫權限,以及項目的用戶文件和受權的文件的路徑。


步驟四 修改conf中的配置文件

vim svnserve.conf

文件修改說明:

    anon-access = none    #匿名訪問用戶的權限爲無   

    auth-access = write      #認證權限爲寫權限

    password-db = passwd  #該passwd文件默認爲conf下的文件

    authz-db     =   authz    #用戶受權文件默認爲conf下的authz文件

    realm = repo name   #倉庫的名字

vim passwd

文件修改說明:

    user = passwd 

vim authz

文件修改說明:

    [svn:/]

     user = rw


步驟五 開啓svnserve服務

svnserve -d -r /home/user/svn  [--listen-port=port]

ps: -d 表示之後臺模式運行,-r 用於指定倉庫的位置。--listen-port這個參數指定svn服務監聽的端口爲port值,默認不指定的狀況下,監聽的端口爲3690。


3、FAQ 常見問題

1)  更新項目的時候,出現  db/txn-current-lock: Permission denied

答:查看一下指定項目下的db/目錄的屬組,可能因爲該目錄的屬組設置爲root,那麼你須要將該屬組改爲一個比較低級別的用戶,能夠是user能夠是其餘的。同時須要修改db的讀寫權限,我我的經常【暴力】的將其chmod爲777。

reference :       

chown -R user:user db/
chmod -R 777 db/


2)   下載項目的時候,出現 svn: Authorization failed

答:這一個錯誤一般是因爲authz文件中的內容錯誤致使的,可使用svn自帶的一個配置文件檢測工具來檢測一下該authz文件是否存在問題,若是存在語法問題,修改語法格式,若是不存在語法問題,那麼頗有可能未設置根目錄的權限。能夠在authz中追加以下信息: 

[/]
andrew = rw

這樣andrew就擁有了對根目錄的讀寫權限

3)在winows的tortoisesvn客戶端下,顯示日誌出現錯誤,出現相似:鏈接服務器失敗,你想使用緩存中的數據嗎?

答:極可能是因爲svnserve.conf文件中的anon-access的值爲read,只要將anon-access的值改成none便可。

anon-access = read   =>  acnon-access = none

原理:以anon身份去讀項目內容的時候,因爲在authz中沒有給anon配置權限,這形成了沒法讀取log item not readable的問題。

4)在用戶客戶端svn add 目錄的時候,出現相似如下問題:

svn: warning: W150002: '/Users/piercalex/svn/azzz/1' is already under version control
svn: E200009: Could not add all targets because some targets are already versioned
svn: E200009: Illegal target for the requested operation

答:

svn add /Users/piercalex/svn/azzz/1 --force
svn add 目錄名 --force

這樣就能夠把這個目錄的東西提交進去。

4、總結

    好記性不敵爛筆頭,最近深深感覺到本身記憶力的降低,不知道是工做量的增大仍是歲數太大的緣由(其實我仍是90後啦)。記憶力衰退也算一個契機吧,這樣督促本身將本身工做中的事情記錄下來,無事一身輕,哎,還有好多事情要記錄一下尼,才能作到身輕如燕~

相關文章
相關標籤/搜索