本文详细的介绍了在centos 6 64位服务器上搭建svn服务器的详细过程。

工具/原料

  • 环境linode vps centos6 64bit

  • svn是版本管理控制工具 安装简单方便;

  • svn独立服务器安装方式

svn独立服务器的搭建

  1. 1

    环境准备

    yum groupinstall "X Software Development" "Development Libraries" "Development Tools"

  2. 2

    下载所需的源码包

    subversion-deps-1.6.17.tar.gz svn 的支持库之类的文件
    wget http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.gz
    subversion-1.6.17.tar.gz svn 的主程序
    wget http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz

  3. 3

    源码编译安装

    这两个要解压在同一个目录下
    tar zxvf subversion-deps-1.6.17.tar.gz
    tar xvf subversion-1.6.17.tar.gz
    cd subversion-1.6.17
    ./configure --prefix=/opt/svn
    make && make install

  4. 4

    修改环境变量

  5. 5

    vi /etc/profile , 在/etc/profile 最后加入:
    PATH=$PATH:/opt/svn/bin
    export PATH
    检测是否安装成功
    svnserve --version
    显示如下信息则表示安装成功。
    svnserve, version 1.6.17 (r1128011)
    compiled Mar 23 2012, 16:57:41

    END

配置svn

  1. 1

    系统采用为每个项目单独建一版本库的策略。配置文件,密码文件,访问控制文件等都放在
    版本库的conf 目录下。所以每次开始一个新项目都必须新建一个版本库,并重新配置各配
    置文件。还有很重要的一条,要求各组员重新配置客户端,包括服务器版本库路径,本地路
    径等信息。

  2. 2

    创建svn库testsvn

    mkdir /var/svn
    cd /var/svn
    svnadmin create testsv
    cd testsv
    [root@nagios testsv]# ls
    conf db format hooks locks README.txt
    [root@nagios testsv]# cd conf/
    [root@nagios conf]# ls
    authz passwd svnserve.conf

  3. 3

    配置版本库信息

    [root@nagios conf]# vi svnserve.conf
    [general]
    anon-access = none
    auth-access = write
    password-db = passwd
    authzauthz-db = authz
    realm = testsv(库的名字)
    [sasl]
    # use-sasl = true
    # min-encryption = 0
    # max-encryption = 256

  4. 4

    定义版本库访问权限

    [root@nagios conf]# vi authz
    [aliases]
    # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe
    Average
    [groups]
    # harryharry_and_sally = harry,sally
    # harryharry_sally_and_joe = harry,sally,&joe
    # [/foo/bar]
    # harry = rw
    # &joe = r
    # * =
    # [repository:/baz/fuz]
    # @harry_and_sally = rw
    # * = r
    #添加下面两句
    [/]
    testuser = rw
    [testsv]
    testuser = rw

  5. 5

    定义用户密码

    [root@nagios conf]# cat passwd
    [users]
    # harry = harryssecret
    # sally = sallyssecret
    testuser = testsv123456

    END

启动svn服务

  1. 1

    建立启动svn 的用户

    useradd svn
    passwd svn
    根据提示为用户svn 设置密码
    允许用户svn 访问版本库
    chown -R svn:svn /var/svn
    启动svn
    (1)用设定帐户启动
    su svn -c "svnserve -d --listen-port 9999 -r /var/svn"
    其中:
    su svn 表示以用户svn 的身份启动svn
    -d 表示以daemon 方式(后台运行)运行
    –listen-port 9999表示使用9999 端口,可以换成你需要的端口。但注意,使用1024以下的端
    口需要root 权限
    -r /var/svn 指定根目录是/var/svn
    (2)对于单个代码仓库:

  2. 2

    启动命令:

    svnserve -d -r 文件夹路径--listen-host 192.168.100.131
    其中-d 表示在后台运行, -r 指定服务器的根目录,这样访问服务器时就可以直接用svn://
    服务器ip 来访问了。
    如果服务器有多ip 的话–listen-host 来指定监听的ip 地址.
    我们可以在svn 客户端中通过svn://192.168.100.131 来访问svn 服务器
    (3)对于多个代码仓库:
    我们在启动时也可以用-r 选项来指定服务器根目录, 但访问时需要写上每个仓库相对于svn
    根目录的相对路径.
    比如, 我们有两个代码仓库/var/svn/testsv
    svnserve -d -r /var/svn --listen-host 192.168.1.100
    来启动,
    那么在客户端访问时可以用svn://192.168.100.100/testsv 来分别访问两个项目启动完成以

    我启动的方法:
    [root@austit fabian]# svnserve -d -r /var/svn --listen-host 192.168.100.131
    注意:
    svn 默认端口是3690 ,你需要在防火墙上开放这个端口。也可以通过svnserve 的–listen-port
    选项来指定一个已经开放的其他端口, 不过这样的话客户端使用也必须家上端口, 如
    svn://192.168.100.200:8888/

  3. 3

    检查是否启动成功

    (查看是否存在svnserve 进程)
    ps -ef|grep svnserve
    如果显示如下,即为启动成功:
    svn 6941 1 0 15:07 ? 00:00:00 svnserve -d –listen-port 9999 -r /var/svn
    我是用root 帐户启动的:
    [root@austit fabian]# svnserve -d -r /var/svn --listen-host 192.168.100.131
    [root@austit fabian]# ps -ef|grep svnserve
    root 4513 1 0 21:07 ? 00:00:00 svnserve -d -r /var/svn --listen-host 192.168.100.131
    root 4515 4409 0 21:07 pts/1 00:00:00 grep svnserve

    END

