svn(subversion)是近年來崛起的版本管理工具,是CVS的接班人。目前,絕大多數開源軟件都使用svn做爲代碼版本管理軟件。svn服務器 有2種運行方式:獨立服務器和藉助apache等web服務器。兩種方式各有利弊。svn存儲版本數據也有2種方式:BDB和FSFS。由於BDB方式在服務器中斷時,有可能鎖住數據,因此仍是FSFS方式更安全一點。
java
本文主要介紹SVN獨立服務器的的安裝和簡單配置:linux
1,配置好yum,檢查subversion安裝包web
[root@svn ~]# yum list |grep subversionapache
subversion.i386 1.4.2-4.el5_3.1 base安全
subversion-devel.i386 1.4.2-4.el5_3.1 base ruby
subversion-javahl.i386 1.4.2-4.el5_3.1 base 服務器
subversion-perl.i386 1.4.2-4.el5_3.1 base svn
subversion-ruby.i386 1.4.2-4.el5_3.1 base 工具
[root@svn ~]# yum -y install subversion測試
測試安裝是否成功:
#svnserve --version 回車顯示版本說明安裝成功
[root@svn ~]# netstat –nat 查看默認TCP 3690端口是否監聽.
2,建立svn版本庫
[root@svn /]# mkdir -p /data/svndata
[root@svn /]# svnadmin create /data/svndata/winne winne爲版本庫名稱
3,svnserve配置文件概述
svnserve.conf -- svn服務配置文件,該文件版本庫目錄的conf目錄下。
passwd -- 用戶名口令文件,該文件名在文件svnserve.conf中指定,缺省爲同目錄下的。
authz -- 權限配置文件,該文件名也在文件svnserve.conf中指定,缺省爲同目錄下的。
conf/svnserve.conf 文件
配置項分爲如下5項: anon-access 控制非鑑權用戶訪問版本庫的權限。 auth-access 控制鑑權用戶訪問版本庫的權限。
password-db 指定用戶名口令文件名。
authz-db 指定權限配置文件名,經過該文件能夠實現以路徑爲基礎的訪問控制。
realm 指定版本庫的認證域,即在登陸時提示的認證域名稱。若兩個版本庫的
認證域相同,建議使用相同的用戶名口令數據文件
conf /Passwd 文件
user1 = user1
user2 = user2
conf /authz 文件
[groups] 設置組
admin = user1
[/] 根目錄權限設置(就是「svndata」這個文件夾)
user1 = rw 用戶1權限是:可讀寫
user2 = r 用戶2權限是:可讀,不可寫
@admin = rw 設置組權限
[svndata:/winne] 設置根目錄下「winne」文件夾的權限
user1 = rw
user2 = r
…以此類推
4,啓動和中止SVN服務
啓動SVN服務:
[root@svn ~]# svnserve -d -r /data/svndata/
-d表示後臺運行
-r 指定根目錄是 /data/svndata/
中止SVN服務:
ps -aux |grep svn
kill -9 進程殺掉