1. 程式人生 > >ubuntu下 SVN 服務器搭建及使用

ubuntu下 SVN 服務器搭建及使用

root version use packages ups mar 運行 登錄 file

1.安裝Subversion Server
Subversion server binaries maintained by the Ubuntu Project. Packages include the Subversion client, and tools to create a Subversion repository and to make a repository available over a network.
Run this command as root:
$ apt-get install subversion


從上面可以看出安裝很簡單只要運行如下命令:

sudo apt-get install subversion
驗證安裝是否成功可以使用如下命令:

svn help --svn幫助
svn --version --svn版本
svnserve --version --svn server版本
2. 創建SVN 版本庫

mkdir /u02/svn
svnadmin create /u02/svn/svnname --svnname為版本庫名稱
3.SVN 配置

創建版本庫後,在這個目錄下會生成3個配置文件:

[[email protected] conf]# pwd
/u02/svn/davesvn/conf
[[email protected] conf]# ls
authz passwd svnserve.conf

(1)svnserve.conf: svn服務配置文件下。
(2)passwd: 用戶名口令文件。
(3)authz: 權限配置文件。

svnserve.conf 文件, 該文件配置項分為以下5項:
anon-access: 控制非鑒權用戶訪問版本庫的權限。
auth-access: 控制鑒權用戶訪問版本庫的權限。
password-db: 指定用戶名口令文件名。
authz-db:指定權限配置文件名,通過該文件可以實現以路徑為基礎的訪問控制。
realm:指定版本庫的認證域,即在登錄時提示的認證域名稱。若兩個版本庫的認證域相同,建議使用相同的用戶名口令數據文件
Passwd 文件 :
我們在svnserve.conf文件裏啟用這個文件。然後配置如下:
[[email protected]

/* */ conf]# cat passwd
### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.

[users]
# harry = harryssecret
# sally = sallyssecret
dave = davepwd
tianlesoftware = tianlesoftwarepwd

authz 文件 :
在網上找到一個很好的配置例子:
[groups]
admin = john, kate
devteam1 = john, rachel, sally
devteam2 = kate, peter, mark
docs = bob, jane, mike
training = zak
--這裏把不同用戶放到不同的組裏面,下面在設置目錄訪問權限的時候,用目錄來操作就可以了。

# 為所有庫指定默認訪問規則
# 所有人可以讀,管理員可以寫,危險分子沒有任何權限
[/] --對應我測試裏的:/u02/svn 目錄
* = r
@admin = rw
dangerman =

# 允許開發人員可以完全訪問他們的項目版本庫
[proj1:/]
@devteam1 = rw
[proj2:/]
@devteam2 = rw
[bigproj:/]
@devteam1 = rw
@devteam2 = rw
trevor = rw

# 文檔編寫人員對所有的docs目錄有寫權限
[/trunk/doc]
@docs = rw

# 培訓人員可以完全訪問培訓版本庫
[TrainingRepos:/]
@training = rw

下面我們來配置我們的authz文件:
[[email protected] conf]# cat authz
[groups]
admin = dave
dev=tianlesoftware
[davesvn:/]
@admin = rw
@dev = rw
[[email protected] conf]#
4 啟動和停止SVN服務

(1)啟動SVN服務:
[[email protected] conf]# svnserve -d -r /u02/svn

-d表示後臺運行
-r 指定根目錄是 /u02/svn
[[email protected] conf]# ps -ef | grep svn

root 4592 1 0 18:04 ? 00:00:00 svnserve -d -r /u02/svn
root 4594 3709 0 18:04 pts/1 00:00:00 grep svn
(2)停止SVN服務:
ps -aux |grep svn
kill -9 進程殺掉

本文轉自:https://my.oschina.net/jast90/blog/382688

ubuntu下 SVN 服務器搭建及使用