四步輕松啟動svnserve服務
本節向大家描述一下如何快速啟動svnserve服務 ,從四個方面來講解, 希望通過本節的介紹大家能夠掌握啟動svnserve服務的方法,下面就讓我們一起來學習啟動svnserve服務吧。
Subversion 使用手記-啟動svnserve服務
svnserve 是一個輕量級的服務, 使用自定義的協議通過TCP/IP與客戶端通訊。客戶端通過由 svn:// 或者 svn+ssh:// 開始的URL訪問svnserve服務器。
1.啟動服務器
端口監控(inetd)模式
如果你打算用端口監控來啟動處理客戶的訪問請求的進程,你可以通過傳入參數-i來啟動:
svnserve -i
當使用-i參數啟動服務的時候,svnserve服務 通過stdin和stdout用自定義協議和客戶端
通訊。同時服務偵聽3690端口。
2.獨立端口監控進程
使用參數-d啟動服務作為一個獨立的端口監控進程。
svnserve -d
當運行svnserve在獨立端口監控模式時,你可以使用--listen-port=和--listen-host=參數來自定義需要的端口和主機名稱。當前模式默認的端口是3690。
當然,也有第三種方法啟動svnserve,也就是使用“隧道模式”,使用-t參數啟動服務。這個模式要求遠程服務程序,如RSH或SSH,已經成功驗證用戶,并且使用已經校驗的用戶啟動一個屬于該用戶的svnserve進程。當使用該模式提供服務時,要確認啟動的用戶帳戶具備對Repository的讀/寫權限。
3.設置項目目錄
當svnserve開始運行時,它將會暴露所有的Repository到網絡上。不過,當客戶端需要獲取一個Repository的內容時,需要指定Reopsitory的絕對路徑。例如:一個Repository放在文件路徑
C:/Project Repository/Project1
那么當客戶端訪問時,需要指定絕對路徑:
svn://host/C:/Project Repository/Project1
所以,為了增加保密性,你可以使用參數-r指定需要暴露的Repository的路徑,當用戶訪問時,只需指定Repository的名稱即可。例如上面的Repository,當啟動服務時,使用如下的方法:
svnserve -d -r C:/Project Repository
那么當客戶端訪問時,則使用
svn://host/Project1
就可以獲取數據了。啟動svnserve服務 中的設置項目目錄介紹完畢,我們再來看一下內置的驗證和授權問題。
4.內置的驗證和授權
當客戶端連接到一個svnserve進程時,下面的流程就會觸發:
1、客戶選擇一個指定的Repository;
2、服務處理Repository的配置文件 conf/svnserve.conf文件,并且開始執行在其中定義的所有驗證和授權策略;
3、依賴與情形和授權策略:
a)客戶端也許允許匿名訪問而不需要驗證,或者
b)客戶但也許需要在任何時候被要求驗證,或者
c)假如處于"隧道模式"中,客戶端將聲明自己已經可以被外部驗證。
很顯然,如上所說,用戶文件是一個名為svnserve.conf的,放在conf目錄下的文件。
現在我們來看看如何配置這個文件:
這個配置文件放置在Repository的目錄中的conf目錄下,它有兩個節點:
[general]
[users]
其中,[general]的配置信息有:
anon-access = read
auth-access = write
其中表示對于驗證有效的以及沒通過驗證的用戶可以做什么事情。分別有read, write和none
[users]的標簽的配置內容有:
USERNAME = PASSWORD
password-db = passwd
realm = My First Repository
其中表示,用戶名對應的密碼是什么,或者指定一個存儲用戶名和密碼的文件的相對或絕對路徑以及指定了Repository的驗證領域。如果兩個Repository有相同的驗證領域,那么它們應該有相同的密碼數據庫,反之亦然。默認的領域就是指向當前的Repository的路徑,與服務器的Repository的根目錄相關。本節關于啟動svnserve服務 的內容介紹到這里。
【編輯推薦】
- SVN服務器在SVNServer和Apache中搭建之技術分享
- 技術分享 SVNServe如何建立SVN服務
- 兩種方法實現Windows系統服務自動運行SVN
- 名師課堂:Eclipse中安裝SVN版本控制插件方法詳解
- 學習筆記: 如何刪除SVN版本控制信息