配置环境: Windows XP、Apache 2.2.8、Subversion1.4.5 (注:Apache运行正常)
Subversion中文站
1、Subversion的安装目录(Subversion/bin下),找到mod_dav_svn.so和mod_authz_svn.so以及libdb44.dll文件,将这三个文件复制到Apache的模块目录(apache2.2.8/modules)下。
2、修改Apache的配置文件(Apache2.2.8/conf/httpd.conf),做出如下修改:
(a)、在 LoadModule 节后增加如下两行。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
注:如果设置完后APACHE不能重启则省去上面操作,直接在httpd.conf中加载svn相关的模块指向Subversion所在路径即可
LoadModule dav_svn_module "d:/subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "d:/subversion/bin/mod_authz_svn.so"
(b)、从下面的行中删除注释(删除标记 '#'):
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so
(c)、在末尾加上如下区域设置
<Location /svn> #意思是Subversion版本库的URL是http://localhost/svn
DAV svn #告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。
SVNListParentPath on #对于Subversion1.3或者更高版本,这个指示表示显示所有SVNParentPath下的版本库。
SVNParentPath d:/svn/ #告诉Subversion需要查看的版本库位于D:SVN之下
AuthType Basic #激活基本认证,就是用户名/密码
AuthName "Subversion repositories" #用来说明何时弹出要求用户输入认证信息的认证对话框
AuthUserFile e:/wamp/bin/apache/apache2.2.8/conf/svn/passwd #指定使用的认证密码文件
AuthzSVNAccessFile e:/wamp/bin/apache/apache2.2.8/conf/svn/authz #位置Subversion版本库的访问控制文件的路径
Require valid-user #指定只有输入了正确的用户/密码的用户可以访问URL
</Location>
3、创建passwd认证密码文件,打开命令行提示符(DOS),来到apache2.2.8/bin目录,通过输入下面的命令创建文件passwd文件
binhtpasswd -c e:/wamp/bin/apache/apache2.2.8/conf/svn/passwd awei
更新密码:
binhtpasswd e:/wamp/bin/apache/apache2.2.8/conf/svn/passwd awei
添加新用户:
binhtpasswd e:/wamp/bin/apache/apache2.2.8/conf/svn/passwd user2
删除用户:
htpasswd -D e:/wamp/bin/apache/apache2.2.8/conf/svn/passwd user2(-D要为大写)
4、路径为基础的授权,在e:/wamp/bin/apache/apache2.2.8/conf/svn/下创建authz(路径授权)文件
mod_authz_svn模块可以根据用户名和路径实现细粒度的权限控制,对所有的Apache服务器有效,在Subversion 1.3以上版本的svnserve上也实现了路径为基础的授权。
authz文件如下:
[groups]
admin = awei
read = xiongbin
[/]
* = r
@admin = rw
@read = r
[mall:/]
@admin = rw
@read = r
[mall:/html]
@admin = rw
@read = rw
[mall:/application/support]
@admin = rw
@read = rw
5、创建版本库
svnadmin create d:/svn/mall
此时一切搞定,重启apache服务器即可