[轉]SVN服務器端配置說明

服務器端配置說明
1,軟件下載
* 下載Subversion服務器程序。
到官方網站 的下載二進制安裝文件,目前可以下載svn-1.4.4-setup.exe。
下載地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
此版本支持Apache2.0.x

2,服務器和客戶端安裝
* 服務器安裝,直接運行svn-1.4.4-setup.exe,根據提示安裝即可,這樣我們就有了一套服務器可以運行的環境。(由於subversion 已有自帶的svnserver服務器,如果需要使用Apache服務器的特性則再將其集成到apache上即可,此處我們暫時使用它自帶的服務器)
(注:apache的配置在文檔最後邊的附錄中可以找到)
* 安裝TortoiseSVN,同樣直接運行TortoiseSVN-1.4.4.9706-win32-svn-1.4.4.msi按照提示安裝即可,不 過最後完成後會提示是否重啓,其實重啓只是使svn工作拷貝在windows中的特殊樣式生效,與所有的實際功能無關,爲了立刻看到好的效果,還是重新啓 動機器。

3,建立版本庫(Repository)
運行Subversion服務器需要首先要建立一個版本庫(Repository),可以看作服務器上存放數據的數據庫,在安裝了Subversion服務器之後,可以直接運行,如:
svnadmin create E:/svn/sise_repository
就會在目錄E:/svn/sise_repository下創建一個版本庫。
我們也可以使用TortoiseSVN圖形化的完成這一步:
在目錄E:/svn/sise_repository下"右鍵->TortoiseSVN->Create Repository here...“, 然後可以選擇版本庫模式, 這裏使用默認即可, 然後就創建了一系列目錄和文件。
如圖所示:


在彈出的數據倉庫類型我們選擇默認的FSFS,點擊OK。



4,配置用戶和權限
1.來到E:/svn/sise_repository/conf目錄,修改svnserve.conf:
# auth-access = write
# password-db = passwd
改爲:
auth-access = write //通過驗證的用戶纔能有讀寫的權限
password-db = passwd //驗證用戶所使用的文件passwd

2.然後修改同目錄的passwd文件,去掉下面三行的註釋:
# [users]
# harry = harryssecret
# sally = sallyssecret
最後變成:
[users]
harry = 123456 //以名值的方式存儲用戶名和密碼 “用戶名=密碼”
sally = 654321

3.修改同目錄下的authz文件來設置訪問權限
在[groups]下創建用戶組例如這裏是
[groups]
Admin=admin
Developer=developer1,developer2
以上便創建了兩個用戶組,分別是admin和developer和其相應的組的成員。
設置訪問路徑
[/]
*=r
@admin=rw
如上所示,所有的用戶對整個svn目錄下的文件都可以讀取,admin組有讀寫的權限(“*”代表所有的用戶,r代表讀 w代表寫)
可設置具體的版本庫的訪問權限如下:
[版本庫A:/]
@developer=rw
如上設置,表示所有developer組的成員對於“版本庫A”下邊的所有文件都有讀寫的權限

5,運行獨立服務器
在任意目錄下運行:(如果提示找不到svnserve則檢查,%Subversion安裝目錄%/bin是否已添加至環境變量PATH)
svnserve -d -r E:/svn/sise_repository/
我們的服務器程序就已經啓動了。
(注:可通過執行 svnserve –help 來得到svnserve的幫助信息)
附:將svnserve安裝爲系統服務
sc create svnserve binpath= "C:/developertools/Subversion/bin/svnserve.exe --service --root D:/svn/sise_repository" displayname= "Subversion" depend= Tcpip start= auto

另外還有兩點需要小心處理。首先,如果路徑中包括空格,一定要用“/”處理 “"”號,例如上面的例子中如果svnserve.exe在“c:/program files/subversion/”中,則命令應該寫爲“binpath= "/"c:/program files/subversion/bin/svnserve.exe/"”(“”中的內容),整個命令如下,紅色部分是改變部分:

sc create svnservice
binpath= "/" C:/developertools/Subversion/bin/svnserve.exe /" --service -r D:/svnroot"
displayname= "Subversion" depend= Tcpip start= auto

其次,sc對選項的格式還有要求,例如“depend= Tcpip”不能寫爲“depend = Tcpip”或“depend=Tcpip”,也就是“=”前不能有空各,而後面必須有空格。
如果服務安裝的有問題,你可能需要刪除服務。要刪除前面添加的服務,只需要運行"sc delete svnservice","svnservice"就是我們創建服務時使用的名字。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章