1.环境
centos6.4

2.安装svn
yum -y install subversion

3.配置

建立版本库目录
mkdir /www/svndata

svnserve -d -r /www/svndata--开启服务

4.建立版本库

创建一个新的Subversion项目
svnadmin create /var/www/svndata/njlrxx

配置允许用户jiqing访问
cd /var/www/svndata/njlrxx/conf

vi svnserve.conf
anon-access=none
auth-access=write
password-db=passwd

anon-access = read

auth-access = write

password-db = passwd

authz-db = authz

realm = My First Repository

各参数定义如下:

anon-access :定义非授权用户的访问权限,有三种方式: none 、 read 、 write ,设置为 none 限制访问,read 为只读, write 为具有读写权限,默认为 read 。

auth-access :定义授权用户的访问权限,有三种方式: none 、 read 、 write ,设置为 none 限制访问, read为只读, write 为具有读写权限,默认为 write 。

password-db :定义保存用户名和密码的文件名称,这里为 passwd ,和该文件位于同一目录。

authz-db :定义保存授权信息的文件名称,这里为 authz ,和该文件位于同一目录。

realm :定义客户端连接是的“认证命名空间”, Subversion 会在认证提示里显示,并且作为凭证缓存的关键字。

最后操作是关闭服务然再打开服务:

svn服务的关闭:

killall svnserve

svn开启:

svnserve -d -r /var/www/svndata

检查防火墙,是否添加svn端口规则

查看: iptables -L -n

1) 重启后生效 
开启: chkconfig iptables on 
关闭: chkconfig iptables off

2) 即时生效,重启后失效 
开启: service iptables start 
关闭: service iptables stop

需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。

在开启了防火墙时,做如下设置,开启相关端口, 
修改/etc/sysconfig/iptables 文件,添加以下内容: 
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中

1)设置WEB服务器根目录为/var/www/webroot

2)checkout一份SVN

svn co svn://localhost/njlrxx /var/www/webroot/njlrxx

修改权限为WEB用户

chown -R apache:apache /var/www/webroot/njlrxx

3)建立同步脚本

cd /var/www/svndata/njlrxx/hooks/

cp post-commit.tmpl post-commit

编辑post-commit,在文件最后添加以下内容

REPOS="$1"
REV="$2" BASEPATH=/var/www/webroot/njlrxx
WEBPATH="$BASEPATH/"
export LANG=zh_CN.UTF-8
svn update $WEBPATH --username jiqing --password 123456 --no-auth-cache

增加脚本执行权限

chmod +x post-commit

===============================================================

SVN自动同步程序执行流程:
1、用户提交文件到SVN服务器,提交操作成功后触发post-commit脚本
2、在post-commit版本文件中使用php_script.php执行PHP脚本
3、在PHP脚本中通过exec系统调用更新服务器上的版本库工作副本
4、根据更新操作结果日志,对另一个SVN版本库进行对应的操作处理

linux 安装SVN的更多相关文章

  1. linux 安装svn,并设置钩子来同步更新

    linux安装svn下载 http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz 和 http://subversion.tigr ...

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

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

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

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

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

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

  5. 160425、linux安装SVN服务器

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

  6. linux安装SVN

    1. 下载软件包 http://archive.apache.org/dist/subversion/ http://archive.apache.org/dist/subversion/subver ...

  7. linux 安装svn最新版本

    一.安装svn yum install -y subversion-* 结果为Complete就为正确 查看svn版本号 svnserve --version 1.6.11版本 mkdir /opt/ ...

  8. linux安装svn服务器(yum方式)

    1.查看yum是否安装         在终端中输入yum即可如果已经安装,会显示yum的参数         如果没有安装,会提示yum未安装或无效命令…… 2.安装svnyum -y instal ...

  9. CentOs linux安装SVN服务

    SVN服务器有2种运行方式:1.独立服务器(例如:svn://xxx.com/xxx):2.借助apache   (例如:http://svn.xxx.com/xxx):为了不依赖apache,我选择 ...

随机推荐

  1. sql server 2008 评估期已过期解决办法

    开始-->所有程序-->Microsoft SQL Server 2008-->配置工具-->SQL Server 安装中心-->维护-->版本升级,接着按照提示一 ...

  2. lintcode:恢复IP地址

    恢复IP地址 给一个由数字组成的字符串.求出其可能恢复为的所有IP地址. 样例 给出字符串 "25525511135",所有可能的IP地址为: [ "255.255.11 ...

  3. iOS开发--开发者帐号

    iOS应用上线 http://www.jianshu.com/p/ffddc5e5f0b9 http://www.jianshu.com/p/986e02d38f1b 好不容易终于申请下来了ios 公 ...

  4. Android百度地图开发05之公交信息检索 + 路线规划

    在上一篇blog中介绍过POI检索的使用,本篇blog主要介绍公交信息检索和线路规划的内容. 公交信息检索 实际上,公交信息检索与POI检索.在线建议检索非常相似,也是把你需要检索的信息发送给百度地图 ...

  5. POJ3267——The Cow Lexicon(动态规划)

    The Cow Lexicon DescriptionFew know that the cows have their own dictionary with W (1 ≤ W ≤ 600) wor ...

  6. 实际操作中命令 su 与 sudo 的区别(转)

    ------------------------------------------------------------------------------------------------ 首先我 ...

  7. 用状态矩阵解决有序操作的case爆炸问题(转载)

    转自http://qa.baidu.com/blog/?p=167 作者:qabloger 一. 简介 我们在测试中可能都会面对case爆炸问题.有的case组合是无序的,我们可以通过pict[1]组 ...

  8. (三)在js(jquery)中获得文本框焦点和失去焦点的方法

    在js(jquery)中获得文本框焦点和失去焦点的方法   文章介绍两个方法和种是利用javascript onFocus onBlur来判断焦点和失去焦点,加一种是利用jquery $(" ...

  9. Hibernate下的Many-to-Many的级联删除

    hibernate下的Many-to-Many的级联删除 Hibernate多对多的例子不少,但仔细一看,大多数都是保存的,删除谈的少,但问题还不少,因此有必须简单测试一下,以下我们来个简单的多对多关 ...

  10. js收藏

    //设为主页function SetHome(obj, vrl) { try { obj.style.behavior = 'url(#default#homepage)'; obj.setHomeP ...