基於Apache Http Server和SVN Server的版本管理方案(一)

目標:
1、在windows 2003 server上建立公司版本服務器
2、要求支持多個版本庫,每個版本庫需要有獨立的用戶權限管理
3、要求接入方式可採用http ssl方式
 
使用的各軟件如下:
1、Apache  2.0.59 no ssl版本,由於美國出口管制,Apache的可下載版本不能集成ssl。
     注意爲了和下面的svn server配合,apache的版本只能是2.0.x
2、Svn Server 1.4.3
3、Tortoise SVN 1.4.3,有中文語言包,需要的可以下載。
4、Open *** 2.0.9,主要是用來製作證書用的
 
從網上下載安裝以上四個軟件。現在開始配置:
1、建立SVN庫目錄。我的目錄是F:\SVNROOT,在SVNROOT目錄下建立TestLib子目錄,然後右鍵點擊TestLib目錄,通過TortoiseSVN的菜單創建版本庫,TortoiseSVN提供了“本地文件系統”和“berkeley數據庫”兩種方式,用任何一種建立版本庫都是可以的。
 
2、打開F:\SVNROOT\TestLib\conf目錄下的svnserve.conf文件,找到
# anon-access = read
# auth-access = write
將之改爲:
  anon-access = none
  auth-access = write
這表示我們不允許TestLib庫匿名訪問,同時寫庫也必須要授權訪問。
 
3、建立你的訪問TestLib的第一個用戶,運行:
"C:\Program Files\Apache Group\Apache2\bin\htpasswd" -cm "F:/SVNROOT/TestLib/conf/svn-auth-file.ini" user1
輸入密碼後即可。
 
如果要建立更多用戶,注意將 -cm 選項改爲 -m
 
4、更新Apache httpd.conf參數。打開
C:\Program Files\Apache Group\Apache2\conf\httpd.conf文件,找到:
#<Location /server-info>
#    SetHandler server-info
#    Order deny,allow
#    Deny from all
#    Allow from xxxx.com
#</Location>
在其後添加:
<Location /TestLib>
  DAV svn
  SVNPath F:/SVNROOT/TestLib
  AuthType Basic
  AuthName "Subversion repository"
  AuthUserFile F:/SVNROOT/TestLib/conf/svn-auth-file.ini
  Require valid-user
</Location>
在Location中還有一個 AuthzSVNAccessFile 參數,是可以用來控制svn-auth-file.ini
中的用戶read、write權限的,之後我再單獨介紹。
 
5、重啓Apache Server。windows桌面右下角有Apache Monitor圖標,通過它就可以重啓Apache。
 
6、爲了驗證TestLib版本庫是否已經可以使用,你可以在另外一臺PC上,安裝TortoiseSVN。然後隨便打開一個文件夾,在空白處點右鍵,執行彈出菜單上的“TortoiseSVN\版本庫瀏覽器”功能,輸入[url]http://22.144.20.115/TestLib[/url],其中22.144.20.115是我這邊的Server IP,你需要將之改爲自己的Server IP,確定後,輸入在第三步建立的用戶名和密碼,如果能成功進入,就表示TestLib版本庫可以使用了。
 
根據以上的介紹,你完全可以再建立出N個不同的版本庫來。
 
如何配置以[url]https://22.144.20.115/TestLib[/url]方式通過證書來訪問SVN版本庫,將在以後再介紹。
 
(待續)

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