zoukankan      html  css  js  c++  java
  • linux 安装SVN

    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入门实践笔记(二)——Jar包的运行与关闭
    SpringCloud从入门到进阶(二)——注册中心Eureka的伪分布式部署
    Linux入门实践笔记(一)——安装JDK与运行jar包
    探究ConcurrentHashMap中键值对在Segment[]的下标如何确定
    探究HashMap线性不安全(三)——死循环的产生
    jmeter集成测试报告
    jmeter+ant+jenkins持续集成设置
    jmeter-环境配置与安装
    MySql 基本语法_数据表操作
    MySql 基本语法_数据库操作
  • 原文地址:https://www.cnblogs.com/smailxiaobai/p/5262021.html
Copyright © 2011-2022 走看看