一、安装svn

  # yum -y install svn

二、查看svn版本信息

  # svnserve --version

三、搭建svn版本库(假设项目名称为project)

  1、首先创建版本库目录

  # mkdir -p /var/svn/project

  2、创建版本库

  # svnadmin create /var/svn/project  //版本库路径跟上一步保持一致

  前两步执行完成后 在 /var/svn/project/ 路径下就会创建一些版本配置、日志等文件夹和文件,目录如下

  

  后面主要修改的有 conf/ 和 hooks/ 两个

  conf/

  

  hooks/

  

  3、设置svn账号和密码

  # vi /var/svn/project/conf/passwd  //这里的文件路径可以用相对路径,也可以用绝对路径。例如:当前位置在 /var/svn/project/conf/中,则 #vi passwd 即可打开passwd文件了

  打开文件后,英文状态下按(i)键进入编辑模式,录入账号名和密码。格式 username = password。

  编辑完成后,先点击(Esc)键,然后同时按下(Shift+;),左下角出现(:),这时输入wq点击回车保存修改并退出。(lll¬ω¬)!!! 居然在描述文本文件编辑命令,后面再遇见就不这么详细了喵″

  

  4、设置svn账号的读写权限

  # vi /var/svn/project/conf/authz

  [group]为账号分组情况。格式groupname = username_1,username_2,,,

  [project:/]
  @manager = rw  //赋予manager组成员整个项目的读写权限

  [project:/php]

  @php = rw     //赋予php组成员项目库php分支的读写权限

  [project:/iOS]

  iOS_3 = rw    //赋予账号iOS_3项目库iOS分支的读写权限

  [project:/]

  * = r       //赋予所有成员整个项目读取权限

  保存退出

  

  5、修改项目svn相关配置文件

  # vi /var/svn/project/conf/svnserve.conf

  找到图中白色四行,去掉前面(#)即可,保存退出。

  

  6、启动svn版本库

  # svnserve -d -r /var/svn/

  这里的注意一下,启动svn版本库时路径最好写至svn/,因为后面可以再在该路径下创建其他项目版本库,这样就不必每个项目都启动一个svn进程了。

  7、查看svn进程

  # ps aux | grep svn

  

  8、端口设置

  # firewall-cmd --zone=public --add-port=3690/tcp --permanent  //开启svn端口,如果使用的是阿里云的服务器话,可能就要登陆阿里云控制台配置安全规则,具体配置方法阿里云那边有详细说明。

  # systemctl restart firewalld.service                //重启防火墙

  9、到这里版本库搭建就完成了。可以到本地使用svn工具检出看看

  

四、SVN实现自动更新WEB目录

  前面有描述,svn项目下面有一个hooks/目录,里面存放的是全部的钩子脚本的模板。

  进入svn项目下的hooks/文件

  # cd /var/svn/project/

  新建编辑客户端提交后触发的钩子文件

  # vi post-commit

  编辑内容如下

#!/bin/sh
REPOS="$1"
REV="$2" export LANG='zh_CN.UTF-8' SVN_PATH=/usr/bin/svn
WEB_PATH=/var/www/project
SVN_USER=gaoyi
SVN_PW=gaoyi950815
LOG_PATH=/var/svn/project/log/svn.log echo `datetime: "+%Y-%m-%d %H:%M:%S"` >>$LOG_PATH $SVN_PATH update $WEB_PATH --username $SVN_USER --password $SVN_PW --no-auth-cache >>$LOG_PATH

  保存退出后修改其文件权限

  # chmod 777 post-commit

  这里的钩子文件就编辑完成了。

  接着就到服务器web目录,也就是上面钩子中的WEB_PATH下checkout项目了。操作如下

  # svn checkout svn://192.168.6.74/project/ /var/www/project/

  其中第三部分为svn版本库地址,第四部分为web目录也就是项目地址

  第一次checkout时会要求输入用户名和密码以通过验证。

  checkout成功之后,后面提交的更新就会自动同步到web目录下来了。

  初次编写博客,写得有什么不对或不明了的地方还请各位指正提示!

  谢啦!!☆⌒(*^-゜)v。

Linux centos7系统下svn的安装与配置的更多相关文章

  1. [转]Linux(centOS6.5)下SVN的安装、配置及开机启动

    1.检查是否已安装 rpm -qa subversion 如果要卸载旧版本: yum remove subversion 2.安装 yum install subversion PS:yum inst ...

  2. Linux(centOS6.5)下SVN的安装、配置及开机启动

    http://www.blogjava.net/rockblue1988/archive/2014/11/19/420246.aspx

  3. linux下svn的安装与配置

    ---恢复内容开始--- linux下svn的安装与配置 Linux发行版本:CentOS6.5 1.安装subversion sudo yum -y install subversion 2.创建s ...

  4. nginx在Centos7.5下源码安装和配置

    安装nginx 安装nginx依赖包 yum install -y pcre-devel zlib-devel openssl-devel wget gcc tree vim 进入目录/root/se ...

  5. windows系统下GCC的安装与配置

    刚开始看 C++ Primer,看到编译器的部分,自己搜了搜怎么搭建GCC,搜到以下内容,复制过来留个印象: windows系统下GCC的安装方法,以及一些环境变量的配置,如果对GCC不是很清楚,关于 ...

  6. CentOS7系统下GitLab的安装、汉化、修改默认端口、开启发送邮箱

    一.centos7.4 下安装及汉化 =============================================== 2017/11/12_第6次修改                  ...

  7. Linux 下 SVN 的安装和配置

    SVN 是一个自由开源的版本管理系统,它可以按照时间的顺序去管理文件.目录以及对其进行的修改.于今,它被广泛的用于互联网公司的项目版本管理中 工作原理 它的工作原理如下图所示 它是由一个SVN服务器和 ...

  8. 第一讲 Windows10系统下IDE-CLion的安装与配置

    01 为什么使用CLion?02 CLion安装方法03 CLion的基本使用04 课程形式及答疑说明 toc 参考链接: Window10上CLion极简配置教程 学生免费注册Pycharm专业版 ...

  9. Mac OS X系统下利用VirtualBox安装和配置Windows XP虚拟机

    准备工作 下载并安装VirtualBox for Mac到https://www.virtualbox.org/wiki/Downloads下载VirtualBox <版本> for OS ...

随机推荐

  1. plsql本机不安装数据库连接远程数据库

    用PL/SQL连接oracle数据库,不管是本地的还是远程的,一般都需要安装oracle客户端   如何达到不安装oracle客户端,又能使用PL/SQL工具?     1. oracle官网提供了i ...

  2. (转)java内部类详解

    本文转自http://www.cnblogs.com/dolphin0520/p/3811445.html,谢谢作者 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉.原因是平时编写代码时可能 ...

  3. 自学Zabbix3.9.3-模板Templates-嵌套Nesting

    自学Zabbix3.9.3-模板Templates-嵌套Nesting 嵌套是一个模板包含一个或多个其他模板的方法.可以在一个"嵌套"模板中将一些模板链接在一起.嵌套的好处在于,只 ...

  4. jvm系列(十一):JVM演讲PPT分享

    JVM PPT的演进文稿分享 此PPT长达46页,不方便在页面中全部展示,文中只展示了文稿的前十二页. 获取完整版请在公众号内回复"JVM".

  5. mysql新建数据库,并设置charset为utf8,使用utf8_general_ci字符集校验结果

    一. 实现功能 有时候在linux服务器端, 会在mysql命令行中, 创建数据库, 今天讲一下怎么在创建数据库时, 把charset设置为utf8,collate设置为utf8_general_ci ...

  6. centos6.5 yum update 报错Couldn't resolve host 'centos.ustc.edu.cn'

    异常信息 [root@localhost ~]# yum -y update Loaded plugins: fastestmirror, refresh-packagekit, security S ...

  7. NodeJs学习笔记(三)

    最近在用sails框架写移动后台,马上就过年了,打算总结一下.   1.资源      node官方网站: www.nodejs.org      sails官方网站:www.sailsjs.org ...

  8. 《Netty5.0架构剖析和源码解读》【PDF】下载

    <Netty5.0架构剖析和源码解读>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230062545 内容简介 Netty 是个异步的 ...

  9. WebUploader上传文件(一)

    写在前面: 文件上传方式很多的,对于大文件的上传,在本次项目中也有涉及,主要是用了分片断点上传大文件.所以就去了解了一下WebUploader,先从简单的上传文件开始吧~ 在代码中写注释,这样看的比较 ...

  10. 数据库的SQL优化

    1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. (因为在条件查询条件添加索引,会直接被检索到列,会非常的快速) 2.应尽量避免在 wher ...