一、安裝SVN服務器,到
http://subversion.apache.org/packages.html
Subversion for Windows
下載windows版的SVN,並安裝,在命令行下運行svn命令,以下因此,則svn服務器安裝成功。
C:\Documents and Settings\Administrator>svn
使用「svn help」獲得用法。
二、建立倉庫Repository:運行命令 (
注意:單倉庫和多倉庫模式——可參考文檔SVN教程)
C:\Documents and Settings\Administrator>svnadmin create G:\svn
該命令會在G盤下自動建立一個名字爲svn的文件夾,該文件中的內容如非必要,不要手動修改,其內容是由svn自動維護的,各自得用途:
conf裏文件夾中都是這個倉庫的配置文件。
db是真正用來存儲數據版本的地方。
hooks文件夾中的內容用以定義某些動做觸發的hook腳本。
locks中的文件用於在某些分支或者文件上加鎖。
三、建立用戶:進入conf目錄(本例中是G:\svn\conf),打開svnserve.conf文件,找到以下內容:
[general]
### These options control access to the repository for unauthenticated
### and authenticated users. Valid values are
"write",
"read",
### and
"none". The sample settings below are the defaults.
# anon-access = read
# auth-access = write
### The password-db option controls the location of the password
### database file. Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
# password-db = passwd
將
# anon-access = read
# auth-access = write
# password-db = passwd
中的註釋去掉修改成
anon-access = read
auth-access = write
password-db = passwd
這樣就可使用passwd文件中的用戶了。
打開passwd(和svnserve.conf在同目錄下),能夠看到,建立好的兩個用戶都被註釋掉了,能夠修改者兩個用戶,也能夠新建本身的用戶,這裏我新建立了一個本身的用戶,passwd文件被修改成:
[users]
# harry = harryssecret
# sally = sallyssecret
admin=admin html
四、用戶權限配置
在每一個倉庫下:有一個conf文件夾,下面有三個文件
svnserve.conf (svn配置文件)
authz (受權)
passwd (認證)
1)先配置svn配置文件----- svnserve.conf
anon-access = none 禁用匿名用戶訪問(必須提供身份) 三種:none、read、write
password-db = passwd 開啓認證功能(到passwd文件裏認證)
authz-db = authz 開啓受權功能(到authz文件裏受權)
2)再配置認證文件------- passwd
[users]
# harry = harryssecret
# sally = sallyssecret
用戶名 = 密碼
xiaoqiang = 111
xiaoming = 222
xiaozi = 333
3)配置受權文件-------- authz
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[groups]
group1=人員A,人員B
group2=人員C
[倉庫名:/]
@group1 = rw
@group2 = r
* =
[groups]
mygroup1=xiaoqiang,xiaoming
mygroup2=xiaozi
[public:/]
@mygroup1 = rw
@mygroup2 = r
* =
xiaoqiang和xiaoming能夠對public目錄文件下載和提交;
xiaozi只能該目錄文件下載; shell
五、啓動SVN服務器,運行命令svnserve -d -r G:\svn,就能夠啓動服務
C:\Documents and Settings\Administrator>svnserve -d -r G:\svn
-d表示後臺運行,-r表示以超級管理員的方式運行,G:\svn是指SVN所管理的倉庫。
六、配置SVN服務器開機啓動
打開一個DOS窗口,在任意目錄下執行下面的命令:
//在命令中的每個等號後面都要有一個空格不然命令執行失敗
sc create svnserve binPath= "
\"
C:\Program Files\Subversion\bin\svnserve.exe
\" --service --root
d:\svnstore" displayname= "SVNServe" 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表示開機後自動運行。
安裝服務後,svnserve要等下次開機時纔會自動運行。
若要卸載svn服務,則執行 sc delete svnserve 便可
實例: apache
啓動服務:
svnserve -d -r F:\Subversion\myapp
開機啓動服務:
sc create svnserve binPath= "\"F:\Subversion\server\bin\svnserve.exe\" --service --root F:\Subversion\myapp" displayname= "SVNServe" depend= Tcpip start= auto
刪除啓動啓動:
sc delete svnserve
這樣SVN的配置就完成了,到 http://tortoisesvn.net/downloads.html 下載一個SVN客戶端,就可使用了。 windows
另附:SVN服務器開機啓動說明 建立autoRunSVN.bat文件,內容是: sc create MySVNServer binpath= "\"C:\Program FilesSubversion\svnserve\svnserve\" --service -r H:\homerepos" displayname= "SVNService" depend= Tcpip start= auto pause 注意之處: (1)sc是windows自帶的服務配置程序,MySVNServer 是服務的名稱,彷佛沒什麼用。 (2)參數binPath表示svnserve可執行文件的安裝路徑,因爲路徑中的"Program Files"帶有空格,所以整個路徑須要用雙引號引發來。而雙引號自己是個特殊字符,須要進行轉移,所以在路徑先後的兩個雙引號都須要寫成\" 。 (3)--service參數表示以windows服務的形式運行,--r指明svn repository的位置,service參數與r參數都做爲binPath的一部分,所以與svnserve.exe的路徑一塊兒被包含在一對雙引號當中,而這對雙引號不須要進行轉義。 (4)displayname表示在windows服務列表中顯示的名字, depend =Tcpip 表示svnserve服務的運行須要tcpip服務,start=auto表示開機後自動運行。安裝服務後,svnserve要等下次開機時纔會自動運行。 (5)binPath的等號前面無空格,等號後面有空格 displayname depend start也都同樣 service前面是--,不是- ,而r前面是- (6)若要卸載svn服務,則執行 sc delete svnserve 便可。 (7)從「sc」到「auto」是在同一個命令sc,必須寫在同一行。 建立成功後,能夠在運行中鍵入service.msc察看系統服務,找到SVNService項,查看這項服務的屬性,可使用Windows提供的界面操做SVNService服務了。 也可使用命令行啓動、中止服務。 啓動服務: C:\>net start svnservice SVNService 服務正在啓動 . SVNService 服務已經啓動成功。 中止服務: C:\>net stop svnservice SVNService 服務正在中止. SVNService 服務已成功中止。 刪除建立的服務 C:\>sc delete svnservice