--------------------------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:\repository\product
  svnadmin create c:\repository\project
仓库创建后其目录结构如下所示:

3.启动SVN服务器
  多仓库启动:svnserve -d -r c:\repository(同时启动project和product两个仓库)
  单仓库启动:(两个仓库需要单独启动)
        svnserve -d -r c:\repository\product
        svnserve -d -r c:\repository\project
  服务器上有多个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 Files\Subversion\bin\svnserve.exe --service -r c:\repository" 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

Windows和Linux环境下搭建SVN服务器的更多相关文章

  1. linux系统Centos环境下搭建SVN服务器及权限配置

    linux系统Centos环境下如何搭建SVN服务器以及svnserve.conf.authz.passwd配置文件详细介绍   至于svn的概念,这里就不做详细阐述了,可以自行百度.简单来讲就是一个 ...

  2. window环境下搭建SVN服务器

    <span style="font-family: Arial; rgb(255, 255, 255);">第一步:准备工具:</span> 1.SVN服务 ...

  3. Windows环境下搭建SVN服务器

    使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和Apache相配合来实现源代码的 SVN管理简单的多,下面就看看详细的说明. VisualSVN Server的 ...

  4. 【SVN】centos环境下搭建SVN服务器

    1.安装SVN,有些linux发行版自带SVN,可以用下面方法检测是否安装SVN. svn --version 如果 Subversion 客户端没有安装,命令将报告svn命令找不到的错误. 我们可以 ...

  5. linux环境下搭建osm_web服务器一(Postgresql配置及osm2pgsql原始数据导入):

    Postgresql配置及osm2pgsql原始数据导入 2012年,Ubuntu 12.04LTS发布,又一个长效支持版,我们又该更新OpenStreetMap服务器了,这次,将详细在博客中记录配置 ...

  6. linux环境下搭建osm_web服务器二(Mapnik及apache2mod_tile配置):

    Mapnik及apache2mod_tile配置 上一篇,我们配置好了PostgreSQL服务器,导入了测试数据.今天,我们来配置 mapnik2 + apache2 + mod_tile 的WMS服 ...

  7. linux环境下搭建solr服务器--单机版

    前提需要在安装好jdk和tomcat,本人用的是jdk1.8+tomcat8.5+solr4.10. 第一步:安装linux.jdk.tomcat.(这步都是比较简单的,就不多说了) 第二步:把sol ...

  8. linux环境下搭建osm_web服务器三(Openlays和slippymap):

    Openlays和slippymap 上一步,我们已经有了自己的地图瓦片服务器,现在,开始实现SlippyMap啦! <1>下载释放OpenLayers到 www文件夹 SlippyMap ...

  9. linux环境下搭建osm_web服务器四(对万国语的地名进行翻译和检索):

    对万国语的地名进行翻译和检索 经过 前三篇的调试,已经有了一个完整的Map可以浏览,我们痛苦的世界范围数据下载.导入过程也结束了.要提醒一下的是,鉴于网速,不要下载 planetosm.lastest ...

随机推荐

  1. 新手入门Flume搭建部署

    在root的用户下 1):• 前提 安装JDK环境 2):• 在官网下载Flume,http://mirror.bit.edu.cn/apache/flume 既是:wget  http://mirr ...

  2. mybatis映射异常

    今天写项目突然遇到了这么个问题:  nested exception is org.apache.ibatis.reflection.ReflectionException: There is no  ...

  3. 用cmd命令创建oracle 数据库、用户和表空间

    Win+R调查运行窗口,输入cmd回车 连接到本地oracle库 创建名为"SXSJ"的表空间,其初始大小为512M,支持自动扩展,每次增量为32M: create tablesp ...

  4. 如何兼容所有Android版本选择照片或拍照然后裁剪图片--基于FileProvider和动态权限的实现

    我们知道, Android操作系统一直在进化. 虽然说系统是越来越安全, 可靠, 但是对于开发者而言, 开发难度是越来越大的, 需要注意的兼容性问题, 也越来越多. 就比如在Android平台上拍照或 ...

  5. [转载] 十五分钟介绍 Redis数据结构

    转载自http://blog.nosqlfan.com/html/3202.html?ref=rediszt Redis是一种面向“键/值”对类型数据的分布式NoSQL数据库系统,特点是高性能,持久存 ...

  6. redis源码分析之有序集SortedSet

    有序集SortedSet算是redis中一个很有特色的数据结构,通过这篇文章来总结一下这块知识点. 原文地址:http://www.jianshu.com/p/75ca5a359f9f 一.有序集So ...

  7. Spring JDBC 示例

    在使用普通的 JDBC 数据库时,就会很麻烦的写不必要的代码来处理异常,打开和关闭数据库连接等.但 Spring JDBC 框架负责所有的低层细节,从开始打开连接,准备和执行 SQL 语句,处理异常, ...

  8. iOS打包静态库(完整篇)

    1. 什么是库? 所谓库就是程序代码的集合,是共享程序代码的一种方式. 2. 库的分类 根据程序代码的开源情况,库可以分为两类 开源库源代码是公开的,你可以看到具体实现.比如GitHub上比较出名的第 ...

  9. TIJ学习总结(1)- Java基础语法

    TIJ(Thinking in Java)作为Java学习书籍里的"圣经",之前花两个月系统的捋了一遍,很多东西有种豁然开朗的感觉,入门之后读一遍TIJ,相信会有很多意外收获哦- ...

  10. OC的特有语法-分类Category、 类的本质、description方法、SEL、NSLog输出增强、点语法、变量作用域、@property @synthesize关键字、Id、OC语言构造方法

    一. 分类-Category 1. 基本用途:Category  分类是OC特有的语言,依赖于类. ➢ 如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式 ● 继承 ● 分类(Categor ...