zoukankan      html  css  js  c++  java
  • svn搭建脚本


    1yum install subversion

     

    2、输入rpm -ql subversion查看安装位置 

    我们知道svnbin目录下生成了几个二进制文件。

    输入 svn --help可以查看svn的使用方法,如下图。

     

     

    3、创建svn版本库目录

    mkdir -p /var/svn/svnrepos

     

    4、创建版本库

    svnadmin create /var/svn/svnrepos

    执行了这个命令之后会在/var/svn/svnrepos目录下生成如下这些文件

    5、进入conf目录(该svn版本库配置文件)

    authz文件是权限控制文件

    passwd是帐号密码文件

    svnserve.conf SVN服务配置文件

     

    6、设置帐号密码

    vi passwd

    [users]块中添加用户和密码,格式:帐号=密码,如dan=dan

     

    7、设置权限

    vi authz

    在末尾添加如下代码:

    [/]

    dan=rw

    w=r

    意思是版本库的根目录dan对其有读写权限,w只有读权限。

     

    8、修改svnserve.conf文件

    vi svnserve.conf

    打开下面的几个注释:

    anon-access = read #匿名用户可读

    auth-access = write #授权用户可写

    password-db = passwd #使用哪个文件作为账号文件

    authz-db = authz #使用哪个文件作为权限文件

    realm = /var/svn/svnrepos # 认证空间名,版本库所在目录

    使用下面这个命令进行测试是否正常

    svn list svn://10.0.0.10svn list svn://10.0.0.10

     

    svn: E200002: Unable to connect to a repository at URL 'svn://10.0.0.10'

    svn: E200002: /var/svn/svnrepos/conf/svnserve.conf:19: Option expected

    以上情况是因为/var/svn/svnrepos/conf/svnserve.conf文件配置没有顶格写

    svn: E220003: Unable to connect to a repository at URL 'svn://10.0.0.10'

    svn: E220003: Invalid authz configuration

    以上情况是authz文件没有顶格写配置

     

    9、启动svn版本库

    svnserve -d -r /var/svn/svnrepos

     

    10、在windows上测试()

    新建一个测试文件夹,在该文件夹下右键选择 SVN checkout如下图(要事先安装TortoiseSVN)

     

    填写SVN的地址,如下图:

     

     

    输入密码,如下图:

     

     

     

    端口号:3690

    iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT #允许 3690 端口

    service iptables save #保存 iptables 规则

     

     

    Linux下SVN服务器自动更新文件到Web目录的方法

    说明:

    服务器操作系统:CentOS
    服务器IP:127.0.0.1
    SVN项目路径:/var/svn/svnrepos
    SVN登录账号:root
    SVN登录密码:root
    Web站点根目录:/data/wwwroot/www.123.com
    实现目的:

    svn项目中有任何修改更新时,系统会自动实时从svn中检出文件并同步到Web站点根目录

    具体操作:

    一、使用SVN中post-commit实现自动实时从svn中检出文件并同步到Web站点根目录

    1. 首先导出一份svn的文件到网站目录

    svn co file:///var/svn/svnrepos /data/wwwroot/www.123.com

     

     

    2. 修改提交后执行文件”post-commit.tmpl

    cd /var/svn/svnrepos/hooks

    mv post-commit.tmpl  post-commit

    chmod +x post-commit

    vi post-commit

     

     

    REPOS="$1"

    REV="$2"

    export LANG=zh_CN.UTF-8 #字符集,与服务器一致,可执行locale命令查看

    svn update /data/wwwroot/www.123.com #更新svn

    echo `date`,`whoami`,$REPOS,$REV >> /var/svn/svnrepos/hooks/svn_hook.log #记录时

    间日志

    chown -R root:root /data/wwwroot/www.123.com #将网站目录文件更改属主,>如果你是使用root用户更新的话

     

     

    :wq! #保存退出

     

    至此,LinuxSVN服务器自动更新文件到Web目录教程完成。

    #!/bin/bash
    read -p "输入svn的目录" svn_dir
    #安装svn
    yum install subversion
    #创建svn版本库目录
    mkdir -p $svn_dir
    #创建版本库
    svnadmin create $svn_dir
    #设置账号密码,需要增加多个 直接按test格式添加
    cat >>$svn_dir/conf/passwd<<EOF
    test = 123456
    EOF

    #用户授权 等号前是组后面是用户,多个用户用逗号隔开
    cat >>$svn_dir/conf/authz<<EOF
    test = test

    [/]
    @test = rw
    * =
    EOF

    #修改svnserve.conf配置文件
    sed -i 's/# anon-access = read/anon-access = none/g' $svn_dir/conf/svnserve.conf
    sed -i 's/# auth-access = write/auth-access = write/g' $svn_dir/conf/svnserve.conf
    sed -i 's/# password-db = passwd/password-db = passwd/g' $svn_dir/conf/svnserve.conf
    sed -i 's/# authz-db = authz/authz-db = authz/g' $svn_dir/conf/svnserve.conf

    #启动svn服务
    svnserve -d -r $svn_dir

    #检查svn是否启动
    ss -lnp|grep 3690

  • 相关阅读:
    【转载】怎样使用ZEMAX导出高质量的图像动画
    shell中的单引号,双引号,反引号
    docker容器以非root用户启动应用
    js操作json的基本方法
    页岩油
    shell中使用ssh
    强一致性 弱一致性 最终一致性
    CSV和excel
    workbook sheetname最大长度
    ipvs了解
  • 原文地址:https://www.cnblogs.com/xiaoyaoren/p/9418676.html
Copyright © 2011-2022 走看看