1、yum install subversion

2、输入rpm -ql subversion查看安装位置

我们知道svn在bin目录下生成了几个二进制文件。

输入 svn --help可以查看svn的使用方法,如下图。

3、创建svn版本库目录

mkdir -p /var/svn/svnrepos

4、创建版本库

svnadmin create /var/svn/svnrepos

执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件

5、进入conf目录(该svn版本库配置文件)

authz文件是权限控制文件

passwd是帐号密码文件

svnserve.conf SVN服务配置文件

6、设置帐号密码

vi passwd

在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan

7、设置权限

vi authz

在末尾添加如下代码:

[/]

dan=rw

w=r

意思是版本库的根目录dan对其有读写权限,w只有读权限。

8、修改svnserve.conf文件

vi svnserve.conf

打开下面的几个注释:

anon-access = read #匿名用户可读

auth-access = write #授权用户可写

password-db = passwd #使用哪个文件作为账号文件

authz-db = authz #使用哪个文件作为权限文件

realm = /var/svn/svnrepos # 认证空间名,版本库所在目录

使用下面这个命令进行测试是否正常

svn list svn://10.0.0.10svn list svn://10.0.0.10

svn: E200002: Unable to connect to a repository at URL 'svn://10.0.0.10'

svn: E200002: /var/svn/svnrepos/conf/svnserve.conf:19: Option expected

以上情况是因为/var/svn/svnrepos/conf/svnserve.conf文件配置没有顶格写

svn: E220003: Unable to connect to a repository at URL 'svn://10.0.0.10'

svn: E220003: Invalid authz configuration

以上情况是authz文件没有顶格写配置

9、启动svn版本库

svnserve -d -r /var/svn/svnrepos

10、在windows上测试()

新建一个测试文件夹,在该文件夹下右键选择 SVN checkout如下图(要事先安装TortoiseSVN):

填写SVN的地址,如下图:

输入密码,如下图:

端口号:3690

iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT #允许 3690 端口

service iptables save #保存 iptables 规则

Linux下SVN服务器自动更新文件到Web目录的方法

说明:

服务器操作系统:CentOS
服务器IP:127.0.0.1
SVN项目路径:/var/svn/svnrepos
SVN登录账号:root
SVN登录密码:root
Web站点根目录:/data/wwwroot/www.123.com
实现目的:

当svn项目中有任何修改更新时,系统会自动实时从svn中检出文件并同步到Web站点根目录

具体操作:

一、使用SVN中post-commit实现自动实时从svn中检出文件并同步到Web站点根目录

1. 首先导出一份svn的文件到网站目录

svn co file:///var/svn/svnrepos /data/wwwroot/www.123.com

2. 修改“提交后执行文件”post-commit.tmpl

cd /var/svn/svnrepos/hooks

mv post-commit.tmpl  post-commit

chmod +x post-commit

vi post-commit

REPOS="$1"

REV="$2"

export LANG=zh_CN.UTF-8 #字符集,与服务器一致,可执行locale命令查看

svn update /data/wwwroot/www.123.com #更新svn

echo `date`,`whoami`,$REPOS,$REV >> /var/svn/svnrepos/hooks/svn_hook.log #记录时

间日志

chown -R root:root /data/wwwroot/www.123.com #将网站目录文件更改属主,>如果你是使用root用户更新的话

:wq! #保存退出

至此,Linux下SVN服务器自动更新文件到Web目录教程完成。

#!/bin/bash
read -p "输入svn的目录" svn_dir
#安装svn
yum install subversion
#创建svn版本库目录
mkdir -p $svn_dir
#创建版本库
svnadmin create $svn_dir
#设置账号密码,需要增加多个 直接按test格式添加
cat >>$svn_dir/conf/passwd<<EOF
test = 123456
EOF

#用户授权 等号前是组后面是用户,多个用户用逗号隔开
cat >>$svn_dir/conf/authz<<EOF
test = test

[/]
@test = rw
* =
EOF

#修改svnserve.conf配置文件
sed -i 's/# anon-access = read/anon-access = none/g' $svn_dir/conf/svnserve.conf
sed -i 's/# auth-access = write/auth-access = write/g' $svn_dir/conf/svnserve.conf
sed -i 's/# password-db = passwd/password-db = passwd/g' $svn_dir/conf/svnserve.conf
sed -i 's/# authz-db = authz/authz-db = authz/g' $svn_dir/conf/svnserve.conf

#启动svn服务
svnserve -d -r $svn_dir

#检查svn是否启动
ss -lnp|grep 3690

