Linux centos 下安裝配置SVN服務器

    centos服務器上安裝配置SVN(subversion),其實是很簡單的,只是有些時候在配置的過程中有個別細節如果不注意,會容易造成訪問不了的情況。

    網上這類的講解很多,下面的步驟整體上都是不變的,會加一點自己遇到的問題的解決過程和方法。

-------------------------------------------------------------------------------------

    在線安裝方法:

    1,查看當前是否已經安裝了SVN:

    #rpm -qa | grep svn

wKiom1b7PneTLnFRAAA63xVWRD0534.jpg

    以上提示已安裝。


    2,如果已經安裝了,可以直接使用,也可以卸載掉自己重新安裝。

    1)# yum install subversion*      #會把所有SVN相關的服務和應用全部安裝上


    3,安裝成功後,進行配置:

     安裝完成,會在bin目錄下生成幾個svn的二進制文件。

    #svn --help       #查看svn的使用方法。

    

    4,創建版本庫、配置文件:

    1)#mkdir /var/svn/repos1    #創建SVN版本所在的目錄/var/svn,創建第一個版本庫repos1目錄

    

    2)#svnadmin create /var/svn/repos1   #創建版本庫。執行此命令後,會在repos1目錄下自動生成下面的文件

    

    authz

    passwd

    svnserve.conf   


    3)進入conf目錄(repos1版本庫的配置文件目錄),其中:

    authz文件是權限控制文件

    passwd是帳號密碼文件

    svnserve.conf SVN服務配置文件

    

    <1>passwd設置用戶名、密碼:

        #vi passwd

        在[users]塊中添加用戶和密碼,格式:帳號=密碼,如jeff=jeffroot(=兩邊的空格不是必要的,可以添加多個用戶)

    <2>authz設置權限:

        #vi authz

        在末尾添加代碼:

        jeff=wr  #用戶jeff的權限是可讀寫,多個用戶可以分別設置權限
    <3>修改svnserve.conf文件配置:

        #vi svnserve.conf

        打開下面幾行的註釋:  

        non-access = read #匿名用戶可讀

        auth-access = write #授權用戶可寫

        password-db = passwd #使用哪個文件作爲賬號文件

        authz-db = authz #使用哪個文件作爲權限文件

        realm = /var/svn/svnrepos # 認證空間名,版本庫所在目錄

    ****注意1:上面幾行的註釋前面不要有空格,否則會報錯,無法連接到版本庫。****

    ****注意2:本配置authz文件時,還要加[/],代表根目錄下的所有文件,不加則會提示認證失敗(authentication failed)或無權限****(如下圖)


wKiom1d7baKSokcrAAAm7fprEuA395.png

    5,啓動版本庫:

        #svnserve -d -r /var/svn/repos1

    設置開機啓動(不設置則重啓後服務關閉,需要手動開啓):

    wKioL1d7ZCKimsIQAAAykV0lMj4805.png

    6,安裝配置結束,可進行測試。

        建議使用windows版SVN客戶端TortoiseSVN。


-------------------------------------------------------------------------------------

    幾點注意:

    1,/var/svn/repos1/conf 目錄下的配置文件svnserve.conf中的幾行註釋去掉後,一定要頂格,否則容易出錯


    2,在啓動版本庫後,可能會提示當前端口/應用已經被使用,即端口衝突,此時或者kill掉當前所有的svn服務,然後重新開啓;或者爲此版本庫開新的端口(推薦)。

    可能會有多個版本庫,每一個版本庫都需要使用一個端口,否則會衝突。

    #svnserve -d -r /var/svn/repos1 --listen-port 3691   #SVN默認端口是3690

    這樣訪問時的svn地址url就需要帶端口號:svn://x.x.x.x:3691


    3,也要注意防火牆的策略,可以暫時關閉防火牆,排除iptables的影響:

    # /etc/init.d/iptables stop            #或者 #service iptables stop


    4,通過查看SVN的進程,檢查是不是有端口衝突的情況:

    #ps -aux | grep svn


    5,當SVN服務器有變更(或進行SVN url relocate)時,連接svn服務器會提示UUID不同的錯誤提示。解決方法可參照:

    http://blog.csdn.net/aishangcike/article/details/19642105


-------------------------------------------------------------------------------------

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