一、准备工作
1.下载apache2.2.8
下载的地方很多,我选择的是天空下载站 http://www.skycn.com/soft/41662.html
2.下载svn-win32-1.4.6.zip :
注意要选择 Subversion 1.4.6 Win32 binaries for Apache 2.2.x. 这款
二、安装
第一步,安装Apache2.2.8,下载后直接安装就可以了,安装过程唯一要注意的地方80端口不要被占用。
第二步,安装Subversion1.4.6,直接解压缩svn-win32-1.4.6.zip即可使用。
我安装的路径分别是: apache:D:Apache22 SVN:D:svn
二、整合
第一步,拷贝 svnbin 目录下mod_dav_svn.so,mod_authz_svn.so和libdb44.dll,intl3_svn.dll拷贝至Apache2.2modules
注意两个dll一定要拷贝过去,开始没有拷贝这两个dll文件,导致apache始终不能加载 mod_dav_svn.so
第二步,打开Apache安装目录下的httpd.conf文件,找到LoadModule dav_module modules/mod_dav.so(83行)
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
去掉这两句前面的#号 同时在这两句下面添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
第三步,建立SVN版本库根目录 我的根目录:D:svnSVNSource
第四步,在这个文件的最后,追加如下语句:
- <Location /svn>
- DAV svn
- #SVNListParentPath on
- SVNParentPath D:svnSVNSource
- </Location>
<Location /svn> DAV svn #SVNListParentPath on SVNParentPath D:svnSVNSource </Location>
第五步,创建仓库 进去svn/bin目录 执行 svnadmin create D:svnSVNSourcetest 命令执行成功之后,会在D:svnSVNSourcetest下面生成很多的文件和目录。
第六步,测试运行 重新启动Apache Server 在浏览器中输入网址: http://localhost/svn/test/这时候,看到页面显示: Revision 0: / Powered by Subversion version 1.4.6 (r19776). 安装成功,接下来将进行权限设置。
三、svn权限设置
第一步,修改上面第四步的内容为:
- <Location /svn>
- DAV svn
- #SVNListParentPath on
- SVNParentPath D:svnSVNSource
- ### apache auth begin
- # how to authenticate a user
- AuthType Basic
- AuthName "Subversion repository"
- #保存用户名和密码,这个文件需要用Apache的htpasswd工具创建
- AuthUserFile D:svnapache_authz
- Require valid-user
- ### apache auth end
- ### svn auth begin
- # our access control policy
- #保存用户访问的权限策略
- #AuthzSVNAccessFile D:Program Filessvnsvn_authz
- # authentication if necessary
- #Satisfy Any
- ### svn auth end
- </Location>
<Location /svn>
DAV svn
#SVNListParentPath on
SVNParentPath D:svnSVNSource
### apache auth begin
# how to authenticate a user
AuthType Basic
AuthName "Subversion repository"
#保存用户名和密码,这个文件需要用Apache的htpasswd工具创建
AuthUserFile D:svnapache_authz
Require valid-user
### apache auth end
### svn auth begin
# our access control policy
#保存用户访问的权限策略
#AuthzSVNAccessFile D:Program Filessvnsvn_authz
# authentication if necessary
#Satisfy Any
### svn auth end
</Location>
第二步,用htpasswd工具创建apache_authz 文件
进去apache22/bin目录 执行 htpasswd -c D:scvapache_authz test
-c 表示创建文件,然后,会提示输入两次密码,以后再加用户就不需要用-c了。
第三步, 下面建立控制用户访问权限的文件svn_authz
在D:svn中新建一个记事本文件,输入下面的内容:
- <PRE class=java name="code">[groups]
- test-developers = zxm
- everyone = @test-developers
- [SVNSource:/] //这表示,仓库SVNSource的根目录下的访问权限
- @test-developers = rw
- [SVNSource:/test] //SVNSource仓库下test目录的访问权限
- @test-developers = rw // 如果在前面加上@符号,则表示这是个群组权限设置
- </PRE>
- [groups]
- test-developers = zxm
- everyone = @test-developers
- [SVNSource:/] //这表示,仓库SVNSource的根目录下的访问权限
- @test-developers = rw
- [SVNSource:/test] //SVNSource仓库下test目录的访问权限
- @test-developers = rw // 如果在前面加上@符号,则表示这是个群组权限设置
[groups] test-developers = zxm everyone = @test-developers [SVNSource:/] //这表示,仓库SVNSource的根目录下的访问权限 @test-developers = rw [SVNSource:/test] //SVNSource仓库下test目录的访问权限 @test-developers = rw // 如果在前面加上@符号,则表示这是个群组权限设置
- 好,配置完成,重新启动Apache server
好,配置完成,重新启动Apache server
在浏览器地址栏中再次输入:http://localhost/svn/test/
