Subversion svnserve 服务配置 整理

  1. 安装是SVN和TortoiseSVN

            下载SVN服务器安装文件:Setup-Subversion-1.6.17.msi ,运行安装。

            下载客户端安装文件:TortoiseSVN-1.6.16.21511-win32-svn-1.6.17.msi,然后运行安装,安装成功后必须重启计算机。也可以根据需要加载中文语言包(不建议使用)。

   2.  创建SVN资源库

           SVN资源库(版本库)的创建有两种方式:命令行方式和客户端方式。

         命令行方式:svnadmin create D:\svn\repos(注意目录路径名区分大小写)

        客户端方式:通过TortiseSVN来创建,在本地新建目录D:\svn\repos,选中文件夹repos,右击“TortoiseSVN——Create repository here”

clip_image002

                  

     3. 创建基于windows服务svnserver服务

                    运行cmd命令输入:sc create svnserve binpath= "C:\Subversion\bin\svnserve.exe --service --root D:\svn\repos" displayname= "svnserve" depend= tcpip          start=  auto

                上述命令可以实现名为“svnserve”服务的后台创建和自动启动。但是需要注意下列两点:

                    a.  如果任意的路径中含有空格,需要使用 转义字符\,如:

                            sc create svnserve binpath= "
                            \"C:\Program Files\Subversion\bin\svnserve.exe\"
                              --service --root c:\repos" displayname= "Subversion" 
                               depend= tcpip start= auto

                    b.

                              注意 sc 的命令行很特殊。在 key= value 对中,key 与 = 之间不能有空格,但是在 value 之前,必须有空格

     4 . 用户的管理

                    在 Subversion 的使用当中,存在“认证”、“授权”两个概念。认证,即 authentication,是指用户名与密码的认证。授权,即authorization ,是指某用户

是  否具备读、写权限的一种审核。这两者配合作用,就组成了 Subversion 的整个账户管理体系。

   为了使用用户及权限管理功能文件,必须在服务器端打开D:\svn\ repos\conf\svnserver.conf,去掉下面四行前面的注释,并去掉前面的空格:

                          # anon-access = read

                         # auth-access = write

                        # password-db = passwd

                            # authz-db = authz

                         并将read参数修改为none,表明禁止匿名用户访问版本控制库。

                          password-db = passwd表示用户名和密码所在的资源文件,后面的passwd就是所设定的文件,会在svnserver.conf文件所在的目录下找到上述文件,后面也可以配置成     passwd文件所在目录的路径的形式,如../passwd,表示在svnserver.conf的上级路径的目录下

                       authz-db = authz表示授权文件,主要设置用户组’及用户组对于特定目录的权限.

                      打开passwd文件,

                            添加如下形式:  zsf = ustb

                                 zsf是设定的用户名,ustb是密码。zsf前面不要留空格。

                 注意:
                          权限配置文件中出现的用户名必须已在用户配置文件中定义。
                            对权限配置文件的修改立即生效,不必重启svn。

                              为了实现多项目的权限管理,多个项目共享相同的位于根资源库下的配置及认证文件。

  5. 权限的配置

Subversion 提供了面向目录的账户权限管理功能,通过它,我们就可以很精确地实现项目目录的访问控制。

创建完资源库后,出现的authz为认证后的账户访问权限授权文件。

假设目录结构如下:

Project

     dev

      test

             test1

             test2

要求:

1、admin对所有目录可读可写

2、 Dev_group对dev目录可读可写,Test_group无权限

3、 Test_group对test目录可读可写,Dev_group无权限

打开D:\SVNServer\ repos\conf\authz,对上面的用户添加分组:

[groups]

# harry_and_sally = harry,sally

Admin_group = admin

Dev_group = sc1,sc2

Test_group1 = tom1, tom2

[/] //对根目录的权限控制

@admin_group = rw

* = r

[/Cloud /dev] //对具体目录的权限控制

@ admin_group = rw

@ Develop_group = rw

* = //其他用户无权限

[/Cloud/test] //对具体目录的权限控制

@ admin_group = rw

@ Test_group = r

* =

备注:

1、 如果需要控制的文件夹为中文名称,需要把authz转换为UTF-8格式,建议使用UltraEdit的“文件——转换——ASCII to UTF-8”(我尝试过记事本转换未遂)。

若project下新增文件夹,一定要对新文件夹增加权限控制,否则所有人默认为可读。

6. 数据段导入

       择你的项目的顶层目录,右击打开上下文菜单。选择命令TortoiseSVN → 导入 ...,它会弹出一个对话框:

              

       

无标题

      

    在弹出的对话框里面,根据提示输入  用户名和密码,确定后进行导入。

posted on 2011-08-03 18:48  自 慎  阅读(5077)  评论(0编辑  收藏  举报

导航