`

实战SVN For Apache2(二)

阅读更多

  引用

http://www.cnblogs.com/archive/2005/10/29/264659.html

 

SVN最常见的配置模式便是与Apache集成,这样SVN可以采用

在上一篇文章中,我们已经实现了对SVN和Apache的安装,并将它们集成在一起工作。这一篇则主要介绍如何对SVN For Apache进行一些配置。

  1.    在Apache下为SVN建立多个库。上篇中虽然也建立了一个SVN的库在Apache下,但是我们不可能一个SVN服务器上只有一个项目,或者所有项目共用一个SVN库进行开发,在Apache上为SVN建立多个库可以通过建立多个虚拟目录的方式实现。下面我们就来讲讲具体的步骤(注意,此篇中的配置和上篇中的配置方式有很大区别)

    1. 到F盘建立我们的SVN代码存放位置目录:SubversionFiles,并在其中建立一个conf目录,将会把对Apache对SVN的配置文件都放在这里
    2. 再在F:\SubversionFiles下目录Test1和Test2,并将它们变成SVN库(用svnadmin create命令或者用TortoiseSVN来创建都可以)
    3. 在httpd.conf的最后添加如下代码

      #
      # SVN 项目配置文件,格式:Include 配置文件名
      #为每个虚拟目录设置一个配置文件,用Include命令加载


      Include F:/SubversionFiles/conf/*.project

      即把F:/SubversionFiles/conf/目录下的所有*.project文件都包到httpd.conf中来


    4. 在F:/SubversionFiles/conf/创建Test1.project和Test2.project文件,Test1内容如下,Test2可以做相应的修改

      #SVN项目名

           DAV svn

          #SVN项目的路径
           SVNPath F:\SubversionFiles\Test1

          #SVN项目的路径权限授权文件存放路径
          AuthzSVNAccessFile F:\SubversionFiles\conf\Test1.access

      #对于所有用户都需要身份验证
          Satisfy Any
           Require valid-user

      #验证方式
          AuthType Basic

          #项目的名称
           AuthName "My Test1
      "

          #用户信息
           AuthUserFile  F:\SubversionFiles\conf\user




      以上配置含义是在Apache下建立了一个叫作Test1的SVN虚拟目录,指向F:\SubversionFiles\Test1,授权配置文件是F:\SubversionFiles\conf\Test1.access,用户信息和密码文件是F:\SubversionFiles\conf\user


    5.  通过以上配置,我们就在Apache上建立了Test1和Test2两个虚拟目录,也就是两个独立的SVN库,我们还需要两个文件访问权限配置的.access和包含登录用户的user。 在F:\SubversionFiles\conf目录中创建用户列表文件user,方法在上篇中已经说过,也就是htpasswd命令,我们需要创建Xrinehart, X-Killer, Guest三个用户。

    6. 接下来,我们为Test1库创建它的访问权限文件F:\SubversionFiles\conf\Test1.access。在上篇文章中我们是采用对每个用户分别赋予对应权限的方式,如果用户比较多,管理起来就会比较麻烦,这时我们需要用用户组来对用户进行管理。下面我们就来尝试用用户组配置访问权限。Test1.access文件内容如下:


      [groups]
      AdminGroup = Xrinehart
      GuestGroup = guest

      [/]
      @AdminGroup = rw
      @GuestGroup = r

      X-Killer = rw


              在上面的配置中,通过[groups]节定义了两个用户组:AdminGroup和GuestGroup,并将Xrinehart用户归入AdminGroup用户组,guest用户归入GuestGroup。再在下面的[/]定义了他们对Test1库的根目录的操作权限:AdminGroup组有读写权限,GuestGroup组只有读权限,X-Killer用户拥有读写权限。这里需要注意的是定义权限的时候,用户组需要在前面加@符号来标示。

    7. 为了测试效果,我们可以将Test2.access文件写为:

      [groups]
      AdminGroup = Xrinehart, X-Killer
      GuestGroup = guest

      [/]
      @AdminGroup = r
      @GuestGroup = rw


    8. 保存好上面的所有配置文件之后,重新启动Apache服务器。此时我们就可以在IE里面通过http://localhost:8080/Test1 和http://localhost:8080/Test2 来访问Test1和Test2库了,你可以测试一下,用户权限是否符合下面这个列表所示?做到这里,SVN在Apache上建立多个库的配置也就算完成了。


                                                       Test1                                            Test2

      Xrinehart                                    rw                                                  r
      X-Killer                                       rw                                                  r
      guest                                          r                                                    rw

分享到:
评论

相关推荐

    SVN操作手册中文版网页格式

    2.3. Subversion 实战 2.3.1. 工作副本 2.3.2. 版本库的 URL 2.3.3. 修订版本 2.3.4. 工作副本怎样跟踪版本库 2.4. 摘要 3. 版本库 3.1. 创建版本库 3.1.1. 使用命令行工具创建版本库 3.1.2. 使用 ...

    maven安装压缩包+安装文档

    2. Maven:下载 Apache Maven 3.0.4 压缩包,解压后配置环境变量,新建 `M2_HOME` 用户变量,指向 Maven 的安装路径,接着在系统变量的 `Path` 中添加 `%M2_HOME%\bin`。安装完成后,通过命令行输入 `mvn -version` ...

    Nutch1.7二次开发培训讲义

    **2. Eclipse的安装与配置** - **Eclipse版本选择:** 根据操作系统的不同,可以选择不同的Eclipse版本。比如,Windows 64位系统应选择Eclipse Standard 4.3.2 For Windows 64 Bit。 - **Subclipse插件安装:** 通过...

    第二阶段_PHP软件工程师班(120课时).pdf

    - 循环控制结构:包括for循环、while循环、do...while循环等。 - 函数:如switch语句、list()、each()等。 ### PHP高级特性 课程内容也涉及到了PHP的高级特性,例如: - PHP超全局变量:$_SERVER、$_ENV、$_GET、$_...

    ant使用指南

    Ant是Apache软件基金会的一个开源项目,它是一款强大的Java构建工具,常用于自动化Java项目的构建、编译、测试和部署过程。本指南将深入探讨Ant的基本概念、安装与配置、任务定义以及实际应用中的实例,帮助你全面...

    单点登录源码

    通用用户管理系统, 实现最常用的用户注册、登录、资料管理、个人中心、第三方登录等基本需求,支持扩展二次开发。 > zheng-wechat-mp 微信公众号管理平台,除实现官网后台自动回复、菜单管理、素材管理、用户管理...

Global site tag (gtag.js) - Google Analytics