配置http方式访问svn服务器

本文讲述如何利用Apache配置实现http的方式访问Subversion,本文的目录如下:

  • 配置http匿名访问
  • 增加用户名和密码控制
  • 增加文件目录控制
【前提要求】
  • 安装apache httpd,可参考:图文介绍apache2.2.x安装配置(http://www.micmiu.com/enterprise-app/cluster/apache-httpd-install/)
  • 安装SVN服务Subversion,可参考:图文介绍windows搭建SVN服务端的基本步骤(http://www.micmiu.com/techother/software/subversion-windows-guide/)
  • 启动Subversion服务(命令:svnserve -d -r d:\svnroot),创建好repository,并导入一个项目,比如:micmiu-app:
subversion 跟目录结构如下:
svn客户端连接截图如下:

【一】、配置http匿名访问

Apache httpd 安装路径:D:\Program Files (x86)\Apache2.2\

Subversion 安装路径:D:\Program Files (x86)\Subversion\

%Subversion_home%\bin\mod_dav_svn.so文件复制到%apache_home%\moduals\

%apache_home%\conf\httpd.conf 文件的末尾添加如下内容:

创建%apache_home%\conf\extra\httpd-svn.conf文件,具体内容如下:

配置好后需要重启Apahce服务,用svn客户端,打开:http://localhost/svn/repo/micmiu-app,如下图:

这时会发现已经实现了http访问SVN了,不过同时会发现之前在SVN服务端配置的用户名和密码控制无效了,如何控制请看下面接下来的内容。

【二】、增加用户名和密码控制

1.基本认证访问控制 htpasswd

创建密码文件,示例用于用户michael和micmiu 的访问控制:

ps:-c 表示创建密码文件;-m 表示用md5对密码加密

修改 conf\extra\httpd-svn.conf 文件,内容如下:

配置好后需要重启Apahce服务,用svn客户端,打开:http://localhost/svn/repo/micmiu-app,如下图:

从上图可见提示你输入正确的用户名和密码才能访问。

2.Digest 方式认证控制 htdigest

创建密码文件,示例用于用户michael和micmiu 的访问控制:

修改 conf\extra\httpd-svn.conf 文件,内容如下:

配置好后需要重启Apahce服务,用svn客户端,打开:http://localhost/svn/repo/micmiu-app,和上面一样会提示你输入用户名和密码。

【三】、增加文件目录控制

1.把%Subversion_home%\bin\mod_authz_svn.so文件复制到%apache_home%\moduals\

2.修改 conf\extra\httpd-svn.conf 文件,内容如下:

3.创建%apache_home%\conf\svn-authz-file文件,具体内容如下:

该配置表示:可以访问对根目录读写,同时对micmiu-app/src目录没有任何权限

4.配置好后需要重启Apahce服务,用svn客户端,打开:http://localhost/svn/repo/micmiu-app,过程如下:

可见测试结果和我们预期设想的效果一致。

一些参考资料:

  • http://subversion.apache.org/faq.zh.html
  • http://svnbook.red-bean.com/nightly/en/svn.serverconfig.html
  • http://svnbook.red-bean.com/nightly/en/svn.serverconfig.httpd.html
  • http://svnbook.red-bean.com/nightly/en/svn.serverconfig.pathbasedauthz.html

原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]

本文链接地址: http://www.micmiu.com/software/build/subversion-apache-http/

发表评论?

2 条评论。

  1. 我也有个博客,但是很多都没有坚持下来

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">