2013-09-10 14:36:52
来 源
kejihao
Apache
该篇讲述Apache服务器配置SVN服务的详细步骤,希望对于初学Apache服务器相关的朋友有帮助,更多Apache安装、配置、报错处理等资源请本站内搜索。

配置环境: 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服务器即可

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。