歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Linux下建立svn工程

1   連接方式說明

svn提供的訪問方式有:

file:///本地路徑/to/svnrepo/            //訪問本地磁盤

http://host/to/svnrepo/                   //通過配置subversion的apache服務器的webDAV協議

https://host/to/svnrepo/                //與http相似,但是包括ssl加密

svn://host/to/svnrepo/                  //通過subversion自定義的協議

svn+ssh://host/to/svnrepo/        //與svn相似,但通過SSH封裝

2    認證方式說明

svnserve可以使用兩種認證方式,一種是自身內置的認證,通過passwd文件配置授權的用戶名和密碼,配置較為簡單,參考2.4.2節。另外一種是SSH認證,通過svn+ssh方式連接,配置較為復雜。

2.1   內置方式的配置

(1)修改/svn_project/hpss_monitor /conf/svnserve.conf文件,在general中加入以下幾行:

anon-access = none // 未認證的用戶沒有任何訪問權限  

auth-access = write // 認證的用戶有寫權限  

password-db = passwd // 認證文件為conf目錄下的passwd 文件  

(2)修改conf目錄下的passwd 文件 :

在[users]節下添加用戶名和密碼,例如,用戶名為a,密碼為123,格式如下:

  [users]

  a = 123

2.2   ssh方式認證的配置

假設已經創建了工程/svn_project/hpss_monitor

注意:工程目錄最好不要放在root目錄下,例如/root/svn_project/hpss_monitor,因為通過ssh方式認證的一般用戶沒有root權限,無法訪問root下的文件夾,除非主動降低root目錄的訪問級別。

1)        創建系統賬戶

useradd fify ; 添加fify用戶  

groupadd svn ; 添加svn用戶組  

usermod -a -G svn fify ; 將fify用戶添加到svn用戶組  

2)        為用戶組賦予權限

chown -R root:svn /svn_project/test 

chmod -R g+rws /svn_project/test      /*給svn組賦予讀寫權限,可以根據需要更改相應權限*/  

chmod -R o-rwx /svn_project/test     /*刪除其他無關人員的讀、寫、執行權限,默認情況下可能其他人有讀權限*/  

3)        在工程中配置權限

修改/svn_project/test /conf/svnserve.conf文件,在general中加入以下幾行:

anon-access = none // 未認證的用戶沒有任何訪問權限  

auth-access = write // 認證的用戶有寫權限  

authz-db = authz // 認證文件為conf目錄下的authz文件  

修改/svn_project/test /conf/authz文件(如果沒有則創建),在其中加入:

 [/]       // 訪問權限為本資源的根目錄(以及以下目錄)  

fify = rw // fify用戶的訪問權限為“讀+寫”  

3    創建工程步驟說明

3.1   創建工程

執行命令:

#svnadmincreate /svn_project/test 

其中,/svn_project/test 是單個工程目錄,/svn_project是自定義的svn工程的根目錄。其中根目錄需系統中存在,工程目錄test 由svnadmin創建。

命令完成之後,test 目錄裡會有多個文件夾和文件。

3.2   修改配置文件

根據認證方式作相應的配置,參考第2節。

3.3   開啟服務

啟動svn服務:

#svnserve-d -r /svn_project

其中-d表示在後台運行,-r指定服務器的根目錄,這樣訪問服務器時就可以直接用“svn://服務器ip/工程項目名”來訪問了。我所遇到的情況是訪問路徑必須寫全路徑,比如在此為“svn://服務器ip/svn_project/test ”

Copyright © Linux教程網 All Rights Reserved