1 软件下载:
在http://httpd.apache.org/download.cgi,下载apache
因我们使用APMServ 5.2.0,所以apache已有.版本Apache 2.2.3
在 http://subversion.tigris.org/,下载:
http://nchc.dl.sourceforge.net/project/win32svn/1.6.17/Setup-Subversion-1.6.17.msi
在http://tortoisesvn.net/downloads,下载:
备注:apache与svn安装时,需要注意一点版本是否兼容,注意查下版本匹配情况;
2 安装svn服务端
安装svn服务端,按照提示默认安装,也可以自定义安装目录,如我安装在D:\Program Files\Subversion下;
3 安装svn客户端及汉化包
安装svn安户端及汉化包,按照提示安装即可,如我安装在D:\Program Files\TortoiseSVN
需重启电脑
4 集成svn和apache
将Svn环境下bin目录中的mod_dav_svn.so和mod_authz_svn.so复制到Apache环境下modules目录下;
配置apache环境下的httpd.conf,去掉前面的#号;
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
将下面几行添加到LoadModule
部分的最后,注意svn的环境目录更改,需符号要求;
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
保存重启下apache.
我安装时提示不能加载 cannot load mod_dav_svn.so
原因是缺少dll库文件
官方的FAQ回答http://subversion.apache.org/faq.zh.html#mod_dav_svn-win32
—————————————————–
这个错误信息在这里有点误导人。通常这样的错误是因为Apache无法正确加载mod_dav_svn.so模块所依赖的模块。如果当前Apache是以服务的形式运行的,那么它的path环境变量和普通用户的并不相同。请确认libdb4*.dll、intl3_svn.dll、 libeay32.dll还有ssleay32.dll都可以在\Apache\bin或者\Apache\modules目录中找到。如果没有找到,你可以从Subversion的安装目录下拷贝一份。
如果这样还解决不了问题的话,那么你可以使用类似Dependency Walker这样的工具来查看mod_dav_svn.so库的依赖性,看是否还有尚未解决的依赖性问题存在。
——————————————————-
复制
libdb4*.dll, intl3_svn.dll, libeay32.dll and ssleay32.dll到apache/bin目录下
再复制
libapr-1.dll
libaprutil-1.dll
libsvn_delta-1.dll
libsvn_fs-1.dll
libsvn_repos-1.dll
libsvn_subr-1.dll
到apache/bin目录下
有几个已存在的.我没有覆盖.
重启apache,ok.
5 配置apache和svn,让apache告诉svn如何工作
以下是我的具体配置情况可以参考下
<Location /svn>
#引用远程访问模块
DAV svn
#版本库路径
SVNListParentPath on
SVNParentPath d:/svn/
#激活基本认证,就是用户名/密码
AuthType Basic
#用来说明何时弹出要求用户输入认证信息的认证对话框
AuthName "Subversion repositories"
#指定使用的认证密码文件
AuthUserFile d:/svn/conf/passwd.ini
#位置Subversion版本库的访问控制文件的路径
AuthzSVNAccessFile d:/svn/conf/authz.ini
#指定只有输入了正确的用户/密码的用户可以访问URL
Require valid-user
</Location>
更为详细的解释设置 Apache 的 httpd.conf
6 创建passwd文件来管理svn的访问权限
在开始菜单下,“运行”输入cmd,然后切换到apache/bin目录下:
第1个用户创建时用:htpasswd -c D:\svn\conf\passwd.ini loginuser //其中passwd.ini为文件名,loginuser为用户帐号
第2个用户创建时用:htpasswd D:\svn\conf\passwd.ini loginuser2
可以找到具体的目录查看,验证是否创建成功:
7 SVN版本库及登录访问权限设置
在 D:\Svn\目录下创建www文件,然后通过svn客户端右键www 选择TortoiseSVN->Create repository here 后会生成几个文件夹跟文件;
在D:\Svn\conf创建authz.ini文件,然后文件中填写如下设置
#建立分组:admin,testers
[groups]
admin=loginuser
testers=loginuser2
#预置设置
[/]
*=r
@admin=rw
dangerman=
#多个项目配置,一级目录权限
[www:/]
@testers=rw
#branches二级目录权限
[/branches]
@testers=r
@developers=rw
#tags二级目录权限
[/tags]
@admin=rw
@pm=rw
#trunk二级目录权限
[/trunk]
@admin=rw
@developers=rw
authz.ini里面如果是中文.必须使用utf-8保存.不然会提示
Access forbidden!
Error 403
8 导入项目
到项目文件夹上,右击TortoiseSVN->import… 在URL of repository:中输入http://yourip/svn/www
9:项目成员导出
任一项目文件夹中,右击SVN checkout…