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