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. bzoj 2716 [Violet 3]天使玩偶 【CDQ分治】

     KD-tree可做,但是我不会暂时不考虑 大意:在二维平面内,给定n个点,m个操作.操作A:加入一个点:操作B:询问一个点与平面上加入的点的最近距离 不封装会T不封装会T不封装会T不封装会T不封装会 ...

  2. 洛谷P2585 [ZJOI2006]三色二叉树(树形dp)

    传送门 设$dp[u][i]$表示点$u$颜色为$i$时最多(最少)的绿点个数(这里用$0$表示绿点) 然后直接用树形dp就可以了 记得把情况讨论清楚 //minamoto #include<b ...

  3. python 之 random 模块、 shutil 模块、shelve模块、 xml模块

    6.12 random 模块 print(random.random()) (0,1)----float 大于0且小于1之间的小数 print(random.randint(1,3)) [1,3] 大 ...

  4. Scipy-数值计算库

    Scipy在Numpy的基础上则加了众多的数学计算,科学计算以及工程计算中常用的模块,例如线性代数,常微分方程的数值求解,信号处理,图像处理,系数矩阵等.在本章中,将通过实例介绍Scipy中常用的的一 ...

  5. android ViewPager 与Fragment

    ViewPager 左右滑动数据显示 1. 整体布局 FragmentLayout 容器包裹Fragment <?xml version="1.0" encoding=&qu ...

  6. 正睿OI提高组十连测 day1 总结

    可能是最简单的一场比赛了吧,结果却打得这么差... T1是个找规律题,结果一开始愚蠢地找错了规律,然后又对拍,到1h多一点才过掉 然后看t2和t3,以为t2是个水题,t3也只要处理一下就好了,先写t2 ...

  7. ubuntu 16.0.4安装MySQL5.7

    系统版本 root@sishen:~# uname -a Linux sishen 4.10.0-35-generic #39~16.04.1-Ubuntu SMP Wed Sep 13 09:02: ...

  8. Centos 6.5安装MySQL-python

    报错信息: Using cached MySQL-python-1.2.5.zip     Complete output from command python setup.py egg_info: ...

  9. logback日志异步打印

    最近碰到一个问题:客户的服务器程序偶尔出现请求响应过慢的情况,通过查看日志发现RSA验证签名的代码执行超过20秒,而正常情况下只需要16毫秒. RSA证书是服务器启动就加载好的,不存在读文件慢的问题. ...

  10. 模板方法模式及php实现

    模板方法模式: 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.TemplateMethod 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 角色: 抽象模板角色:抽象模板类, ...