linux安装svn下载

http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz

和 http://subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz

1./configure --prefix=/opt/svn --without-berkeley-db --with-zlib=/usr/local/subversion-1.6(此处指明位置)

     (--prefix是指的安装目录,--without是不用apche 最后是使用依赖包)

2.make &&make install

3,在etc/profile 里面加入环境变量

SVNPATH=$PATH:/opt/subversion/bin

4.source profile 使环境变量生效

5,检查版本 svn --version  svnserve --version(注意是两个横)

6.建立版本库目录  选择一个目录之后 建立   mkdir -p svn

cd svn 然后建立测试库 mkdir -p svntest

7.建立版本库

svnadmin create svntest

8.修改配置文件

cd svntest/conf

ll

-rw-r--r-- 1 root root 710 08-25 09:40 authz

-rw-r--r-- 1 root root 325 08-25 09:38 passwd

-rw-r--r-- 1 root root 1449 08-25 09:36 svnserve.conf

vi svnserve.conf

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz

vi authz

[svntest:/]

lipeng = rw

#给svntest仓库添加一个名称为lipeng 的用户,权限为可写。

vi passwd

lipeng = 123456

为这个设置密码

svnserve.conf

(注意:这只是在svntest下生效的用户名密码,也可以统一写到svn/conf/authz和password里面,就相当于全局的,只要在版本库中的

引入即可)

9.启SVN服务,并指定SVN的根目录:

[root@youxia201 test]# svnserve -d -r /usr/local/svn/

-r指定服务器的根目录

-d表示在后台运行

服务已经正常起来:

[root@youxia201 test]# netstat -tunlp | grep svn

tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      8646/svnserve

10、开放服务器端口

svn默认端口是3690,你需要在防火墙上开放这个端口。

/sbin/iptables -A INPUT -i eth0 -p tcp --dport 3690 -j ACCEPT

/sbin/service iptables save

你也可以通过svnserve的--listen-port选项来指定一个已经开放的其他端口,不过这样的话客户端使用也必须家上端口,如svn://192.168.1.200:9999/.

11,通过 netstat -tunlp | grep svn  找到进程id ,kill -9 id掉

svnserve -d -r /usr/local/svn/ --listen-port 843 用这个端口打开

然后重新启动就可以了

12.由于svn服务器和客户端是不一样的,所以不能从服务器看到源文件,请注意

但是可以在linux下新建一个文件夹,然后执行命令 svn checkout svn://192.168.1.200:9999/ 会提示输入linux终端的密码,以及svn用户名以及密码

二,设置钩子

我们知道要把svn的内容更新到web目录需要手动的svn
up,但是今天笔者教你自动更新web目录的方法,我们要在svn版本库中配置钩子来实现,就是创建一个post-commit的配置文件,对其进行简单
的配置,简简单单的四步就可以实现Linux下SVN自动更新web目录配置。

第一步:建立你的web程序目录

mkdir /var/www/html/test

进入/var/www/html/test目录。

   svn checkout svn://121.14.177.178:843/svntest 不重命名文件夹,直接在当前目录下检出

    svn checkout svn://121.14.177.178:843/svntest test 检出文件并且重命名文件夹

  

第二步:在项目库的 hooks/ 目录下新建 post-commit 文件 【钩子脚本】

添加脚本内容如下:

#!/bin/sh

SVN=/usr/bin/svn           #这里配置的是svn安装bin目录下的svn文件

WEB=/var/www/html/test     #要更新的目录

$SVN update $WEB --username xxx --password xxx (此版本是linux下,windows下是.bat,写法少有不同)

其中SVN=右边改成 svn 命令位置

WEB=右边改成你实际的web目录

第三步:让post-commit有执行的权限 chmod 777 post-commit

第四步:这里就已经完成了,第四步就是测试了。

说明:

#!/bin/sh 说明是执行shell命令

export LANG=zh_CN.GBK 是为了解决svn post commit
中文乱码,设置本地化编码,因为我的系统为GBK编码,SVN默认是UTF-8编码,如果不设置将会出现错误,而执行不成功,错误标识为svn:
Can't convert string from native encoding to 'UTF-8'

/usr/bin/svn update --username lxy --password 123456 /var/www/myproject 执行更新操作

如果提示:post-commit hook failed (exit code 255) with no output赋予post-commit文件可执行权限

如果您的默认编码就是UTF-8的,要上传中文文件,先将文件另存为UTF-8格式在提交

