Windows下架設SVN服務器並設置開機啓動

一、安裝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
相關文章
相關標籤/搜索