歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Linux搭建SVN服務器

Linux搭建SVN服務器

日期:2017/3/1 11:56:34   编辑:關於Linux

SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統,相較於RCS、CVS,它采用了分支管理系統,它的設計目標就是取代CVS。互聯網上很多版本控制服務已從CVS遷移到Subversion。說得簡單一點SVN就是用於多個人共同開發同一個項目,共用資源的目的。

安裝subversion

在CentOS平台下,輸入

yum install -y subversion

安裝完成後,可以用下面的命令查看是否安裝成功

svnserve --version

創建SVN版本庫

首先創建一個文件夾,用以存放多個項目的版本庫。

mkdir /work/svn

然後在這裡邊創建我們的第一個svn版本庫

cd /work/svn
svnadmin create hello

這時,我們會在/work/svn目錄下發現一個hello文件夾,hello項目的所有數據和配置文件就放在這裡。

配置

hello/conf/文件夾下有三個配置文件,分別是authz、passwd和svnserve.conf。

其中,

authz用以配置權限,例如svn的各個用戶對於hello這項目分別擁有什麼權限(只讀、讀寫等)。 passwd存放了svn用戶的用戶名和密碼。 svnserve.conf是svn服務的配置文件。

svnserve.conf文件中有5個配置項需要配置,

anon-access: 控制非鑒權用戶訪問版本庫的權限。 auth-access: 控制鑒權用戶訪問版本庫的權限。 password-db: 指定用戶名口令文件名。 authz-db:指定權限配置文件名,通過該文件可以實現以路徑為基礎的訪問控制。 realm:指定版本庫的認證域,即在登錄時提示的認證域名稱。若兩個版本庫的認證域相同,建議使用相同的用戶名口令數據文件

配置示例

step1. 在passwd配置文件中添加一個用戶,也就是在文件的末尾添加

user = password123456

這樣我們就給項目hello添加了一個用戶名為user的用戶,密碼是password123456

step2. 在authz配置文件中給user用戶添加權限,也就是在文件的末尾添加

[groups]    #這一行不用寫,文件末尾有,並且沒被注釋掉
admin=user

[hello:/]
@admin=rw

其中hello是項目的名稱,/表示可以操作的文件路徑(可以指定為某個文件夾,例如/doc,就表示緊接著的用戶只能對doc文件夾做操作)。

@admin表示admin用戶組,admin用戶組的成員是user,rw表示admin用戶組的成員對當前文件夾可讀可寫。

step3. 修改svnserve.conf配置文件

將如下5行前面的注釋符號去掉。

# 匿名登錄的用戶沒有任何權限
anon-access=none

# 登錄用戶最高有寫權限
auth-access-write

# 密碼配置文件,一般不需要修改
passwrd-db=passwd

# 權限配置文件,一般不需要修改
authz-db=authz

# 設置為svn版本庫的名稱
realm=hello

啟動和停止svn服務

啟動svn服務
svnserve -d -r /work/svn

可以svn服務設置為開機自動啟,在/etc/rc.local文件的末尾添加上述命令。

停止svn服務

一般通過kill殺掉停止

ps -ef | grep svn
kill -9 進程編號

在windows上通過TortoiseSVN訪問svn服務器

下載並安裝TortoiseSVN

在一個空文件中右鍵,SVN Checkout...

在URL of repository中填寫svn://SVN服務器IP地址/hello,點擊確定並輸入賬號密碼。

Copyright © Linux教程網 All Rights Reserved