• Windows和Linux环境下搭建SVN服务器


     --------------------------Windows下搭建SVN服务器-----------------------------

    一、安装SVN服务端

    软件包Setup-Subversion-1.8.17.msi,下载地址:https://sourceforge.net/projects/win32svn/files/latest/download

    二、SVN服务端命令
    1.查看SVN信息

    2.创建数据仓库
    首先创建一个总的仓库目录repository,然后在其下创建product和project两个文件夹,分别作为产品和项目两个仓库的目录:
    SVN命令创建product和project仓库:
      svnadmin create c: epositoryproduct
      svnadmin create c: epositoryproject
    仓库创建后其目录结构如下所示:

    3.启动SVN服务器
      多仓库启动:svnserve -d -r c: epository(同时启动project和product两个仓库)
      单仓库启动:(两个仓库需要单独启动)
            svnserve -d -r c: epositoryproduct
            svnserve -d -r c: epositoryproject
      服务器上有多个SVN仓库时,应该用多仓库启动命令

    4.客户端连接测试
      首先分别在两台计算机上安装SVN客户端:TortoiseSVN,下载网址:https://tortoisesvn.net/downloads.html
    然后多仓库启动SVN服务器,在本机和同一局域网上的计算机访问product仓库:

    注意:总仓库目录repository访问时不用输入,SVN服务的默认端口号为3690,访问地址可以写成:svn://192.168.0.182:3690/product

    三、权限设置
    1.svnserve.conf 服务器配置
      # 匿名用户访问版本库权限,可选值read/write/none
      anon-access = none
      # 授权用户访问版本库权限,可选值read/write/none
      auth-access = write
      # 用户名密码文件,可以使用绝对路径,相对路径是指相对于conf目录的位置。注意:如果该选项不开启,用户名密码文件将失效
      password-db = passwd
      # 授权管理文件,可以使用绝对路径,相对路径是指相对于conf目录的位置。注意:如果该选项不开启,授权管理将失效
      authz-db = authz
      # 版本库认证域名称,也就是需要认证的仓库名
      realm = product
    2.passwd 用户密码管理
      [users]
      zhangsan = zs123
      lisi = ls123
      wangwu = ww123
      alice = a123
      shine = 123456
    3.authz 授权管理
      # 分组设置权限
      [groups]
      # 开发人员
      develpoer = zhangsan,lisi
      # 测试人员
      tester= wangwu,alice

      # 设定根目录权限
      [/]
      # 开发人员读写权限(给组分配权限时前面加@符)
      @develpoer = rw
      # 测试人员读权限
      @tester= r
      # shine具有读写权限
      shine = rw

      [/myapp/sql]
      # 张三用户对于product仓库下的“myapp/sql”目录具有读写权限
      zhangsan= rw
      # 李四具有读权限
      lisi= r
      # 张三无任何权限
      zhangsan=
      # 其他任何人没有任何权限
      * =

    四、将SVN设置成系统服务
      在windows下部署SVN服务器,想让SVN服务在系统开机时后台自动启动,可以注册windows系统服务。
      例如:sc create SVN-Service binpath= "D:Program FilesSubversioninsvnserve.exe --service -r c: epository" displayname="SVN服务" start=auto depend=Tcpip
      服务启动:net stat SVN-Service
      删除服务:sc delete SVN-Service

    ---------------------Linux下搭建SVN服务器-----------------------------

    一、下载软件和依赖包
      cd Desktop
      wget http://mirrors.tuna.tsinghua.edu.cn/apache/subversion/subversion-1.9.7.tar.gz
      wget https://jaist.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz
      wget http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz
      wget http://archive.apache.org/dist/apr/apr-1.6.3.tar.gz
      wget http://www.sqlite.org/sqlite-amalgamation-3071501.zip
    二、安装软件依赖包
    1.安装 apr.tar.gz
      cd Desktop
      tar -zxvf apr-1.6.3.tar.gz
      cd apr-1.6.3/
      ./configure --prefix=/usr/local/apr
      make && make install
    2.安装 apr-util.tar.gz
      cd Desktop
      tar -zxvf apr-util-1.6.1.tar.gz
      cd apr-util-1.6.1/
      ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-expat=/usr/local/expat
      make && make install
    3.安装 zlib-1.2.11.tar.gz
      cd Desktop
      tar -zxvf zlib-1.2.11.tar.gz
      cd zlib-1.2.11/
      ./configure --prefix=/usr/local/zlib
      make && make install
    4.安装 subversion-1.9.7.tar.gz
      cd Desktop
      ar -zxvf subversion-1.9.7.tar.gz
      unzip sqlite-amalgamation-3071501.zip
      mv sqlite-amalgamation-3071501 ./subversion-1.9.7/sqlite-amalgamation
      cd subversion-1.9.7
      ./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-zlib=/usr/local/zlib --without-berkeley-db --with-ssl
      make
      make install
    5.检验是否安装成功
      cd /usr/local/svn/bin
      ./svnserve --version

     

    三、安装时可能会遇到的一些问题
     上面的安装步骤都是kali linux上安装的,再次从Ubuntu上安装时可能会遇到下面的问题
    1.安装 apr.tar.gz执行./configure命令时最后出现下面的错误:
      config.status: executing libtool commands
      rm: cannot remove 'libtoolT': No such file or directory
      config.status: executing default commands
      解决方法:修改configure文件,找到:$RM "$cfgfile" 这一行,将其注释掉
    2.安装apr-util.tar.gz执行make命令时出现如下的错误:
      xml/apr_xml.c:35:19: fatal error: expat.h: 没有那个文件或目录
      #include <expat.h>
      ^
      compilation terminated.
      解决方法:缺少expat库,安装expat-2.1.0.tar.gz,项目主页:https://sourceforge.net/projects/expat/
        cd Desktop
        tar -zxvf expat-2.1.0.tar.gz
        cd expat-2.1.0
        ./configure --prefix=/usr/local/expat
        make
        make install
      重新编译apr-util,再进行make:
        ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-expat=/usr/local/expat
        make
        make install

    四、仓库的创建和配置
    Linux和Windows下对于仓库的创建和配置方法一致,这里不再描述。设置完成后启动和访问SVN服务

     

    为了方便期间可添加环境变量:vi /etc/profile
      export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.11
      export PATH=$PATH:$ZOOKEEPER_HOME/bin:/usr/local/svn/bin

    微信扫描二维码,关注"幽灵神探"

  • 相关阅读:
    php使用iconv进行从utf8转为gb2312字符编码出错解决方案
    PHP 的 cURL库快速入门文档
    转载 DISCUZ!X1程序目录、文件列表及模板文件结构说明,帮助大家二级开发
    下拉菜单部分选项不允许选择
    Htaccess文件用法集锦
    MYSQL server has gone away解决办法
    Discuz X 模板中获取用户头像
    CSS Hack
    VS轻松保存重复多用的代码片段
    三菱FX PLC编程口通讯协议详解
  • 原文地址:https://www.cnblogs.com/shine620/p/8089975.html
Copyright © 2020-2023  润新知