Linux centos7系统下svn的安装与配置
一、安装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的安装与配置的更多相关文章
- [转]Linux(centOS6.5)下SVN的安装、配置及开机启动
1.检查是否已安装 rpm -qa subversion 如果要卸载旧版本: yum remove subversion 2.安装 yum install subversion PS:yum inst ...
- Linux(centOS6.5)下SVN的安装、配置及开机启动
http://www.blogjava.net/rockblue1988/archive/2014/11/19/420246.aspx
- linux下svn的安装与配置
---恢复内容开始--- linux下svn的安装与配置 Linux发行版本:CentOS6.5 1.安装subversion sudo yum -y install subversion 2.创建s ...
- nginx在Centos7.5下源码安装和配置
安装nginx 安装nginx依赖包 yum install -y pcre-devel zlib-devel openssl-devel wget gcc tree vim 进入目录/root/se ...
- windows系统下GCC的安装与配置
刚开始看 C++ Primer,看到编译器的部分,自己搜了搜怎么搭建GCC,搜到以下内容,复制过来留个印象: windows系统下GCC的安装方法,以及一些环境变量的配置,如果对GCC不是很清楚,关于 ...
- CentOS7系统下GitLab的安装、汉化、修改默认端口、开启发送邮箱
一.centos7.4 下安装及汉化 =============================================== 2017/11/12_第6次修改 ...
- Linux 下 SVN 的安装和配置
SVN 是一个自由开源的版本管理系统,它可以按照时间的顺序去管理文件.目录以及对其进行的修改.于今,它被广泛的用于互联网公司的项目版本管理中 工作原理 它的工作原理如下图所示 它是由一个SVN服务器和 ...
- 第一讲 Windows10系统下IDE-CLion的安装与配置
01 为什么使用CLion?02 CLion安装方法03 CLion的基本使用04 课程形式及答疑说明 toc 参考链接: Window10上CLion极简配置教程 学生免费注册Pycharm专业版 ...
- Mac OS X系统下利用VirtualBox安装和配置Windows XP虚拟机
准备工作 下载并安装VirtualBox for Mac到https://www.virtualbox.org/wiki/Downloads下载VirtualBox <版本> for OS ...
随机推荐
- C#:StreamReader读取.CSV文件(转换成DataTable)
using System.Data; using System.IO; /// <summary> /// Stream读取.csv文件 /// </summary> /// ...
- 微信小程序教学第三章(含视频):小程序中级实战教程:列表-页面逻辑处理
§ 页面逻辑处理 本文配套视频地址: https://v.qq.com/x/page/n0554dndrez.html 开始前请把 ch3-2 分支中的 code/ 目录导入微信开发工具 修改 ind ...
- lua中怎么替换掉字符串中的$^特殊字符?
Lua 常规替换字符串如何替换 s = string.gsub("Lua is good", "good", "bad") print(s) ...
- 小白的Python之路 day2 文件操作
文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...
- JMeter接口HTTP请求implementation不选java会报错解决方法
1.若不对c参数和d参数进行URL编码则需要选择implementation为java: 2.若想不设implementation值,则需进行c参数d参数URLEncoding import java ...
- RabbitMQ阻塞读取时数据时,关闭channel引起的问题和解决方案
项目场景: 最近在项目中使用了RabbitMq,其中有一个功能必须能随时切断RabbitMq的coumser.第一时间写出来的代码如下: 伪代码: while(flag){ QueueingConsu ...
- Effective Java 第三版——10. 重写equals方法时遵守通用约定
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...
- akka-stream与actor系统集成以及如何处理随之而来的背压问题
这几天上海快下了五天的雨☔️☔️☔️☔️,淅淅沥沥,郁郁沉沉. 一共存在四个api: Source.actorRef,返回actorRef,该actorRef接收到的消息,将被下游消费者所消费 ...
- FastJson--阿里开源的速度最快的Json和对象转换工具
示例 import java.util.ArrayList; import java.util.List; import java.util.HashMap; import java.util.Map ...
- js间隔几秒弹出一次联系框
运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-3-sec-alert-dlg-codes/ 具体代码如下: <html> < ...