Linux上搭建svn資源庫


一、安裝

  centos上安裝

  使用命令svn  --version查看是否安裝過svn;

  如果出現  bash: svn: command not found  則顯示沒有安裝

  可以使用 yum install subversion 命令進行安裝

  ubuntu上使用 apt-get install subversion  進行安裝

  安裝完畢后使用 svn  --version  進行查看。

二、創建資源庫

  使用命令svnserve啟動服務

  

svnadmin create /opt/svn/runoob

  使用命令svnserve啟動服務

svnserve -d -r 目錄 --listen-port 端口號

-r: 配置方式決定了版本庫訪問方式。
--listen-port: 指定SVN監聽端口,不加此參數,SVN默認監聽3690

  由於-r 配置方式的不一樣,SVN啟動就可以有兩種不同的訪問方式。

方式一:-r直接指定到版本庫(稱之為單庫svnserve方式)

svnserve -d -r /opt/svn/runoob

在這種情況下,一個svnserve只能為一個版本庫工作。

方式二:指定到版本庫的上級目錄(稱之為多庫svnserve方式)

在/opt/svn目錄下使用  svnadmin create /opt/svn/倉庫名  可以創建多個倉庫,然后使用如下命令啟動所有的倉庫

svnserve -d -r /opt/svn

使用URL:  svn://ip地址/倉庫名  即可訪問。

三、配置文件

  在倉庫中有個conf文件夾,主要放置倉庫啟動時的配置,包括svnserve.conf、passwd、authz 配置相關用戶和權限;

  1、svn服務配置文件svnserve.conf 

[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = tiku 
  • anon-access: 控制非鑒權用戶訪問版本庫的權限,取值范圍為"write"、"read"和"none"。 即"write"為可讀可寫,"read"為只讀,"none"表示無訪問權限。 缺省值:read
  • auth-access: 控制鑒權用戶訪問版本庫的權限。取值范圍為"write"、"read"和"none"。 即"write"為可讀可寫,"read"為只讀,"none"表示無訪問權限。 缺省值:write
  • authz-db: 指定權限配置文件名,通過該文件可以實現以路徑為基礎的訪問控制。 除非指定絕對路徑,否則文件位置為相對conf目錄的相對路徑。 缺省值:authz
  • realm: 指定版本庫的認證域,即在登錄時提示的認證域名稱。若兩個版本庫的 認證域相同,建議使用相同的用戶名口令數據文件。 缺省值:一個UUID(Universal Unique IDentifier,全局唯一標示)。

· 2、用戶名口令文件passwd

  用戶名口令文件由svnserve.conf的配置項password-db指定,缺省為conf目錄中的passwd。該文件僅由一個[users]配置段組成。[users]配置段的配置行格式如下:

<用戶名> = <口令>
[users]
admin = admin
thinker = 123456

 3、權限配置文件

  權限配置文件由svnserve.conf的配置項authz-db指定,缺省為conf目錄中的authz。該配置文件由一個[groups]配置段和若干個版本庫路徑權限段組成。

  [groups]配置段中配置行格式如下:

<用戶組> = <用戶列表>
[groups]
g_admin = admin,thinker

  版本庫路徑權限段的段名格式如下:

[<版本庫名>:<路徑>] 
[admintools:/]
#加上@是指定一個組,不加是指單個用戶,*是指所有用戶 @g_admin
= rw * = [test:/home/thinker] thinker = rw * = r

四、svn服務器的停止

  查到服務的進程號:ps -A | grep svn

  若有進程則殺死進程  kill  -9   PID

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM