一、安装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. inline-block并列排序时候的影响

    当两个设置了inline-block属性的元素并列排放时,它们的位置能够互相影响. 元素结构: <div class="container"> <div clas ...

  2. this问题

    this问题 弹出层是一种很常见的页面显示部件,利用require js的模块化可以使部分功能组件重用性更高.以弹出层为例,探讨关于this的问题 首先来看这样一段代码 Html部分代码 <bo ...

  3. C#开发微信门户及应用(48) - 在微信框架中整合CacheManager 缓存框架

    在我们的很多框架或者项目应用中,缓存在一定程度上可以提高程序的响应速度,以及减轻服务器的承载压力,因此在一些地方我们都考虑引入缓存模块,这篇随笔介绍使用开源缓存框架CacheManager来实现数据的 ...

  4. MQTT 设计原则

    MQTT 设计原则 简单. 没有杂七杂八的花俏功能,作为一个基础组件构建实用的系统,易于实现. "发布/订阅"消息传递方式. 随时接入随时发布.接收消息,无需太多其他"事 ...

  5. mysql还原数据库时,提示ERROR 1046 (3D000) No database selected 的解决方法

    使用mysql数据库的朋友, 经常会使用mysqldump备案数据库, 然后到新服务器还原, 这个过程中, 有朋友会遇到ERROR 1046 (3D000)  No database selected ...

  6. MAC系统里JDK版本切换

    1.首先安装需要的JDK版本 JDK7,JDK8则需要自己到Oracle官网下载安装对应的版本.自己安装的JDK默认路径为:/Library/Java/JavaVirtualMachines/jdk1 ...

  7. 中国IT职业培训市场经历的几波浪潮,未来的浪潮又是那一波?

    第一波 电脑普及性培训时代 2000年至2003年左右,中国正处于PC计算机普及阶段,而IT职业教育也刚开始兴起,这一波浪潮主要以计算机办公自动化.平面设计.计算机硬件维修.为主:几家大的IT培训机构 ...

  8. 随笔:JavaScript函数中的对象----arguments

    关于arguments 调用函数时,如果需要传参,其实参数就是一个数组,在函数体的内置对象arguments可以访问这个数组,如: arguments[0]:第一个参数 arguments[1]:第二 ...

  9. 给虚拟机添加新硬盘并分区,fdisk查看分区,分区,重新读取分区表信息partprobe,格式化,挂载,查看分区挂载信息,自动挂载文件/etc/fstab,/etc/fstab文件错误导致重启崩溃后的修复

    1.虚拟机关机断电 2.添加硬盘 2.开机 3.fdisk -l查看刚才新添加的硬盘 [root@localhost ~]# fdisk -l 磁盘 /dev/sda:21.5 GB, 2147483 ...

  10. 切换用户,显示用户名, 调用Windows系统命令

    CONN 用户名/密码 CONN sys/密码 AS SYSDBA | SYSOPER SHOW USER SELECT * FROM 用户名.表名; 调用Windows系统命令: HOST Wind ...