• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    CentOS上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

    注:修改的文件前面不能有空格,否则启动svn server出错

    复制代码
    代码如下:

    vi passwd
    [users]
    #用户1> = 密码1>
    #用户2> = 密码2>
    jiqing=123456

    5.客户端连接

    复制代码
    代码如下:

    svn co svn://ip/njlrxx

    用户名:jiqing
    密码:123456

    6.实现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服务的关闭:

    复制代码
    代码如下:

    killall svnserve

    svn开启:

    复制代码
    代码如下:

    svnserve -d -r /var/www/svndata

    7.如何支持匿名用户访问
    方法一:
    在svn安装目录下找到,conf/httpd.conf文件,如果是手动集成apache的则找到apache的配置文件。
    找到中的

    复制代码
    代码如下:

    Require valid-user

    改为

    复制代码
    代码如下:

    LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
    /LimitExcept>

    重启服务,这样设置以后,svn下的所有内容都不在需要验证用户,可以直接访问。
    缺点:svn自身的访问权限设置失效了。更多的时候我们希望用户先用匿名方式尝试访问,如果不行,在输入用户名和密码验证访问。

    方法二:
    在配置文件中加入

    复制代码
    代码如下:

    Satisfy Any

    加入了Satisfy Any的设置,其表示在同时启用了Allow(允许)和Require的情况下,指定相关策略的,一共有两个备选值,All表示用户必须同时满足Allow和Require的条件,而Any则是满足其中之一即可。
    Satisfy Any表示允许先用匿名方式尝试访问,并根据svnauthz对匿名用户的控制给予访问权限。

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

    上一篇:CentOS系统安装内核时提示/boot分区空间不足问题的解决方法
    下一篇:CentOS下安装使用FTP服务器端程序ProFTPd的教程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    CentOS上SVN服务器端程序的安装与使用教程 CentOS,上,SVN,服务器,端,程序,