1、需要先查看modules下是不是已經有mod_dav_svn.so、mod_authz_svn.so和libdb42.dll這三種文件,若沒有就代表SVN沒有安裝正常,那我們新安裝一下即可。
2、找到confhttpd.conf文件并打開,
3、并且在httpd.conf中找到下述三行:
LoadModule dav_fs_modulemodules/mod_dav_fs.so
LoadModule dav_svn_modulemodules/mod_dav_svn.so
LoadModule authz_svn_modulemodules/mod_authz_svn.so
然后把它們前面的注釋號#刪除,
4、去http://tortoisesvn.tigris.org/mod_auth_sspi.zip下載最新版的SSPI模塊,解開壓縮包后把其中的mod_auth_sspi.so文件放到modules目錄下。
5、在httpd.conf中找到行“LoadModule auth_module modules/mod_auth.so”,把“LoadModule sspi_auth_module modules/mod_auth_sspi.so”加在前一行,
6、模擬在c:svn目錄中放置各種SVN文件庫,分別為repos1、repos2…
7、在httpd.conf文件的末尾加上:
DAV svn
SVNParentPath c:/svn
AuthzSVNAccessFile c:/svn/accessfilesspi
Require valid-user
AuthType SSPI
AuthName "Subversion 文件庫"
SSPIAuth On
SSPIAuthoritative On
SSPIDomain owl-2003.owl.local
SSPIOfferBasic On
"DAV svn"表示通過Apache Web Server根目錄下的svn子目錄可以訪問"SVNParentPathc:/svn"中定義的目錄下的SVN文件庫的內容;
"AuthzSVNAccessFile c:/svn/accessfilesspi”表示"c:/svn/accessfilesspi"文件中定義了域用戶與文件庫資源權限控制的詳細信息
"SSPIDomain owl-2003.owl.local"表示在我的機器上域控制器名稱為:"owl-2003.owl.local"
AuthzSVNAccessFile定義的權限控制文件舉例
#用戶分組,用逗號分隔;用戶名區分大小寫;域用戶用全稱,即DOMAINUserName
[groups]
admins = OWLAdministrator
developers = OWLwater
docs = OWLyouwater
#管理員組擁有所有權限
[/]
@admins= rw
#開發人員可以完全控制源程序
[/myrepos]
@developers = rw
#文檔人員可以完全控制文檔
[/docs]
@docs = rw
8、保存httpd.conf,然后重新啟動Apache,用任意瀏覽器打開:http://127.0.0.1/svn/docs測試一下。最后要注意用戶名輸入時是要注意大小寫的,需要輸入域名全稱。