1. 下载
apache_2.2.8-win32-x86-openssl-0.9.8g.msi
svn-1.4.6-setup.exe 注意这个文件下载的时候,有针对apache2.0和2.2两个不同的版本,不要选错
2. 安装apache
一路next,很简单,安装完成后注意修改apache的conf/httpd.conf文件,将默认的端口80修改为其他
3. 安装subversion
执行svn-1.4.6-setup.exe,指定安装路径
安装程序会自动修改系统path路径,加入<svn解压安装路径>/bin
4. 复制Subversion文件到apche
将<svn解压安装路径>/bin下的
mod_authz_svn.so
mod_dav_svn.so
和所有的*.dll
复制到<apche安装路径>/modules下
5. 修改apache的conf/httpd.conf文件
先找到以下两行:
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
把这两行最前面的 '#' 字元刪除,然后把下面这行加到这群 LoadModule 指令的后面:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
6. 设定Apache的svn访问路径
需要修改httpd.conf,在文件最后面加上以下内容
1) 单库模式:
建立一个新库 svnadmin create svnroot
然后加入内容:
<Location /svn>
DAV svn
SVNPath G:/soft/svn/svnroot
</Location>
表示可以让任何人都可以透过 http://myserver/svn/的方式,存取位于 G:/soft/svn/svnroot 这个文件库
2)多库模式
建立多个新库:
svnadmin create svndepositorys/test
svnadmin create svndepositorys/work
<Location /svn>
DAV svn
SVNParentPath G:/soft/svn/svndepositorys
</Location>
表示可以让任何人都可以透过 http://myserver/svn/<文件库名称> 的方式,存取位于 G:/soft/svn/svndepositorys 这个目录以下的所有文件库
如果 Apache HTTP Server 无法启动,请依下列步骤检查:
1. 检查 Subversion 的路径是否有在系统的 %PATH% 环境变量里面。
2. 检查你加入 httpd.conf 里的项目是否正确,记住 mod_dav_svn.so 和 mod_authz_svn.so 必须在其他 mod_dav*.so 模组之后载入。
对于权限控制问题:修改上述的<Location /svn></Location>
<Location /svn>
DAV svn
#SVNListParentPth on
SVNPath F:/svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile "F:/svnconf/passwd"
AuthzSVNAccessFile "F:/svnconf/svnaccessfile.access"
Require valid-user
</Location>
其中AuthUserFile存放的是 user/pass 对,可以用apache的htpasswd -c password <username>命令生成
AuthzSVNAccessFile 为权限分角色,例如:
[groups]
admin = admin
test = zhangchuan
readonly = testabc
[/]
@admin = rw
@test = r
[/zcTest]
@test = rw
@readonly = r
其中[groups] 下面为角色对应授权给哪些用户
下面的为哪个目录开放给哪个角色
大体就这样!