linux 安装svn,并设置钩子来同步更新的更多相关文章

  1. Linux下一键安装包的基础上安装SVN及实现nginx web同步更新

    Linux下一键安装包的基础上安装SVN及实现nginx web同步更新 一.安装 1.查看是否安装cvs rpm -qa | grep subversion 2.安装 yum install sub ...

  2. 安装SVN及实现nginx web同步更新需要在WDCP一键安装包的基础上

    一.安装 1.查看是否安装cvs rpm -qa | grep subversion 2.安装 yum install subversion 3.测试是否安装成功 /usr/bin/svnserve ...

  3. Linux下svn提交文件后自动同步更新到网站目录

    有时,对于多文件需要上传到服务器的时候将会很麻烦,但是如果使用svn的钩子脚本就容易实现本地提交svn后,自动同步代码文件到远程服务器的网站目录下,而不必手动上传了. 首先,在网站目录下checkou ...

  4. LINUX安装SVN+添加自动同步+远程下载最新代码

    LINUX安装SVN+添加自动同步+远程下载最新代码---------------------1. 新建一个用户:svnroot ,以下操作非特别说明皆为root用户操作--------------- ...

  5. Linux安装svn服务图文详解 ;出现No repository found in 'svn***问题

    Linux安装svn服务 ** 示例都是用的root权限,可选择用 sudo** 1:检查 安装条件为:Linux(centos)上未安装过svn服务,若安装过或安装失败请自行删除,这里不多介绍.检查 ...

  6. linux安装配置SVN并设置钩子

    安装说明 系统环境:CentOS-6.3安装方式:yum install (源码安装容易产生版本兼容的问题)安装软件:系统自动下载SVN软件 检查已安装版本 #检查是否安装了低版本的SVN 1 rpm ...

  7. linux 安装SVN

    1.环境centos6.4 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata svnserve -d -r /www/sv ...

  8. Linux 安装SVN服务器 (转)

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  9. 160425、linux安装SVN服务器

    1:查看linux是否已经安装svn服务 [root@nb ~]# rpm -qa subversion subversion-1.6.11-15.el6_7.x86_64 2:安装svn #yum ...

随机推荐

  1. 细说 ASP.NET Cache 及其高级用法【转】

    阅读目录 开始 Cache的基本用途 Cache的定义 Cache常见用法 Cache类的特点 缓存项的过期时间 缓存项的依赖关系 - 依赖其它缓存项 缓存项的依赖关系 - 文件依赖 缓存项的移除优先 ...

  2. PHP连接Access数据库代码

    使用php的odbc函数,不创建数据源. $connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath(" ...

  3. Web前端开发实用的Chrome插件

    Web前端开发实用的Chrome插件 越来越多的前端开发人员喜欢在Chrome里开发调试代码,Chrome有许多优秀的插件可以帮助前端开发人员极大的提高工作效率.尤其Chrome本身是可以登录的,登录 ...

  4. Redis 上实现的分布式锁

    转载Redis 上实现的分布式锁 由于近排很忙,忙各种事情,还有工作上的项目,已经超过一个月没写博客了,确实有点惭愧啊,没能每天或者至少每周坚持写一篇博客.这一个月里面接触到很多新知识,同时也遇到很多 ...

  5. 编程算法 - 切割排序 代码(C)

    切割排序 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 排序切割, 把一个数组分为, 大于k\小于k\等于k的三个部分. 能够使用高速排序的Parti ...

  6. 条形码(JBarcode)

    一世尘梦 少小离家老大回,妖娆尘世,程序唧唧:问君能有几多愁,恰是满屏BUG无处修. 商品条形码(JBarcode) 之前没有使用过这个,现在使用JBarcode生成商品条形码,工作之前的准备工作: ...

  7. SQL 无限级分类语句

    原文:SQL 无限级分类语句 原表数据为: 此处用到了with关键字,在程序中也可以用递归实现,但觉得还是没有一条sql方便 with tb (ID,Name,ParentID,Sort) as( s ...

  8. How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置

    原文:How to:Installshield判断操作系统是否为64位,并且为操作注册表进行设置 IS脚本操作注册表在64位平台下必须有特殊的设置 if (SYSINFO.bIsWow64) then ...

  9. (64位oracle使用32位的PLSQL)安装64位的oracle数据库软件,使用32位的PLSQL Developer连接方法

    因为PLSQL Developer没有提供64位的,于是依据网上的资料做了一下整理,发上来 1.下载并安装Oracle 11g R2 64位,在server上安装时忽略硬件检測失败信息: 2.下载Or ...

  10. 提高C#编程水平的50个要点 你掌握了多少呢?

    提高C#编程水平的50个要点,程序员都是追求极致的完美主义者,下面的这些注意点和要点,你都掌握运用了多少呢? 总是用属性(Property)来代替可访问的数据成员 在 readonly 和 const ...