服務(wù)器端配置說明
1,軟件下載
* 下載Subversion服務(wù)器程序。
到官方網(wǎng)站 的下載二進(jìn)制安裝文件,目前可以下載svn-1.4.4-setup.exe。
下載地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
此版本支持Apache2.0.x
2,服務(wù)器和客戶端安裝
* 服務(wù)器安裝,直接運(yùn)行svn-1.4.4-setup.exe,根據(jù)提示安裝即可,這樣我們就有了一套服務(wù)器可以運(yùn)行的環(huán)境。(由于subversion已有自帶的svnserver服務(wù)器,如果需要使用Apache服務(wù)器的特性則再將其集成到apache上即可,此處我們暫時使用它自帶的服務(wù)器)
(注:apache的配置在文檔最后邊的附錄中可以找到)
* 安裝TortoiseSVN,同樣直接運(yùn)行TortoiseSVN-1.4.4.9706-win32-svn-1.4.4.msi按照提示安裝即可,不過最后完成后會提示是否重啟,其實(shí)重啟只是使svn工作拷貝在windows中的特殊樣式生效,與所有的實(shí)際功能無關(guān),為了立刻看到好的效果,還是重新啟動機(jī)器。
3,建立版本庫(Repository)
運(yùn)行Subversion服務(wù)器需要首先要建立一個版本庫(Repository),可以看作服務(wù)器上存放數(shù)據(jù)的數(shù)據(jù)庫,在安裝了Subversion服務(wù)器之后,可以直接運(yùn)行,如:
svnadmin create E:\svn\sise_repository
就會在目錄E:\svn\sise_repository下創(chuàng)建一個版本庫。
我們也可以使用TortoiseSVN圖形化的完成這一步:
在目錄E:\svn\sise_repository下"右鍵->TortoiseSVN->Create Repository here...“, 然后可以選擇版本庫模式, 這里使用默認(rèn)即可, 然后就創(chuàng)建了一系列目錄和文件。
如圖所示:
在彈出的數(shù)據(jù)倉庫類型我們選擇默認(rèn)的FSFS,點(diǎn)擊OK。
4,配置用戶和權(quán)限
1.來到E:\svn\sise_repository\conf目錄,修改svnserve.conf:
# auth-access = write
# password-db = passwd
改為:
auth-access = write //通過驗(yàn)證的用戶才能有讀寫的權(quán)限
password-db = passwd //驗(yàn)證用戶所使用的文件passwd
2.然后修改同目錄的passwd文件,去掉下面三行的注釋:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后變成:
[users]
harry = 123456 //以名值的方式存儲用戶名和密碼 “用戶名=密碼”
sally = 654321
3.修改同目錄下的authz文件來設(shè)置訪問權(quán)限
在[groups]下創(chuàng)建用戶組例如這里是
[groups]
Admin=admin
Developer=developer1,developer2
以上便創(chuàng)建了兩個用戶組,分別是admin和developer和其相應(yīng)的組的成員。
設(shè)置訪問路徑
[/]
*=r
@admin=rw
如上所示,所有的用戶對整個svn目錄下的文件都可以讀取,admin組有讀寫的權(quán)限(“*”代表所有的用戶,r代表讀 w代表寫)
可設(shè)置具體的版本庫的訪問權(quán)限如下:
[版本庫A:/]
@developer=rw
如上設(shè)置,表示所有developer組的成員對于“版本庫A”下邊的所有文件都有讀寫的權(quán)限
5,運(yùn)行獨(dú)立服務(wù)器
在任意目錄下運(yùn)行:(如果提示找不到svnserve則檢查,%Subversion安裝目錄%\bin是否已添加至環(huán)境變量PATH)
svnserve -d -r E:\svn\sise_repository\
我們的服務(wù)器程序就已經(jīng)啟動了。
(注:可通過執(zhí)行 svnserve –help 來得到svnserve的幫助信息)
附:將svnserve安裝為系統(tǒng)服務(wù)
sc create svnserve binpath= "C:\developertools\Subversion\bin\svnserve.exe --service --root D:\svn\sise_repository" displayname= "Subversion" depend= Tcpip start= auto
另外還有兩點(diǎn)需要小心處理。首先,如果路徑中包括空格,一定要用“\”處理“"”號,例如上面的例子中如果svnserve.exe在“c:\program files\subversion\”中,則命令應(yīng)該寫為“binpath= "\"c:\program files\subversion\bin\svnserve.exe\"”(“”中的內(nèi)容),整個命令如下,紅色部分是改變部分:
sc create svnservice
binpath= "\" C:\developertools\Subversion\bin\svnserve.exe \" --service -r D:\svnroot"
displayname= "Subversion" depend= Tcpip start= auto
其次,sc對選項(xiàng)的格式還有要求,例如“depend= Tcpip”不能寫為“depend = Tcpip”或“depend=Tcpip”,也就是“=”前不能有空各,而后面必須有空格。
如果服務(wù)安裝的有問題,你可能需要刪除服務(wù)。要刪除前面添加的服務(wù),只需要運(yùn)行"sc delete svnservice","svnservice"就是我們創(chuàng)建服務(wù)時使用的名字。