1. 在VirtualBox虛擬機中安裝好Win2003系統,打好升級補丁。apache
2. 防火牆設置:添加3690、8080、等要設置的端口到例外設置(這個很重要,要否則外部沒法訪問你的這些端口對應的服務)。服務器
3. 下載Apache2.2.22 (httpd-2.2.22-win32-x86-openssl-0.9.8t.msi),安裝到 D:\apache2.2svn
4. 下載svn-win32-1.7.3.zip,解壓到D:\svn\svn_server工具
5. 建立SVN的倉庫根目錄D:\svn\svn_repository,在D:\svn\svn_repository下分別建repo1和repo2兩個倉庫目錄。ui
6. 下載SVN的客戶端操做工具:TortoiseSVN-1.7.5.22551-win32-svn-1.7.3.msi和SVN服務安裝工具SVNService加密
7. 將SVNService.exe複製到D:\svn\svn_server\bin中,用cmd進入到該目錄,而後使用命令:spa
SVNService -install -d -r D:\svn\svn_repository安裝好svn服務(更改時用SVNService -setup -d -r c:\otherplace\svnrepo),此時SVN的監聽目錄設爲了D:\svn\svn_repositoryserver
8. 建立真正的SVN創庫:進入到D:\svn\svn_repository\repo1,使用TortoiseSVN在該目錄 ip
中執行建立SVN倉庫的操做(Create repository here)來建立真正的倉庫。用一樣的方法ssl
在repo2中進行建庫。
9. 對數據倉庫進行統一設置:(1)在D:\svn\svn_repository下建立passwd 用戶賬號的密碼
文件和建立autzh倉庫受權文件 (都留它空白)。
(2)進入repo1和repo2中的conf目錄,刪除裏面的passwd
和authz文件,對其中的svnserve.conf文件進行設置:
anon-access = none #意爲未經受權,不能讀定
auth-access = write #受權後可讀可寫
password-db = ../../passwd #引用上兩目錄中的passwd文件做爲用戶管理文件
authz-db = ../../authz #引用上兩目錄中的authz文件做爲用戶倉庫受權文件
10. 複製D:\svn\svn_server\bin中的mod_authz_svn.so和mod_dav_svn.so到
D:\apache2.2\modules目錄。
11. 複製D:\svn\svn_server\bin中的全部dll文件到D:\apache2.2\bin目錄(相同的覆蓋)。
12. 配置D:\apache2.2\conf中的httpd.conf文件:
(1)去除LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so這兩行前面的#號
(2)接着上兩行添加:LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
(3)在httpd.conf最後面添加兩個倉庫的訪問配置:
<Location /repo1>
DAV svn
SVNPath "D:\svn\svn_repository\repo1"
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile "D:\svn\svn_repository\passwd"
AuthzSVNAccessFile "D:\svn\svn_repository\authz"
Require valid-user
</Location>
<Location /repo2>
DAV svn
SVNPath "D:\svn\svn_repository\repo2"
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile "D:\svn\svn_repository\passwd"
AuthzSVNAccessFile "D:\svn\svn_repository\authz"
Require valid-user
</Location>
13. 修改httpd.conf中的apache監聽端口:Listen xxxx
14. 配置passwd文件:
htpasswd -b D:\svn\svn_repository\passwd User1 123456 ,
htpasswd -b D:\svn\svn_repository\passwd User2 654321 ,
以上命令是在原有密碼文件中增長兩個用戶User1和User2,默認採用MD5加密方式
15. 配置authz文件:
[/]
*= #根目錄任何人都不可讀和寫
[repo1:/]
*= #未受權不可讀寫
User1=r #User1對該倉庫可讀,不可寫
User2=rw #User2對該倉庫可讀可寫
[repo2:/]
*=
User1=rw
User2=rw
16. 重啓SVN服務和重啓Apache服務器。
17. 經過TortoiseSVN客戶端工具,輸入http://192.168.1.101:xxxx/repo1就能訪問repo1創庫。
18.
19. A
20. A
21. A
22. A
23. A
24. A
25. A
26. aa