ApacheSVN服务器安装指导手册

开发 项目管理
本文介绍一下ApacheSVN服务器安装问题,主要讲解一下认证问题,包括基本HTTP认证和用mod_authz_svn进行目录访问控制等内容。

 本节接着上篇文章介绍ApacheSVN服务器的安装问题,本节主要针对认证选项问题,这里我发表一下个人理解,和大家讨论讨论,希望对你有所帮助。

认证选项

1、ApacheSVN服务器基本HTTP认证
最简单的客户端认证方式是通过HTTP基本认证机制,简单的使用用户名和密码来验证一个用户的身份。Apache提供了一个htpasswd工具来管理一个用户文件,这个文件包含用户名和加密后的密码,这些就是你希望赋予Subversion特别权限的用户。htpasswd可以在Apache的bin安装目录下找到。具体使用方法如下:
创建用户文件:htpasswd-cE:\usr\Apache2.2\bin\passwd.confusername
添加新用户(-m表示以MD5加密密码,可选项):htpasswd[-m]E:\usr\Apache2.2\bin\passwd.confNewusername
更改用户密码:htpasswd[-m]E:\usr\Apache2.2\bin\passwd.confusername
删除用户(要用大写的D):htpasswd–DE:\usr\Apache2.2\bin\passwd.confusername
接下来修改httpd.conf,在Location标签中加入如下内容:

  1. AuthTypeBasic  
  2. AuthName"svnrepos"  
  3. AuthUserFileE:/usr/Apache2.2/bin/passwd.conf  
  4. Requirevalid-user  

说明:
AuthTypeBasic:启用基本的验证,比如用户名/密码对。
AuthName"svnrepos":当一个认证对话框弹出时,出现在认证对话框中的信息。(最好用英文,TortoiseSVN不支持中文,安装语言包除外。)
AuthUserFileE:/usr/Apache2.2/bin/passwd:指定E:\usr\Apache2.2\bin\passwd为用户文件,用来验证用户的用户名及密码。
Requirevalid-user:限定用户只有输入正确的用户名及密码后才能访问这个路径
重新启动Apache,打开浏览器访问版本库。ApacheSVN服务器的Apache会提示你输入用户名和密码来认证登陆了,现在只有passwd文件中设定的用户才可以访问版本库。也可以配置只有特定用户可以访问,替换上述"Requirevalid-user"为"Requireusertonyrobert"将只有用户文件中的tony和robert可以访问该版本库。有的时候也许不需要这样严格的访问控制,例如大多数开源项目允许匿名的读取操作,而只有认证用户才允许写操作。为了实现更为细致的权限认证,可以使用Limit和LimitExcept标签。例如:

  1. <LimitExceptGETPROPFINDOPTIONSREPORT> 
  2. requirevalid-user  
  3. LimitExcept> 

以上配置将使匿名用户有读取权限,而限制只有passwd中配置的用户可以使用写操作。如果这还不能满足你的要求,你希望精确的控制版本库目录访问,可以使用Apache的mod_authz_svn模块对每个目录进行认证操作。

2、ApacheSVN服务器用mod_authz_svn进行目录访问控制
首先需要让Apache将mod_authz_svn模块加载进来。在Subversion的安装目录中找到mod_auth_svn模块,将其拷贝到Apache安装目录的modules子目录下。修改httpd.conf文件,添加:
LoadModuleauthz_svn_modulemodules/mod_authz_svn.so
现在可以在Location标签中使用authz的功能了。

【编辑推荐】

  1. Subversion1.4.5和Apache2.2.6的完美结合
  2. 简单剖析Subversion1.4.4在Apache2.2系列中配置
  3. 在Linux下subversion和apache安装配置
  4. Subversion和TortoiseSVN如何在Windows下进行构建SVN版本控制
  5. 重点剖析:Subversion1.4.6+Apache2.2.8服务器如何搭建
责任编辑:佚名
相关推荐

2010-05-19 17:36:14

ApacheSVN服务

2010-05-19 18:26:28

SVN服务器安装

2011-07-12 17:42:24

2010-05-19 17:26:58

2009-12-18 15:49:05

Ruby Rmagic

2009-02-27 13:22:00

2010-05-24 09:59:54

SVN服务器搭建

2010-06-07 18:12:39

mrtg 安装

2010-05-31 10:09:32

2011-03-02 12:43:40

vsFTPd

2010-08-06 15:44:11

Linux服务器

2009-12-31 15:58:11

Silverlight

2010-06-03 14:55:59

Hadoop配置

2010-05-25 09:45:06

SVN服务器环境配置

2011-02-17 09:14:32

2009-12-22 15:47:03

WCF服务器证书

2010-03-19 15:01:23

Java Socket

2011-03-02 11:30:02

vsFTPd

2015-11-30 18:19:13

宝德

2010-05-31 14:19:47

点赞
收藏

51CTO技术栈公众号