• <span id="ycodp"></span>
    <span id="ycodp"><small id="ycodp"></small></span>
    1. <label id="ycodp"></label>
      <rt id="ycodp"><tr id="ycodp"><strike id="ycodp"></strike></tr></rt>
      <i id="ycodp"><strong id="ycodp"><ul id="ycodp"></ul></strong></i>
    2. 幫助中心

      這里有最新的使用文檔和教程

      < 返回

      Linux搭建SVN服務器詳細教程

      2023-05-05 14:31 作者:31IDC 閱讀量:911 所屬分類:Linux系統

      Linux搭建SVN服務器詳細教程

       

      前言

      本文講解 Linux 系統下如何搭建 SVN 服務器,詳細說明各配置項的功能,最終實現可管控多個項目的復雜配置。

       

      Linux搭建SVN服務器詳細教程

       

       

       

      SVN 是 subversion 的縮寫,是一個開放源代碼的版本控制系統,通過采用分支管理系統的高效管理,實現最終集中式的管理。

       

      目前很多互聯網公司在使用 SVN,優點在于使用方便、易于管理。與之對應的分布式的版本控制系統 Git 則更加靈活。

       

      搭建

      安裝 SVN

      //Ubuntu

      apt-get install subversion

       

      //Centos

      yum install subversion

       查看是否安裝成功,可以查看版本。

       

      svnserve --version

       

       

       

      提示版本 1.13.0,說明已安裝成功。

       

      創建版本庫目錄

      創建 SVN 版本庫目錄,為后面創建版本庫提供存放位置,也是最后啟動 SVN 服務的根目錄。

       

      我們在 /usr 路徑下創建 svn 目錄作為版本庫目錄。

       

      cd /usr

      mkdir svn

      Linux 系統各目錄知識延伸:

       

       

      所以,將 SVN 庫存放在用戶文件目錄 /usr 下比較合理。

       

      創建 SVN 版本庫

      在上一步建立路徑基礎上,創建版本庫,如 dev。

       

      cd /usr/svn

      svnadmin create dev

       創建成功后,可以查看到 dev 目錄下生成的文件。

       

       

       

      修改 SVN 配置

      進入 conf 目錄,查看需要修改的配置文件。

       

      cd /usr/svn/dev/conf

      ls

       

       

       

       

      配置文件:

       

      authz:權限配置文件,控制讀寫權限

      passwd:賬號密碼配置文件

      svnserve.conf:svn 服務器配置文件

      修改 svnserve.conf 文件

       

      vim svnserve.conf

       

       

       

       

      去掉 anon-access、auth-access、password-db、authz-db、realm 幾項前的注釋符號 “#”。

       

      配置項含義:

       

      anon-access = none|read|write 決定非授權用戶的訪問級別。none 表示無訪問權限,read 表示只讀,write 表示可讀可寫,默認為 read。

      auth-access = none|read|write 決定授權用戶的訪問級別,使用與上面相同的訪問級別。默認為 write。

      password-db = filename 指定賬號密碼數據庫文件名。filename 是相對倉庫中 conf 目錄的位置,也可以設置為絕對路徑,默認為 passwd。

      authz-db = filename 指定權限配置文件名,filename 是相對倉庫中 conf 目錄的位置,也可以設置為絕對路徑,默認為 authz。

      realm = realm-name 指定版本庫的認證域,即在登錄時提示的認證域名稱。若兩個版本庫的認證域相同,建議使用相同的賬號密碼數據庫文件 passwd。

      認證域知識延伸:

       

      在 SVN 客戶端登錄時,會提示 realm 認證域,如下圖的認證域 My First Repository。

       

       

       

       

       

      修改 passwd 文件

       

      vim passwd

       

       

       

       

      只需在末尾添加賬號和密碼,格式 賬號 = 密碼,如 user1 = 123456,可添加多個。

       

      修改 authz 文件

       

      vim authz

      ?

       

       編輯

      如果用戶比較多,可以使用 groups 形式設置分組 team1,并在根目錄下指定分組 @team1 的權限:

       

       

       

      如果想設置其他用戶的權限,可以通過 * 設置,如設置除 @team1 分組外其他用戶只讀權限:

       

      [/]

      @team1 = rw

      * = r

       

       

      啟動 SVN 服務

      執行 SVN 啟動命令,其中參數 -d 表示以守護進程的方式啟動, -r 表示設置的根目錄。

       

      svnserve -d -r /usr/svn/

       關閉 svn 命令:

       

      killall svnserve

      本地訪問 SVN 服務

      在 windows 系統中,安裝 TortoiseSVN 軟件,創建一個本地目錄,右鍵選擇 SVN Checkout 測試下,URL 填寫 svn://IP/dev,dev 替換成你創建的版本庫名稱。

       

       

       

      輸入 passwd 配置好的用戶。

       

       

       

       

       

      Checkout completed,SVN 訪問成功,這就 Nice 了~

       

       

       

       

       

      擴展

      設置查看 log 日志

      想查看提交的 svn log 日志,需要進一步配置。

       

      編輯 svnserve.conf,設置:

       

       

      anon-access = none

      編輯 authz 文件中添加:

       

      [/]

      * =

       

       

      這樣通過鼠標右鍵 TortoiseSVN->show log 就可以查看 svn 提交的歷史記錄了。

       

      多個項目管控配置

      SVN 配置文件是很靈活的,如果想使用統一的賬戶和權限去管控多個項目,可以將多個項目的 authz 和 passwd 文件統一放在一處,在多個項目的 svnserve.conf 文件中配置這兩個文件的絕對路徑,并在 authz 中對不同的項目設置用戶訪問權限。

       

      如:a、b、c、d 這 4 個用戶,p1、p2 兩個項目,其中 a、b 只能訪問 p1,c、d 只能訪問 p2。

       

      創建版本庫目錄

       

      mkdir /usr/svn

      創建多個版本庫

       

      cd /usr/svn

      svnadmin create p1

      svnadmin create p2

       創建管理用戶權限目錄

       

      mkdir /var/svn/conf

      cd /p1/conf

      cp authz passwd /var/svn/conf

      修改配置文件

       

      修改 p1 的 svnserve.conf 文件:

       

      anon-access = none

      auth-access = write 

      password-db = /var/svn/conf/passwd 

      authz-db = /var/svn/conf/authz 

      realm = p1 

       修改 p2 的 svnserve.conf 文件:

       

      anon-access = none

      auth-access = write

      password-db = /var/svn/conf/passwd

      authz-db = /var/svn/conf/authz

      realm = p2

      password-db 和 authz-db 都使用統一管理用戶權限目錄,使用絕對路徑。

       

      修改 password-db 文件

       

      [users]

      a = 123

      b = 123

      c = 123

      d = 123

      修改 authz 文件

       

      [groups] //分組

      p1user = a,b

      p2user = c,d

       

      [/]

      * = #以上沒有定義的用戶都沒有任何權限

       

      [p1:/] //p1的訪問控制,c、d無法訪問

      @p1user = rw

       

      [p2:/] //p2的訪問控制,a、b無法訪問

      @p2user = rw

      對 password-db 和 authz 文件的修改立即生效,不必重啟 svn。

       

      啟動 svn 服務

       

      svnserve -d -r /usr/svn/

       訪問不同項目 SVN

       

      同樣 TortoiseSVN 軟件,選擇 SVN Checkout 測試。

       

      訪問項目p1 URL

      svn://IP/p1

       

      訪問項目p2 URL

      svn://IP/p1

      統一的配置文件,不同項目限定了不同用戶訪問,這樣就實現了管控多個項目的 SVN 配置。

       

      以上就是 Linux 系統搭建 SVN 服務器詳細教程的所有內容,希望對大家有所幫助。

       

      31IDC - 12 年深耕海外 IDC 高端資源

      主站蜘蛛池模板: 久久婷婷激情综合色综合俺也去| 亚洲综合精品伊人久久| 天天综合天天添夜夜添狠狠添| 久久久久久综合网天天| 亚洲国产成人久久综合一区| 亚洲人成网站999久久久综合| 国产91色综合久久免费| 天天躁日日躁狠狠躁综合| 伊人久久成人成综合网222| 伊人久久大香线焦AV综合影院| 99久久综合精品免费| 无码综合天天久久综合网| 久久综合九色综合97手机观看| 玖玖爱zh综合伊人久久| 插插插色欲综合网| 亚洲伊人精品综合在合线| 亚洲综合色在线观看亚洲| 亚洲色偷偷偷综合网| 久久婷婷五月综合97色一本一本| 97久久国产综合精品女不卡| 久久综合AV免费观看| 97色婷婷成人综合在线观看| 丁香六月婷婷综合激情动漫| 色婷婷狠狠久久综合五月| 亚洲av成人综合网| 亚洲色欲久久久综合网| 国产激情综合在线观看| 亚洲国产综合精品中文字幕| 色天使亚洲综合一区二区| 2021精品国产综合久久| 亚洲成综合人影院在院播放| 在线亚洲97se亚洲综合在线| 国产成人综合野草| 区二区三区激情综合| 狠狠综合久久久久综合小说网| 亚洲狠狠婷婷综合久久| 亚洲综合av一区二区三区| 亚洲精品第一国产综合亚AV| 色五月五月丁香亚洲综合网| 精品久久综合一区二区| 国产综合无码一区二区辣椒|