上周安装Apache Subversion ViewVC的服务配置纪录。流水帐方式记录.

所用到的软件以及下载,基本上按照安装的先后顺序来排列.
Apache 2.0.58 http://httpd.apache.org/
Subversion 1.4.6 http://subversion.tigris.org/
SubVersion 安装完毕后,开始进行基本配置.
首要问题就是设置访问方式。
Subversion支持两种方式,一种是svn协议的,一种是基于Http的,也就是之前我们安装Apache的目的。
两种使用方式互有优劣,主要是svn用于内网方便,速度快,占用CPU相对低,但配置权限不太好,访问方式也不利于通过防火墙。
我采用Apache方式,放弃Subversion本身的用户管理方式,采用Windows 域账号设置。
因此需要安装 mod_auth_sspi.so  http://tortoisesvn.tigris.org/mod_auth_sspi.zip 下载后的文件解压缩放到Apache目录下的Modules就可以。
使用Apache方式,重点在于Apache的httpd配置文件的正确设置。
对于需要启用的模块,要正确输入路径和名称,保险的办法是都复制到Modules目录下。另外此处的先后顺序也不能乱。

# Windows authentication module
LoadModule sspi_auth_module   modules/mod_auth_sspi.so 

# subversion modules
LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so" 

其他需要增加的Module类似不再叙述。
在httpd.conf 最后加上Subversion目录的访问权限设置. 
<Location /svn>
# 告诉Apache哪个模块负责服务像那样的URL--在这里就是Subversion模块 

DAV svn 

# 在Subversion 1.3及更高版本中,这个指示器使得Subversion列出由SVNParentPath指定的目录下所有的版本库 

SVNListParentPath on 

# 告诉Subversion在目录D:\SVN下寻找版本库 

SVNParentPath E:\SVN 

# 启用基本的验证,比如用户名/密码对 

# AuthType Basic 

# 启用Windows 域账号验证 

AuthType SSPI 

# 当一个验证对话框弹出时,告诉用户这个验证是用来做什么的,这个提示不可以用中文 

AuthName "My SVNAccount" 

# 指定一个password文件作为密码文件用来验证用户的用户名及密码, 这里不需要了 

# AuthUserFile E:\SVN\userpass 

    SSPIAuth On
    SSPIAuthoritative On    

    # 是否省略掉用户id的域名部分
    SSPIOmitDomain On 

    # 是否允许非IE客户端(必须打开,这样SVN的客户端才可以正常访问)
    SSPIOfferBasic On

    # 是否将用户名和域名自动转为小写,此处很诡异,后面详细说明。

    SSPIUsernameCase lower 

    # 基本认证(非域认证方式)具有更高的优先级?
    # SSPIBasicPreferred Off 

   # 默认的域名主机,不需要设置这个,会自动认定本机和所有已经认证过的域
      SSPIDomain <domaincontroller> 

# 限定用户只有输入正确的用户名及密码后才能访问这个路径
Require valid-user 

# 指定D:\svnaccessfile来限定各个用户或组在版本库中目录的访问权限, 注意这个设置目前是对所有项目库有效。
AuthzSVNAccessFile "E:\SVN\svnaccessfile.txt" 

</Location> 

这个配置好之后,接下来就需要开始配置AuthzSVNAccessFile了。这个文件的写法,最重要是要理解路径为基础的授权。详细说明见参考文档1

[groups]
admin = manager
it = jimjiang
assistant = candy,sara
[/]
@admin= rw
@it= rw
[ITProj1:/]
[ITProj2:/]
@assistant = rw
[ITProj3:/]
kevin = rw
@assistant=r

在以上的例子中,首先配置了用户组,其次按照项目库的方式建立了分别的访问权限。[/]是针对所有的项目库的设定。
注意: 此处的用户名都是小写,原因就是前面我们已经设置了将域账号自动按照小写来验证。这里需要特别注意,因为域验证的时候写用户名有三种可能性:

A  Domain\Jimjiang  B domain\jimjiang C jimjiang

针对这三种可能性对应,就一定要符合前面在配置文件中的设置,一定不能错。要小写,就一定要给小写的用户名,要省略域名,就不要再打域名。有关这个地方,请参见 参考文档2,老外有人专门作了一组测试。

在配置成功后,就可以用客户端访问以Http打头的SVN仓库了,输入正常的域账号就应该可以打开相应的项目库。
首先是设置版本库, 为方便起见,可以先把Subversion的客户端软件安装好,可以避免用命令行方式来操作Subversion.
设置版本库时,可以先建立一个项目的模板文件夹, 里面的目录结构如下:
目录结构中的branches\tags\trunk是按照建议创建的,基本上每一个项目库都应该是包括这几个目录的。
建立这个模版文件夹的目的,就是在于以后新建项目库的时候,可以用这个文件夹直接创建,从而自动为项目库增加以上的文件夹结构。
选用的Subversion客户端软件
TortoiseSVN-1.4.8.12137-win32-svn-1.4.6.msi http://tortoisesvn.tigris.org/
LanguagePack-1.4.8.12137-win32-zh_CN.exe http://tortoisesvn.tigris.org/
用于Visual Studio 的插件
VisualSVN.v1.3.2.for.VS

