SVN windows平臺服務端架設

 1.SVN服務端的配置: html

安裝subversion (Setup-Subversion-1.7.6.msi),安裝到C:\Program Files\Subversion\
 
2.建立SVN存儲庫(repository) 
創建版本庫,創建的是多庫,先在D盤創建一個文件夾svn,而後在這個文件夾裏創建版本庫,首先建立一個版本庫的名稱爲:repository
創建版本庫的方法: 
 
svnadmin create D:\SVN\repository 
 
repository建立完畢後會在目錄下生成若干個文件和文件夾:
 
db目錄就是全部版本控制的數據文件
hooks目錄放置hook腳本文件的目錄
locks用來放置Subversion文件庫鎖定數據的目錄,用來追蹤存取文件庫的客戶端
format文件是一個文裏面只放了一個整數,表示當前文件庫配置的版本號
 
 
3.配置SVN服務器 
配置服務器的地方就是你所創建版本庫的地方
打開D:\SVN\repository /conf/svnserve.conf
找到下面的句子: 
 
[general] 
password-db = passwd 
anon-access = none 
auth-access = write 
authz-db = authz 
realm = My First Repository 
 
去之每行開頭的#,其中第二行是指定身份驗證的文件名,即passwd文件anon-access = none 是匿名用戶不能訪問,必需要有用戶名和密碼。(注意:必定要注意格式去掉註釋後要頂格不能有空) 一樣打開passwd文件,將 
[users]
# harry = harryssecret
# sally = sallyssecret
chenzongliang = 123521
chenqiang = 12365
viong = 12354
 
格式爲「用戶名 = 密碼」,如可插入一行:mm = mm,即爲系統添加一個mm,密碼爲mm的用戶.(注意頂格寫不要有空隙)。 
 
4.運行SVN服務器 
 
單庫下運行服務器的方式: 
 
SVN服務器的執行以下命令: 
svnserve --daemon --root D:\SVN\repository(此時svnserve只能爲一個版本庫工做) 
能夠簡寫爲:svnserve -d -r D:\SVN\ repository (注意:這是臨時打開的服務,命令執行後不能關閉窗口) 
 
用後臺服務的方式能夠設置開機自動執行,執行語句爲: 
 
sc create SVNService binpath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" --service -r D:\SVN\repository "displayname= "SVNService" depend= Tcpip start= auto
 
 
多庫下運行服務器的方式: 
 
SVN服務器的執行以下命令: 
 
svnserve -d -r D:\SVN (此時svnserve能夠爲多個版本庫工做) 
用後臺服務的方式能夠設置開機自動執行,執行語句爲: 
 
sc create SVNService binpath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" --service -r D:\SVN" displayname= "SVNService" depend= Tcpip start= auto
 
 
5.用戶客戶端訪問 用戶訪問的地址能夠寫成:svn://IP地址/版本庫名稱 
SVN服務端權限的制定 
單庫下設置權限: 
chenzongliang,chenqiang是repository的管理者,對repository有徹底權限 
viong對repository只有讀權限 
 
 
修改 D:\svn\Repository\conf\authz
 
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = chenzongliang,chenqiang
yunwei = viong
 
[/]
* = r
@admin = rw
 
對應的組及組的用戶: 
group_CMMI:jsm 
group_wjjc:wrl 
group_xczh:sb 
 
 
關於中文目錄,也是沒有問題的,只是注意要把authz文件轉化爲UTF-8無B 式,UltraEdit裏顯示的文件格式爲U8- DOS ,具體的作法是UltraEdit打開authz文件,而後選擇「文件->轉換->ASCII轉UTF-8」,而後保存。 
利用UltraEdit咱們能夠將BOM 去掉。方法是:首先利用「UTF-8 TO ASCII」 件轉換成本地編碼,一般是GB2312碼,而後再使用「ASCII TO UTF-8(UN Editing)」來轉換到 UTF-8 便可
 
 
安裝服務
 
sc create SVNService binpath= "\"C:\Program Files\Subversion\bin\svnserve.exe\" --service -r D:\svn" displayname= "SVNService" depend= Tcpip start= auto
 
注意: 
sc是windows自帶的服務配置程序,參數binPath表示svnserve可執行文件的安裝路徑,因爲路徑中的"Program Files"帶有空格,所以整個路徑須要用雙引號引發來。而雙引號自己是個特殊字符,須要進行轉移,所以在路徑先後的兩個雙引號都須要寫成\",--service參數表示以windows服務的形式運行,--root指明svn repository的位置,service參數與root參數都做爲binPath的一部分,所以與svnserve.exe的路徑一塊兒被包含在一對雙引號當中,而這對雙引號不須要進行轉義
 
displayname表示在windows服務列表中顯示的名字,不是任務管理器中的名字。 depend= Tcpip 表示svnserve服務的運行須要tcpip服務,start= auto表示開機後自動運行。若要卸載svn服務,則執行 sc delete svnserve 便可
 
sc對選項的格式還有要求,例如「depend= Tcpip」不能寫爲「depend =  Tcpip」或「depend=Tcpip」,也就是「=」前不能有空格,然後面必須有空格
 
刪除服務
sc delete Svnservice
 
修改配置
sc config Svnservice binpath= "d:\subversion\bin\svnserve.exe --service -r E:\projectversion" displayname= "Svnservice" depend= Tcpip
 
設置爲自啓動
sc config Svnservice start= auto
 
啓動服務
net start Svnservice
 
客戶端:
客戶端版本 TortoiseSVN-1.7.8.23174-win32-svn-1.7.6.msi,安裝完成後,在其它盤建個文件夾而後右擊檢查,提示輸入帳號密碼就ok
 
 
 
能夠參考如下兩篇文章: 
http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html
http://hi.baidu.com/davice_li/item/b356fe5f0a852e0be6c4a5a1
相關文章
相關標籤/搜索