搭建简单的svn服务器

    svn在版本控制方面还是挺有用的。坑运维的人中就有研发,出补丁或版本的时候很坚定的说“升吧,没问题”,结果升上去后就会狂报错。所以运维的要在打补丁,尤其是改动很大的时候一定要把后路想好。否则会长时间的影响业务。svn就有一个很好的机制–回退(当然你也可以事先备份下),可以回退到之前的某个时间节点,操作很方便的。当然svn还有其他高级的用法,日后补上。并且svn不是单独工作,它是和rsync和jenkins结合来玩的。下面介绍svn的编译安装,及简单配置。rsycn和jenkins后续会有介绍的。

搭建简单的svn服务器H)6QSJE0FMN952{)}2@MMV1.png

一、安装前的准备工作:

    源码下载地址:http://subversion.apache.org/download.cgi  版本version 1.9.2

    源码存放于: /packages 下   

    $ yum install apr* apr-util* sqlite* -y

    $ wget http://www.sqlite.org/sqlite-amalgamation-3071501.zip

    解压缩sqlite-amalgamation-3071501.zip

    重命名:

    $ mv sqlite-amalgamation-3071501 /prackages/subversion-1.9.2/sqlite-amalgamatio

    $ ./configure –prefix=/usr/local/svn

    $ make && make install 

二、配置

  

    1创建一个仓库:

        svnadmim create  –fs-type fsfs  -d  /usr/local/svn/projects 

执行这一步操作后projects目录(仓库)中会包含 :conf  db  format  hooks  locks  README.txt 。配置文件和授权存放在了conf中;db存放数据库;

hooks中存放钩子函数;         

   

    2在目录conf中进行相关配置

     $ vim svnserve.conf  

     加入

     [general]

     anon-access = read           这个参数说明匿名用户对svn服务器上的文件具有读的权限

     auth-access = write          这个参数说明取得授权的用户具有读写权限

     password-db = passwd          注意此处的passwd是个文件,这个文件用于存放授权用户的密码,此处也可以写成 /path/to/SOME_FILE

    $ vim authz

     在[groups]下加入

     admin = zhang      超级管理员的登录用户名

     wanguser = wang    普通用户的的登录用户名,像这样的用户可以建立多个

     [/]

     @admin = rw

     @wanguser = r

    $ vim passwd

     [users]

     zhang = zhang      等号右边的"zhang"是用户zhang的密码

     wang = wang        同上

   3启动svn服务

    $useradd svn

    $chmod -R svn:svn /usr/local/svn

    $svnserve -d  –listen-port 3690 -r  /usr/local/svn (/usr/local/svn相当于svn服务器的根目录,如果写成其他路径的话客户端将无法连接。 )

    $ps -ef|grep svnserve

    $netstat  -na|grep 3690

   4找到SVN项目的hooks目录

    $vim hooks/post-commit

    加入

    #!/bin/bash /usr/local/svn/bin/svn checkout svn:192.168.11.128/projects /home/svn/zhang –username zhang –password zhang –no-auth-cache

    路径/home/svn/zhang用于存放正式的的项目(应用程序代码)

至此配置完成。在windows环境下安装一个客户端就可以向svn服务器上上传项目了。我用的是TortoiseSVN Repository Browser(一个客户端工具,百度一下会有的),这样svn就玩起来了。

原创文章,作者:马仙山,如若转载,请注明出处:http://www.178linux.com/9298

(0)
马仙山马仙山
上一篇 2015-11-16 16:28
下一篇 2015-11-18 11:07

相关推荐

  • Centos 7 DNS配置及理论详解

    DNS是什么及BIND讲解内容 域名系统(英文:Domain Name System,缩写:DNS)是internet的一项服务。它作为将域名和IP地址相互映射服务,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。当前,对于每一级域名长度的限制是63个字符,域名总长度则不能超过253个字符。讲解内容:    DNS名称解析方…

    Linux干货 2016-04-25
  • 文本处理三剑客之awk

    一、知识整理 1、awk报告生成器,格式化文本输出 发明人:a.k.a. Aho,Kernighan,weinberger awk程序通常由:BEGIN语句块、能够使用模式匹配的通用语句块、END语句块三部分组成。program通常是放在单引号或双引号中。 基本用法:awk [] ‘program’ var=value fiel… pr…

    Linux干货 2016-09-26
  • 从Linux小白到大牛——与狼共舞的日子5

    马哥教育网络班21期+第5周课程练习 1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行。 [root@localhost ~]# grep '^[[:space:]]\+' /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以…

    Linux干货 2016-08-31
  • 加密解密基础、PKI以及自建私有CA

    加密解密基础、PKI以及自建私有CA 加密是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。 解密就是加密的逆向操作,将加密过的不可读的数据经过处理,能够是之前不可读的信息还原成可读信息。 PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施;…

    Linux干货 2016-12-07
  • RAID详解

    1、什么是RAID RAID:独立硬盘冗余阵列,旧称廉价磁盘冗余阵列,简称磁盘阵列。其基本思想就是将多个相对便宜的硬盘结合起来,成为一个磁盘阵列,是性能达到甚至超过一个昂贵、容量巨大的硬盘,根据选择的版本不同,RAID比单颗硬盘有以下一个或多个方面的好处:增强数据集成度,增强容错功能,增加处理量或容量。目前应用较多的有RAID0,RAID1,RAID4,RA…

    Linux干货 2017-01-03
  • B-树和B+树的应用:数据搜索和数据库索引

    B-树 1 .B-树定义 B-树是一种平衡的多路查找树,它在文件系统中很有用。 定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至多有m 棵子树;⑵若根结点不是叶子结点,则至少有两棵子树; ⑶除根结点之外的所有非终端结点至少有[m/2] 棵子树;⑷所有的非终端结点中包含以下信息数据:    &nb…

    Linux干货 2015-07-30

评论列表(2条)

  • stanley
    stanley 2015-11-18 11:04

    格式上可多向师兄姐学习

  • Linuxsgh
    Linuxsgh 2016-10-20 16:07

    $chmod -R svn:svn /usr/local/svn 这里应该是chown