• svn搭建以及可能遇到的问题解决方案


    Svn服务器的安装和配置

    注意,一定要切换到最高管理权限:  su root  通过这个命令就可以完成!

    1.安装svn服务器端软件
    从镜像服务器或者YUM源下载安装SVN服务器软件:yum install subversion 
    mkdir /usr/local/svn //创建SVN安装目录
    chmod -R 777 /usr/local/svn/      //修改目录权限为777
    svnadmin create /usr/local/svn/sunny //创建一个SVN版本仓库sunny(sunny可以自定义)
    cd /usr/local/svn/sunny/conf //进入sunny版本仓库下的配置文件目录

    下面要修改这个目录下的三个配置文件


    (1)vi svnserve.conf //配置版本库信息和用户文件和用户密码文件的路径、版本库路径,把
    # anon-access = read
    # auth-access = write
    # password-db = passwd
    //这四行,前面的#号和空格去掉(注意去掉#要顶格写,不要留有多余空格),变成
    anon-access = none //匿名访问,改成none
    auth-access = write
    password-db = passwd
    realm = sunny //改成自己的版本库名称
    保存退出

    (2)vi authz //文件,创建SVN组和组用户的权限
    [groups]
    sunny = gep,wce //创建一个sunny的组,并指定两个用户gep和wce

    [/] //制定根目录下的权限
    @sunny = rw //sunny组用户权限为读写
    * = r //其他用户只有读权限
    保存退出

    (3) vi passwd //创建或修改用户密码
    [users]
    gep = 123456 //用户名为gep的用户的密码为123456
    wce = 123456 //。。。
    保存退出


    启动SVN服务器:
    //这里采用多版本库的方式启动 
    svnserve -d -r /usr/local/svn/


    如果是单版本库可以添加一行 
    svnserve -d -r /usr/local/svn/sunny


    然后要设置自启动
    vi /etc/rc.local 打开自启动文件添加
    /usr/bin/svnserve -d -r /usr/local/svn/

    到此为止可以从服务端检出文件了.

    svn命令:
    netstat -tnl |grep :3690 查看svn是否启动
    安装成功!


    ps aux |grep svn 查找所有svn启动的进程
    kill -9 2505 杀死2505这个查找到的svn进程


    svn checkout svn://172.19.5.2/sunny /data0/htdocs/blog //检出一份版本库文件到指定目录
    svn up //更新文件

    自动更新
    在vi /usr/local/svn/sunny/hooks/post-commit中加入

    #!/bin/sh
    #设置一些变量
    SVN=/usr/bin/svn
    WEB=/home/testsvn #要更新的目录
    export LANG=en_US.UTF-8
    $SVN update $WEB --username xxx --password xxx


    其中SVN=右边改成 svn 命令位置 一般默认为/usr/bin/svn
    WEB=右边改成你实际的web目录
    赋予可执行权限
    chmod 777 /usr/local/svn/sunny/hooks/post-commit
    安装完毕

    出现启动svn显示报错(已启动)情况或者当项目的时候出问题解决:
    cd etc
    cd sysconfig
    vim iptables(仿照句子写一句3690的端口号的句子)
    重启防火墙service iptables restart

    最后我要着重描述一下svn自动更新的问题:

     1.首先找到 版本库的{ hooks },在hooks下创建 post-commit文件 不需要后缀.
    2.vim post-commit  加入如下代码:
    #!/bin/sh
    export LANG=zh_CN.UTF-8
    SVN=/usr/bin/svn     // 你去 cd 一下看看你服务器有没有这个路径 
    WEB=/procject/w-project     这个是你项目路径  
    $SVN update $WEB --username svn{用户名} --password svn{密码}   //这里面的这个{}是不需要的 相当于注释符号
    wq 保存
    重启svn  
    测试  
     
    svn重启命令:
     killall  svnserve
    svnserve -d -r /usr/local/svn/   这样是启动svn下所有的版本库的
     
     
    如果上述不行  试着把post-commit改成这样的内容
    #!/bin/sh
    export LANG=en_US.UTF-8
    /usr/bin/svn update /phpstudy/www --username gxf --password 123456
    看到了吗?只需要改红色部分!
     
    注意:我是在www下使用的  svn checkout命令  所以直接指向www就可以了!!!!
  • 相关阅读:
    投资理财的方式
    创造新的行业需要经历四个时期
    django 架构最佳实践相关整理
    Tornado 框架使用详解, 从懵逼到开撸
    wsl 安装 Ubuntu18.04 以及 docker
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
    多测师拱墅校区肖sir_高级金牌讲师_第二个月基本情况
    多测师拱墅校区肖sir_高级金牌讲师_python 的基本运用
    多测师拱墅校区肖sir_高级金牌讲师_html
    多测师拱墅校区肖sir_高级金牌讲师_python 安装和pycharm
  • 原文地址:https://www.cnblogs.com/findher/p/10610026.html
Copyright © 2020-2023  润新知