windows server 2003 svn 服務器安裝及配置(無Apache)

 SVN,不用介紹了,一款相當不錯的版本控制服務器,跨於多個平臺之上。以前在Linux下裝過一個,配置相對複雜一點,但是windows下的服務器安裝比較簡單。具體過程如下:
1、安裝服務器。我選擇了比較好用的VisualSVN-Server,現在版本是2.1.2

2、客戶端安裝TortoiseSVN,現在版本1.6.8,以及其LanguagePack,都可以下到。在安裝完客戶端後,就可以在文件夾右鍵的菜單裏面看到版本控制的信息了。對,就是這麼好用,它將windows的文件夾進行了重載,受版本管理的文件夾都會有相應的圖標,相應好認。
在安裝完語言包後,右鍵進行設置,把語言設置爲中文即可。
注意:在服務器端同時安裝客戶端是爲了配置及使用服務器方便一些。並不一定要裝。

3、進行服務器端的配置。
啓動服務器:可以選擇將其安裝爲系統服務,也可以建立一個批處理文件,將其拖到系統啓動下。
下面以批處理文件爲例:
cd H:\Program Files\VisualSVN Server\bin\
svnserve.exe -d -r G:\ServerData\Data\SVN\Repositories\svnrepos\
該路徑爲目前的版本庫位置。運行該批處理文件,彈出的命令窗口不要關閉。現在可以看到3690端口已經被監聽了,說明啓動成功了。

系統服務的安裝方法:
sc create svnservice binpath= "H:\Program Files\VisualSVN Server\bin\svnserve.exe --service -r G:\ServerData\Data\SVN\Repositories\" displayname= "SVNService" depend= Tcpip start= auto
但是不一定能成功。

精細的訪問權限設置
在版本控制中,權限配置是相當重要的,SVN服務器採用authz文件來進行權限配置。首先在某個文件夾下建立版本庫(右鍵中有哦~~~),然後對其下的conf文件夾內的一些文件進行配置。
文件:svnserve.conf,該文件對SVN進行總體配置,包括是否使用帳號密碼,使用使用authz權限控制方式,默認的訪問權限等等。
我的文件內容如下(我去除了被註釋掉的內容):
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz.public
文件:passwd,該文件中保存了用戶的帳號和密碼,看看就會寫了,不多說。
文件:authz,該文件用於配置精細的訪問權限。
這裏有兩種情況:
A:-r直接指定到版本庫(稱之爲單庫svnserve方式)
比如,有一個庫project1,位於D:\svn\project1
使用以下命令啓動svnserve
  1. svnserve -d -r D:\svn\project1
在這種情況下,一個svnserve只能爲一個版本庫工作
authz文件如果配置成下面這樣就是錯的,
  1. [groups]
  2. admin=user1
  3. dev=user2
  4. [project1:/]
  5. @admin=rw
  6. @doc=r
應該配置成
  1. [groups]
  2. admin=user1
  3. dev=user2
  4. [/]
  5. @admin=rw
  6. @doc=r
因爲[project1:/]表示庫project1的根目錄,而按上面的啓動參數,是沒有庫的概念的。
使用類似這樣的URL:svn://192.168.0.1/ 即可訪問project1

B:-r指定到版本庫的上級目錄(稱之爲多庫svnserve方式)
同樣,有一個庫project1,位於D:\svn\project1
如果使用以下命令啓動svnserve
  1. svnserve -d -r D:\svn
這種情況,一個svnserve可以爲多個版本庫工作,
這時如果想限制指定庫的指定目錄,就應該指定具體的庫,像這樣
  1. [groups]
  2. admin=user1
  3. dev=user2
  4. [project1:/]
  5. @admin=rw
  6. @doc=r
如果此時你還用[/],則表示所有庫的根目錄,同理,[/src]表示所有庫的根目錄下的src目錄
使用類似這樣的URL:svn://192.168.0.1/project1 即可訪問project1
這樣的URL:svn://192.168.0.1/project2 即可訪問project2

2,對中文目錄進行權限控制時,沒有將權限文件authz改爲utf-8格式。

svn對於非英文文件名和目錄名使用utf-8格式編碼處理,要對中文目錄進行正確控制,
應該使用無BOM的utf-8格式,如何將默認的文件轉爲utf-8,
我使用的是UltraEdit的菜單"ASCII to UTF-8 (Unicode Editing)"。在UltraEdit的配置中,可以設置有無BOM
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章