linux安装配置SVN并设置钩子
安装说明
系统环境:CentOS-6.3
安装方式:yum install (源码安装容易产生版本兼容的问题)
安装软件:系统自动下载SVN软件
检查已安装版本
#检查是否安装了低版本的SVN
|
1
|
rpm -qa subversion |
#卸载旧版本SVN
|
1
|
yum remove subversion |
一.安装SVN
|
1
|
yum -y install subversion |
验证安装
检验已经安装的SVN版本信息
|
1
|
svnserve --version |
代码库创建
SVN软件安装完成后还需要建立SVN库
|
1
2
|
mkdir -p /www/svndatasvnadmin create /www/svndata/test |
执行上面的命令后,自动建立svndata库,查看/www/svndata/test 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
配置代码库
进入上面生成的文件夹conf下,进行配置
|
1
|
cd /www/svndata/test/conf |
用户密码passwd配置
|
1
2
|
cd /www/svndata/test/confvim passwd |
修改passwd为以下内容:
|
1
2
3
4
|
[users]# harry = harryssecret# sally = sallyssecretcqh=123456 |
权限控制authz配置
|
1
|
vim authz |
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
|
1
2
3
|
#设置[/]代表根目录下所有的资源[/]cqh=rw |
服务svnserve.conf配置
|
1
|
vim svnserve.conf |
追加以下内容:
|
1
2
3
4
5
6
7
8
9
10
11
|
[general]#匿名访问的权限,可以是read,write,none,默认为readanon-access=none#使授权用户有写权限auth-access=write#密码数据库的路径password-db=passwd#访问控制文件authz-db=authz#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字realm = My First Repository |
启动SVN
|
1
|
svnserve -d -r /www/svndata |
查看SVN进程
|
1
2
|
[root@localhost conf]# ps -ef|grep svn|grep -v greproot 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /www/svndata |
检测SVN 端口
|
1
2
|
[root@localhost conf]# netstat -ln |grep 3690tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN |
停止重启SVN
|
1
2
|
[root@localhost password]# killall svnserve //停止[root@localhost password]# svnserve -d -r /www/svndata // 启动 |
测试
SVN服务已经启动,使用客户端测试连接。
客户端连接地址:svn://xxx.xxx.xxx.xxx/test
用户名/密码: cqh/123456
测试创建文件夹等操作。
二.设置钩子自动更新
实现SVN与WEB同步,可以CO一个出来,也可以直接用自动更新web目录的方法,我们要在svn版本库中配置钩子来实现,就是创建一个post-commit的配置文件,对其进行简单的配置,简简单单的四步就可以实现Linux下SVN自动更新web目录配置。
第一步:建立你的web程序目录
|
1
|
mkdir /var/www/html/test |
进入你建立的web程序目录(svn checkout可以简写为co)
|
1
2
|
svn checkout svn://localhost/svntest //不重命名文件夹,直接在当前目录下检出svn checkout svn://localhost/svntest test //检出文件并且重命名文件夹 |
第二步:在项目库的 hooks/ 目录下新建 post-commit 文件 【钩子脚本】
添加脚本内容如下
|
1
2
3
4
5
|
export LANG=en_US.UTF-8SVN=/usr/bin/svn #这里配置的是svn安装bin目录下的svn文件WEB=/var/www/html/test #要更新的目录$SVN update $WEB --username cqh --password 123456chown -R www:www $WEB |
其中SVN=右边改成 svn 命令位置
WEB=右边改成你实际的web目录
第三步:让post-commit有执行的权限
|
1
|
chmod a+x post-commit |
第四步:这里就已经完成了,第四步就是测试了。
说明:
export LANG=en_US.UTF-8是为了解决svn post commit 中文乱码,设置本地化编码,因为我的系统为UTF8编码,其实SVN默认就是UTF-8编码,如果编码是GBK的话不设置将会出现错误,而执行不成功,错误标识为
|
1
|
svn: Can't convert string from native encoding to 'GBK' |
/usr/bin/svn update --username cqh --password 123456 /var/www/html/test 执行更新操作
如果提示:
|
1
|
post-commit hook failed (exit code 255) with no output |
赋予post-commit文件可执行权限
如果您的默认编码就是UTF-8的,要上传中文文件,先将文件另存为UTF-8格式在提交
转载朋友:http://www.cnblogs.com/chenqionghe/p/4527763.html
linux安装配置SVN并设置钩子的更多相关文章
- Linux安装配置SVN服务器【转】
1. 安装SVN服务器: 检查是否已安装 # rpm -qa subversion 安装SVN服务器 # yum install httpd httpd-devel subversion mod_da ...
- Linux安装配置SVN服务器
1. 安装SVN服务器: 检查是否已安装 # rpm -qa subversion 安装SVN服务器 # yum install httpd httpd-devel subversion mod_da ...
- linux下安装配置svn服务器
linux下安装配置svn服务器 1. svn服务器安装 将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器. tar xfvz su ...
- 【转】linux(Ubuntu)配置svn仓库,搭建svn服务器
原文网址:http://blog.1v2d.com/322.html 在家里搞了好久,终于搞出来,并且在线上已经成功搭建成功,在这感谢一个博主的文章,本篇文章也主要是转载他的内容,写的非常好,而且非常 ...
- CentOs 6.6 安装配置 SVN
① 挂载光盘 mount /dev/cdrom /mnt/cdrom ② yum 安装 svn yum -y install subversion ③ 创建svn 版本库根目录 mkdir -p /w ...
- linux经常使用(一)linux 安装配置 jdk之 找不到安装文件文件夹及source /etc/profile 报unexpected end of file 错误 解决
linux 安装配置 jdk 应该算是一个非常主要的东西.可是我到如今才自己第一次 正式安装.果然出现了问题.. 问题就是 安装之后 找不到 安装路径 ,进而没法配置环境变量. 现象例如以下: 提示 ...
- CentOS6.9快速安装配置svn
CentOS6.9快速安装配置svn 环境介绍: 操作系统:CentOS release 6.9 (Final)192.168.65.130 (svn服务器)192.168.65.129 (svn客户 ...
- Linux安装配置apache
Linux安装配置apache 1.获取软件: http://httpd.apache.org/ httpd-2.2.21.tar.gz 2.安装步骤: 解压源文件: 1 tar zvxf ht ...
- 【Ubuntu 16.04.2_64】安装配置SVN
[Ubuntu 16.04.2_64]安装配置SVN 转载:https://www.cnblogs.com/yangchongxing/p/10190549.html 检查是否已安装svn # svn ...
随机推荐
- HDU 4966 GGS-DDU(最小树形图)
n个技能,每个技能有0-a[i]的等级,m个课程,每个课程需要前置技能c[i]至少达到lv1[i]等级,效果是技能d[i]达到lv2[i]等级,花费w[i]. 输出最小花费使得全技能满级(初始全技能0 ...
- 51nod 1117 聪明的木匠 (哈夫曼树)
题目:传送门. 题意:中文题. 题解:就是构造一颗哈夫曼树,数据结构里的知识. #include <iostream> #include <cstdio> #include & ...
- October 5th 2016 Week 41st Wednesday
Don't follow the crowd, let the crowd follow you. 不要随波逐流,要引领潮流. But to be a good follower is already ...
- c语言字符集
一.字符常量 'A', 'B','\n','\'','1' 二.字符类型变量的赋值 char c1='A'; char c2='b'; char c3=65; c2='\''; c2='\n'; 三. ...
- 隐藏<input type="file"> 实现点击div或图片打开文件选择路径
HTML: <input type="file" style="display:none" id="addfile-btn"> ...
- iOS - HTTPS接口加密和身份认证
为什么要使用HTTPS代替HTTP HTTPS和HTTP的区别 https协议需要到CA申请证书,一般免费证书很少,需要交费. http是超文本传输协议,信息是明文传输,https则是具有安全性的SS ...
- db2 Hidden columns
When a table column is defined with the implicitly hidden attribute, that column is unavailable unle ...
- 浏览器方法及代码打包成APP的
<script src=" http://static.ydbimg.com/API/YdbOnline.js" type="text/javascript&quo ...
- bluetooth service uuid
转自:https://www.bluetooth.com/specifications/assigned-numbers/service-discovery service discovery ...
- .net学习之进程外Session的配置
转载地址:http://www.cnblogs.com/rohelm/archive/2012/05/13/2498465.html 人人都知道怎么去使用session,但是初学者,尤其是自学的学生可 ...