zoukankan      html  css  js  c++  java
  • linux 安装SVN:subversion及实现web同步更新

    1.查看是否安装cvs 
    rpm -qa | grep subversion


    2.安装 
    yum install subversion

    配置:

    二、配置
    1、新建一个目录:repos 可用于存储SVN所有文件
    mkdir -p /opt/svndata/repos
    注意,这里的目录(项目名称)路径可以更改,格式如下:
    mkdir -p 目录路径(如:mkdir -p /www/svn/project)


    2、新建一个版本仓库(使用svnadmin create 目录仓库路径与上面新建的目录要一致)
    svnadmin create /opt/svndata/repos


    3、修改svn版本库的配置文件
    vi /opt/svndata/repos/conf/svnserve.conf


    按以下格式内容修改,其中realm的值为项目名称,本例中即为repos。

    注意:password-db,authz-db打开#就可以了,不需要添加仓库路径
    [general]
    anon-access = none
    auth-access = write
    password-db =passwd
    authz-db =  authz
    realm = repos
    注意:对用户配置文件的修改立即生效,不必重启svn


    4、添加用户
    vi /opt/svndata/repos/conf/passwd
    要添加SVN用户非常简单,只需在/opt/svn/project/conf/passwd文件添加一个形如“username=password”的条目就可以了。
    为了测试,我添加了如下内容:
    [users]
    user1 = user123321

    user2 = user123321


    5、修改用户访问策略
    vi /opt/svndata/repos/conf/authz
    记录用户的访问策略,以下是参考:

    其他都不用管添加一个下面路径即可

    [groups]

    admin = user1,user2


    [/]
    @admin = rw

    *=
    关于权限的控制,本文不详情叙述,大家可以去咨询度娘。

    5、启动svn服务(如果有多个SVN管理可以修改端口号来实现)
    svnserve -d --listen-port 3690 -r /opt/svndata/repos (以root用户在运行)

    6、测试svn服务器

    这一步必须要做,否则下面钩子会不起作用
    进入网站根目录
    1. cd /www/web/repos/public_html(你web所在目录)
    2. svn co svn://127.0.0.1:3690 /www/web/repos/public_html --username pm --password pm_pw

    3.提示输入root和user密码注意看

    4.提示yes/no ,输入yes回车

    7.配置post-commit

    cd /opt/svndata/repos/hooks

    cp post-commit.tmpl post-commit
    chown www:www post-commit
    chmod +x post-commit

    可以看到有一个post-commit.tmpl文件,这是一个模板文件,复制一份放在此目录下,命名为post-commit,并将其用户组设为www,并设置为可执行

    这样就有了访问www目录的权限。
    里面原有的代码全部注释掉.这里可以执行shell命令,每次commit完成后都会调用此文件.

    8.编辑post-commit

    vi post-commit

    把里面的内容全部注释掉或者删掉

    加入下面代码,并且修改

    #!/bin/sh
    export LANG="zh_CN.UTF-8"
    echo "\n\n\n##########submit" `date "+%Y-%m-%d %H:%M:%S"` '##################' >> /tmp/svn_update.log
    svn export --username user1 --password user123321 svn://127.0.0.1:3690 /www/web/repos/public_html --force
    chown -R www:www /www/web/repos/public_html

    export LANG="zh_CN.UTF-8"
    echo "\n\n\n##########submit" `date "+%Y-%m-%d %H:%M:%S"` '##################' >> /tmp/svn_update.log
    svn export --username user2 --password user123321 svn://127.0.0.1:3690 /www/web/repos/public_html --force
    chown -R www:www /www/web/repos/public_html

    保存:wq,退出vim,去客户端上传和使用的svn吧!

  • 相关阅读:
    HDU 1010 Tempter of the Bone
    HDU 4421 Bit Magic(奇葩式解法)
    HDU 2614 Beat 深搜DFS
    HDU 1495 非常可乐 BFS 搜索
    Road to Cinema
    Sea Battle
    Interview with Oleg
    Spotlights
    Substring
    Dominating Patterns
  • 原文地址:https://www.cnblogs.com/feimengv/p/4044052.html
Copyright © 2011-2022 走看看