一、安裝
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