安装说明

系统环境: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/svndata
svnadmin 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/conf
vim passwd

修改passwd为以下内容:

1
2
3
4
[users]
# harry = harryssecret
# sally = sallyssecret
cqh=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,默认为read
anon-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 grep
root     12538     1  0 14:40 ?        00:00:00 svnserve -d -r /www/svndata

检测SVN 端口

1
2
[root@localhost conf]# netstat -ln |grep 3690
tcp        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-8
SVN=/usr/bin/svn            #这里配置的是svn安装bin目录下的svn文件
WEB=/var/www/html/test      #要更新的目录
$SVN update $WEB --username cqh --password 123456
chown -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并设置钩子的更多相关文章

  1. Linux安装配置SVN服务器【转】

    1. 安装SVN服务器: 检查是否已安装 # rpm -qa subversion 安装SVN服务器 # yum install httpd httpd-devel subversion mod_da ...

  2. Linux安装配置SVN服务器

    1. 安装SVN服务器: 检查是否已安装 # rpm -qa subversion 安装SVN服务器 # yum install httpd httpd-devel subversion mod_da ...

  3. linux下安装配置svn服务器

    linux下安装配置svn服务器 1. svn服务器安装 将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器. tar xfvz su ...

  4. 【转】linux(Ubuntu)配置svn仓库,搭建svn服务器

    原文网址:http://blog.1v2d.com/322.html 在家里搞了好久,终于搞出来,并且在线上已经成功搭建成功,在这感谢一个博主的文章,本篇文章也主要是转载他的内容,写的非常好,而且非常 ...

  5. CentOs 6.6 安装配置 SVN

    ① 挂载光盘 mount /dev/cdrom /mnt/cdrom ② yum 安装 svn yum -y install subversion ③ 创建svn 版本库根目录 mkdir -p /w ...

  6. linux经常使用(一)linux 安装配置 jdk之 找不到安装文件文件夹及source /etc/profile 报unexpected end of file 错误 解决

    linux 安装配置 jdk 应该算是一个非常主要的东西.可是我到如今才自己第一次 正式安装.果然出现了问题.. 问题就是 安装之后 找不到 安装路径 ,进而没法配置环境变量. 现象例如以下: 提示 ...

  7. CentOS6.9快速安装配置svn

    CentOS6.9快速安装配置svn 环境介绍: 操作系统:CentOS release 6.9 (Final)192.168.65.130 (svn服务器)192.168.65.129 (svn客户 ...

  8. Linux安装配置apache

    Linux安装配置apache   1.获取软件: http://httpd.apache.org/  httpd-2.2.21.tar.gz 2.安装步骤: 解压源文件: 1 tar zvxf ht ...

  9. 【Ubuntu 16.04.2_64】安装配置SVN

    [Ubuntu 16.04.2_64]安装配置SVN 转载:https://www.cnblogs.com/yangchongxing/p/10190549.html 检查是否已安装svn # svn ...

随机推荐

  1. Common Knowledge_快速幂

    问题 I: Common Knowledge 时间限制: 1 Sec  内存限制: 64 MB提交: 9  解决: 8[提交][状态][讨论版] 题目描述 Alice and Bob play som ...

  2. Java Web开发框架Spring+Hibernate整合效果介绍(附源码)

    最近花了一些时间整合了一个SpringMVC+springAOP+spring security+Hibernate的一套框架,之前只专注于.NET的软件架构设计,并没有接触过Java EE,好在有经 ...

  3. 【编程题目】和为 n 连续正数序列

    51.和为 n 连续正数序列(数组).题目:输入一个正数 n,输出所有和为 n 连续正数序列.例如输入 15,由于 1+2+3+4+5=4+5+6=7+8=15,所以输出 3 个连续序列 1-5. 4 ...

  4. -bash: pod: command not found

    OS X 系统没升级之前用的 cocoapods 一点儿问题都没有,但是升级成版本10.11.4 OS X EI Capitan之后,在终端除了cd 指令可以用之外,其他任何指令输入都是提示-bash ...

  5. iOS应用支持IPV6,就那点事儿

    原文连接   果然是苹果打个哈欠,iOS行业内就得起一次风暴呀.自从5月初Apple明文规定所有开发者在6月1号以后提交新版本需要支持IPV6-Only的网络,大家便开始热火朝天的研究如何支持IPV6 ...

  6. CROSS JOIN连接用于生成两张表的笛卡尔集

    将两张表的情况全部列举出来 结果表: 列= 原表列数相加 行= 原表行数相乘     CROSS JOIN连接用于生成两张表的笛卡尔集. 在sql中cross join的使用: 1.返回的记录数为两个 ...

  7. Java 配色方案--Dark Flash Builder - by Wilson Silva

    http://eclipsecolorthemes.org/?view=theme&id=1855

  8. NYOJ题目806HEIHEI的心情

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtMAAANRCAIAAACumacBAAAgAElEQVR4nOzdrXLrOrjG8XMT5b2Q4l

  9. IE6中使用通用选择器模拟子选择器效果

    IE6及更低版本不支持高级选择器:IE7有个bug,对于子选择器和相邻同胞选择器,如果父元素和子元素有HTML注释,会出问题. 下面我们使用通用选择器来模拟子选择器的效果. 原理:首先在所有后代上应用 ...

  10. php导出excel封装类

    因为实际情况的需要,导出excel表格在后台开发的过程中会经常用到.下面是我在实际应用中自己整理的一个导出excel类,需要PHPExcel支持,本类很好的完成导出表格的基本样式,保存路径,切换工作薄 ...