Chinaunix首页 | 论坛 | 博客
  • 博客访问: 327144
  • 博文数量: 91
  • 博客积分: 5011
  • 博客等级: 大校
  • 技术积分: 657
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-06 05:50
文章分类

全部博文(91)

文章存档

2011年(1)

2010年(4)

2009年(21)

2008年(65)

我的朋友

分类: 项目管理

2009-01-20 13:22:25

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

   在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里面通过 来访问Test1和Test2库了,你可以测试一下,用户权限是否符合下面这个列表所示?做到这里,SVN在Apache上建立多个库的配置也就算完成了。


                                                     Test1                                            Test2

    Xrinehart                                    rw                                                  r
    X-Killer                                     rw                                                  r
    guest                                          r                                                    rw
阅读(806) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~