svn使用

然后用户下载客户端访问即可,推荐使用TortoiseSVN。

注意事项

  • 尽量不要使用centos自带的svn版本服务器

  • 安装过程不要断掉ssh链接,否则容易出现未知错误

转载于:https://blog.51cto.com/weimouren/1769402

centOS6.4部署svn相关推荐

  1. 在Windows Server 2008上部署SVN代码管理总结

    这段时间在公司开发Flex程序,所以使用TortoiseSVN作为团队代码管理器,今天在公司服务器上部署SVN服务器,并实验成功,总结如下: 服务器环境: 操作系统:Windows Server 20 ...

  2. Centos6.6部署Redis集群

    Centos6.6部署Redis集群 1 环境准备 1 环境安装redis 1 安装ruby 2 配置redis主从环境 3 部署redis sentinel服务器 5 集群使用 13 当前集群环境说 ...

  3. CentOS6.5部署KVM及实现在线迁移

    CentOS6.5部署KVM及实现在线迁移 一.前言 虚拟化技术已经成为未来计算机技术的一个重要的发展方向.Linux在虚拟化方面已经有了很多种解决方案:VMware.VirtualBox.Xen和K ...

  4. CentOS6.5 部署***管理系统(StrongSwan+iKEv2+Freeradiu+Mysql+Daloradius)

     CentOS6.5 部署×××管理系统(StrongSwan+iKEv2+Freeradiu+Mysql+Daloradius) 2016-12-09 15:57:51 标签:mysql CentO ...

  5. centos6.7部署solr-6.3.0

    2019独角兽企业重金招聘Python工程师标准>>> 因为solr-6.3.0比较新,在centos中部署的教程也比较少,所以我自己就部署了一次,有什么不对的地方请大家多多指教 环 ...

  6. 使用centos6.6部署Cobbler--自动安装centos系统

    Cobbler是一个开源项目,用来部署和安装系统.Cobbler不仅仅是一个pxe服务器,他还可以管理dns和dhcp.一般数据中心里或者生产环境,是不允许dhcp, 但是pxe需要使用dhcp,所以 ...

  7. centos6.2部署jdk+tomcat+mysql总结

    1.1 主机环境 1)操作系统: VirtualBox+Centos-6.2-x86_64-minimal 下载地址:http://mirror.symnds.com/distributions/Ce ...

  8. Centos6.5部署大众点评CAT

    CAT (Central Application Tracking) 简介: CAT 是大众点评开源的一套基于java的实时应用监控平台,主要应用于服务中间件框架(MVC 框架.RPC 框架.持久层框 ...

  9. CentOS6.6部署VNC服务端

    为什么80%的码农都做不了架构师?>>>    VNC (Virtual Network Computer)是虚拟网络计算机的缩写.VNC 是在基于 UNIX 和 Linux 操作系 ...

最新文章

  1. 改变示波器TDS3054D图片颜色
  2. 升级总代分享思路_桃生企业至尊七郎瓷砖新展厅全新升级惊艳亮相
  3. 点击开启此虚拟机时,出现“该虚拟机似乎正在使用中”问题
  4. Android Studio 常用快捷键 for mac
  5. SAP License:SAP记账码
  6. Jqurey 得到url参数 getUrlParam
  7. es6 babel编译
  8. 高可用分布式非关系型数据库-Cassandra
  9. 【C++游戏引擎Easy2D】基于基础类型学习使用核心Game+Window+Input详解
  10. Makefile 速成
  11. 计算机类专业都有什么区别?
  12. 俄罗斯方块游戏shell编程代码
  13. 浅析栈指针ESP和帧指针EBP
  14. druid 查条数_Druid.io查询分析
  15. python爬取推特图片_twitter图片视频批量下载
  16. 哈工大计算机学院学号,【复试机试内容回忆汇总帖】2019年哈尔滨工业大学计算机考研...
  17. input输入框禁止修改的方法
  18. 无痕模式运行html,各个浏览器开启无痕模式的方法教程
  19. 适合装u盘的linux系统下载软件,ghost xp系统镜像安装win7系统下载地址适合装u盘的linux...
  20. 群晖消息通知 推送服务器,群晖点滴我知道 篇一:群晖 如何设置微信通知

热门文章

  1. tf.train.Example的用法
  2. Java开发工程师的发展前景如何?
  3. 聊聊rocketmq的FileAppender
  4. 【工具使用系列】关于 MATLAB 神经网络故障诊断,你需要知道的事
  5. 七点建议帮助您部署云存储
  6. 【转】No Persistence provider for EntityManager问题
  7. 如何在Hadoop2上远程调试MapReduce
  8. 【前端】jQuery学习内容概览
  9. 关于卡尔曼滤波详细推导的理解
  10. No usable temporary directory found in [‘/tmp‘, ‘/var/tmp‘, ‘/usr/tmp‘]