svn搭建脚本的更多相关文章

  1. linux下svn 搭建

    linux 下SVN搭建加自动提交更新到指定目录一.安装#yum install subversion       yum安装SVN#mkdir -p /opt/svn/repos       创建s ...

  2. jenkins和svn搭建自动代码构建发布

    jenkins安装和配置 .安装jenkins .yum install java wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins. ...

  3. Docker+Jenkins+Maven+SVN搭建持续集成环境

    Docker+Jenkins+Maven+SVN搭建持续集成环境 环境拓扑图(实验项目使用PHP环境) 发布流程图 环境说明 系统:Centos 7.4 x64 Docker版本:18.09.0 Ma ...

  4. 转载-Linux下svn搭建配置流程

    Linux下svn搭建配置流程     一.    源文件编译安装.源文件共两个,为: 1.   下载subversion源文件 subversion-1.6.1.tar.gz http://d136 ...

  5. svn搭建

    原文:svn搭建 二.Subversion的安装与测试 Subversion的配置方式有很多种,同时也可以配置不同的操作系统之上,本文我讲解的是Subversion 1.5.4 for Apache2 ...

  6. Hudson+Maven+Svn搭建持续集成环境

    Hudson+Maven+Svn搭建持续集成环境 博客分类: 配置管理 mavenSVNTomcat项目管理配置管理 一.所用开发工具 1.    Hudson: Hudson 是一种革命性的开放源码 ...

  7. Svn———搭建及配置

    一.Svn介绍 subversion(简称svn)是近几年崛起的版本管理软件,是cvs的接班人,目前绝大多数开源软件都使用svn作为代码版本管理软件.Subversion支持linux和windows ...

  8. 【SVN】Linux下svn搭建配置全过程——初学者轻松上手篇

    版本控制主要用到的是git和svn,其中svn界面化使用操作简单,本篇简单介绍SVN搭建配置全过程. 1. 下载并安装 yum install subversion 查看版本 svnserve --v ...

  9. Windows下SVN备份脚本

    本站备份:svn备份与还原_脚本_(dump命令) 以下是转载记录, 转自:https://wuxiaobai.win/archives/111 用法 svnadmin dump REPOS_PATH ...

随机推荐

  1. python 字符串函数功能快查

    0.dir(str)一.有字符发生转换1.capitalize,字符串的第一个字符大写2.casefold,将所有字符小写,Unicode所有字符均适用3.lower,将所有字符小写,只适用ASCii ...

  2. Luogu P1736 创意吃鱼法【dp】By cellur925

    题目传送门 题意:给出一个01矩阵,找出一条对角线,使得对角线上的元素都为1,而对角线所在矩阵其他元素均为0,使得这样的对角线最长. 状态:$f[i][j]$表示以($i$,$j$)为对角线端点的最长 ...

  3. pyrcharm 编程规范

    正常变量赋值, 等号左右各一个空格: 参数赋值, 等号左右都没有空格: 注释#后面一个空格 类定义和函数定义,前后各两行,而在类的里面定义成员函数,只需要空一行 文件最后一个空行 变量.函数.类最好都 ...

  4. Shell 根据名称杀掉进程

    代码如下: #!/bin/sh # 从命令行读取进程名称 NAME=$ echo "---------------" echo 'killing ->' $NAME # 过滤 ...

  5. Selenium | 简单使用

    需求分析: 登录百度首页,对百度首页进行截屏操作,保存文件 核心代码如下: //配置浏览器 System.setProperty("webdriver.chrome.driver" ...

  6. 跟我一起玩Win32开发(12):使用控件——单选按钮

    今天,咱们还是接着玩“控件斗地主”,这是我原创的超级游戏,有益身心健康,玩一朝,十年少. 哦,对,脑细胞极速运动了一下,想起了一个问题,这个破问题虽然网上有很多种解决方案,但是,并没有让所有人都解决问 ...

  7. 模拟+贪心 URAL 1804 The Machinegunners in a Playoff

    题目传送门 题意:A队和B队踢球,已知一场比赛A和B的得分情况,问A最小再得几分就能胜利还有最多能的几分还能给B队一丝翻盘的希望.规则如下: 1. 总分数相等的情况下,在客场得分高的获胜,如果还相等, ...

  8. (转)生产者/消费者问题的多种Java实现方式

    参考来源:http://blog.csdn.net/monkey_d_meng/article/details/6251879/ 生产者/消费者问题的多种Java实现方式 实质上,很多后台服务程序并发 ...

  9. 125 Valid Palindrome 验证回文字符串

    给定一个字符串,确定它是否是回文,只考虑字母数字字符和忽略大小写.例如:"A man, a plan, a canal: Panama" 是回文字符串."race a c ...

  10. P1838 三子棋I

    题目描述 小a和uim喜欢互相切磋三子棋.三子棋大家都玩过是吗?就是在九宫格里面OOXX(别想歪了),谁连成3个就赢了. 由于小a比较愚蠢,uim总是让他先. 我们用9个数字表示棋盘位置: 123 4 ...