参考文档:

1. http://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/tsvn-serversetup.html
2. http://blog.michaelcheng.idv.hk/2006/10/windows-domain-authentication-with.html
3. http://raibledesigns.com/wiki/Wiki.jsp?page=ApacheSSL
以上为安装Subversion的必要软件.下面是为了给Subversion增加Http方式访问的版本浏览系统而选择安装的ViewVC及其配套的插件.
见       Subversion 服务配置安装手记(二)

转载于:https://www.cnblogs.com/Jimjiang/archive/2008/04/30/1165112.html

Subversion 服务配置安装手记(一)相关推荐

  1. php实现word文档在线浏览功能,配置安装手记

    欢迎加入php架构师之旅 群:410028331(招纳贤人-大师中)方便技术的交流 一般类似oa或者crm等管理系统可能都会遇到需要再线查看word文档的功能,类似百度文库. 记得去年小组中的一个成员 ...

  2. Subversion 1.5 安装配置指南

    來源:http://www.cnblogs.com/bigshow/archive/2008/10/13/1310288.html 使用Subversion进行版本控制可以更加有效的控制软件开发过程, ...

  3. linux下svn(subversion)服务端添加工程及配置权限

    linux下svn(subversion)服务端添加工程及配置权限 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/9010507.html 此篇我只是将所做过的 ...

  4. svn服务器端下载linux,Svn linux服务端安装及配置

    Svn服务端安装及配置 安装centos7 用vmware虚拟机安装 关闭selinux防火墙 vim /etc/selinux/config 将SELINUX的值设置为disabled 如果不关,日 ...

  5. SVN服务端安装与配置

    原文地址为: SVN服务端安装与配置 我用的SVN服务端是SubVersion,版本:Setup-Subversion-1.6.6.msi,在我查资料的时候,发现有一个配置方法比较简单的SVN服务端V ...

  6. svn教程----svn服务端安装配置

    svn服务端安装配置 1.两种服务端安装包 1.1.官方安装包 官方网站:http://subversion.apache.org/ 下载:http://subversion.apache.org/d ...

  7. 在 Windows 上安装 SVN Subversion 服务端

    现在的Subversion已经足够稳定,而且已经进入了它的黄金时段.我们看到大量的项目都在使用它完成版本控件的工作.本文将主要针对Windows平台讲述安装Subversion服务器的步骤.本文所使用 ...

  8. 【GP6安装配置】 Greenplum6.2.1 安装手记(上)

    作者:lianghc 文档说明       20191212 号,pivotal 发布gp6.2.1,适逢公司gp集群扩建升级,需要确定版本,所以安装gp6的版本与gp5做比对测试. 本文档参考官方文 ...

  9. NFS介绍、NFS服务端配置安装配置、 NFS配置选项、 客户端的配置

    NFS介绍 NFS是Network File System的缩写 ,是在网络层面,NFS(Network File System)网络文件系统会经常用到,用于在网络上共享存储.这样讲,你对NFS可能不 ...

  10. Kali Linux常用服务配置教程安装及配置DHCP服务

    Kali Linux常用服务配置教程安装及配置DHCP服务 在Kali Linux中,默认没有安装DHCP服务.下面将介绍安装并配置DHCP服务的方法. 1.安装DHCP服务 在Kali Linux中 ...

最新文章

  1. 设置控件全局显示样式appearance proxy
  2. sts(eclipse)安装svn插件
  3. python数据科学实战_Python数据科学实战第三讲作业HW4
  4. coroutine php_PHP 协程实现
  5. 使用equals判断对象是否相等出现的错误
  6. java相关协议_java相关网络协议是什么
  7. Android判断网络状态
  8. 201771010101白玛次仁《面向对象程序设计(java)》第十二周实验总结
  9. Java创建对象小结
  10. java中的diss可以做标识符吗_因为命名被diss无数次。简单聊聊编程最头疼的事情之一:命名...
  11. 如何用 Visual Studio 2017 开发 Arduino 应用程序
  12. oracle注释 kole_t2u,oracle4
  13. hihoCoder 1369 网络流一·Ford-Fulkerson算法 (网络流学习#1 记录)
  14. Python实战之12306抢票
  15. 注册gmail邮箱手机号无法验证
  16. 直角三角形的两个夹角度数计算(java)
  17. UEFI.源码分析.DXE的异步事件服务.第一部分.事件驱动
  18. 官网USB读卡器移植(TF卡SDIO模式 + SPI-flash)
  19. DirectShow安装
  20. 视频转码编辑工具:Compressor for Mac(4.5.4)

热门文章

  1. 理解 Delphi 的类(十) - 深入方法[21] - 开放数组参数
  2. java连接mysql-8.0.11且成功读写
  3. 如何卸载eclipse?
  4. UGUI LongText
  5. python程序停止运行、重新开始_求教,程序执行到末尾如何重新开始的问题。
  6. python竖着输出_Python中三种格式化输出的方式
  7. linux 无法启动vnc_ECS 云服务器 VNC篇
  8. Java I/O系统之处理流类型
  9. [渝粤教育] 西南科技大学 高速铁路线路与车站 在线考试复习资料
  10. VC中ComboBox控件用法详解