zoukankan      html  css  js  c++  java
  • 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 → 导入 ...,它会弹出一个对话框:

                  

           

    无标题

          

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

  • 相关阅读:
    上传按钮样式优化 <input type="file" />
    javascript多重继承
    javascript prototype和__proto__
    Android开发之通过Intent启动其他App的Service
    Android开发之bindService()侦听service内部状态
    Android 开发之 bindService() 通信
    Android开发之异步消息处理机制AsyncTask
    Android开发之异步消息处理机制Handler
    Android开发UI之在子线程中更新UI
    Android开发之在子线程中使用Toast
  • 原文地址:https://www.cnblogs.com/zhangshufeng/p/2126534.html
Copyright © 2011-2022 走看看