zoukankan      html  css  js  c++  java
  • svn安装和配置

    安装svn

     参考http://blog.csdn.net/dl425134845/article/details/41978541

    系统版本

    uname -a # 查看内核/操作系统/CPU信息 

    head -n 1 /etc/issue # 查看操作系统版本 

    yum软件仓库找到SVN安装包安装

    中间会列出要关联的包,并提示下载:输入“y”并确认

    yum list *svn*

    yum install subversion

    成功

    查找svn位置 查看SVN 命令 和版本和

    svn help   或者 svn --help

    svn --version

    svnadmin --version

    find / -name svn

    创建目录存放版本库

    cd /

    mkdir /svndata

    创建版本库1 wxshop

    svnadmin create /svndata/wxshop

    创建版本库2  xiaocx

    svnadmin create /svndata/xiaocx

     配置信息1

    cd /svndata/wxshop/conf

    这里面有3个文件,分别为authz、passwd、svnserve.conf;

    主要就是修改其中配置,可以统一把所有配置集中一起,也可以各自配置。

    以下就是统一配置

    配置信息2

    mkdir /svndata/svnconf

    ===

    创建一个svn统一管理

     配置信息3

    cp /svndata/wxshop/conf/authz /svndata/svnconf/

    cp /svndata/wxshop/conf/passwd /svndata/svnconf/

    rm -rf /svndata/wxshop/conf/authz

    rm -rf /svndata/wxshop/conf/passwd

    ==========

    把配置,账号密码,权限等配置集中一起

    首先先将authz和passwd这2个文件复制到/usr/local/svnconf目录下;

    删除当前目录(/usr/local/svndata/wxshop/conf)下的authz、passwd;

    修改当前目录(/usr/local/svndata/wxshop/conf)下的svnserve.conf;

      配置信息4,svn仓库修改参数

    vim /svndata/wxshop/conf/svnserve.conf

    [general] 

    anon-access = none # 使非授权用户无法访问 

    auth-access = write # 使授权用户有写权限 

    password-db = /svndata/svnconf/passwd  # 指明密码文件路径 

    authz-db = /svndata/svnconf/authz    # 访问控制文件

    http://www.cnblogs.com/shaohuixia/p/5532448.html

    svnserve.conf

      各参数功能在配置文件的注释中有说明, 此处配置如下: 


    [general] 

    anon-access = none # 使非授权用户无法访问 

    auth-access = write # 使授权用户有写权限 

    password-db = /opt/svndata/repos/conf/passwd  # 指明密码文件路径 

    authz-db = /opt/svndata/repos/conf/authz    # 访问控制文件

    realm = /opt/svndata/repos   # 认证命名空间,subversion会在认证提示里显示,并且

     配置svn用户   :passwd文件

    vim /svndata/svnconf/passwd

    [users]

    XXX123 = wjb123

    ================

    [users]

    <用户1> = <密码1> admin = admin

    <用户2> = <密码2> username2 = password2

    可以添加多个,此为用户名密码对。

     配置权限 :authz文件

    vim /svndata/svnconf/authz

    [groups]

    admin = xxx123,wjbsw

    [/]

    @admin = rw

    [wxshop:/]

    @admin = rw

    ===============

    意思是,用户组admin,有用户,wjb123和wjbsw两个用户

    [/],根目录。也就是对于/svndata根仓库,也就是所有仓库

    @admin = rw   这个组有读写权限

    [wxshop:/]  只对于wxshop仓库

    ============

     配置权限 :authz文件

        指令简介:此配置文件采用“基于路径的授权”策略,中括号里指定路径,以下列出对各用户的授权。包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,具体请参考svn手册,以下是简单例子:


    <!--[if !supportLineBreakNewLine]-->       用户组格式:

        [groups]

        <用户组名> = <用户1>,<用户2>

        其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。

        版本库目录格式:
        [<版本库>:/项目/目录]
        @<用户组名> = <权限>
        <用户名> = <权限>
        其中,方框号内部分可以有多种写法:
         /,表示根目录及以下。根目录是svnserve启动时指定的,我们指定/opt/svndata。这样,/就是表示对全部版本库设置权限。
         repos1:/,表示对版本库1设置权限
         repos2:/abc, ,表示对版本库2中的abc项目设置权限
         repos2:/abc/aaa, ,表示对版本库2中的abc项目的aaa目录设置权限
         权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。

    重点是修改这4个参数

    anon-access = none

    auth-access = write

    password-db = /usr/local/svn/passwd    //这也是为什么上面讲passwd复制到/usr/local/svn路径下的原因

    realm = XXXXX   //这是svn连接时的提示信息

    启动SVN

    /usr/bin/svnserve -d -r /svndata/

      //注意,这里只输入到版本库的父母录即可,这样会加载里面所有的版本库

    netstat -nupl (UDP类型的端口)
    netstat -ntpl (TCP类型的端口)

    =============

    如果找不到,find / -name svn

    (输入命令:svnserve -d -r /usr/local/svndata )                    //注意,这里只输入到版本库的父母录即可,这样会加载里面所有的版本库

     更新线上web网站代码到svn

    切换路径至/usr/local/svndata/repos1/hooks

    复制post-commit.tmpl文件并且命名为post-commit,   命令如下

    cp post-commit.tmpl  post-commit

    修改post-commit文件的属性,增加可执行权限,            命令如下:

    chmod -R +x post-commit

    修改post-commit文件,,在末尾添加如下内容,把末尾几行没有注释掉的注释掉,修改内容如下:

    WEB= /home/wwwroot/website1/                     //这里指向的是你web发布存放代码的路径

    export LANG=en_US.UTF-8

    /usr/local/svn/bin/svn update $WEB --username 用户名 --password '密码'

    至此版本库1修改完毕,同样修改版本库2,

    ===============

    服务器上检出

    svn checkout svn://120.77.40.225:/wxshop /home/wujunbin/www

    也有一种是把端口号也写上的svn checkout svn://120.77.40.225:3690/wxshop /home/wujunbin/www

    http://www.cnblogs.com/fengbohello/p/4548580.html

    =========

    ./svn co svn://本机ip地址/repos1   /home/wwwroot/website1

    ./svn co svn://本机ip地址/repos2   /home/wwwroot/website2

    关闭SVN,方法如下:

    查看svn进程是否已经启动,ps -ef|grep svn    ps -ef|grep svnserve

        netstat -ntlp  

    然后输入 kill -9 进程号 杀死该进程

     重新指定一个端口号(默认端口3690)

    svnserve -d --listen-port 3691 -r /opt/svndata/repos

      卸载svn

    yum remove subversion

      svn错误svn: Can't connect to host '120.77.40.225': Connection refused

    启动SVN

    切换到/usr/local/svn/bin目录下

    输入命令:svnserve -d -r /usr/local/svndata                      //注意,这里只输入到版本库的父母录即可,这样会加载里面所有的版本库

  • 相关阅读:
    SharedPreferences.Editor 的apply()与commit()方法的区别
    Android 解决方法数 65536 (65k) 限制
    Android RatingBar 自定义样式
    自定义 checkbox 新玩法 ?
    Android 透明度百分比对应的 十六进制
    Linux文件权限rwx简单了解
    Linux学习之Vim使用
    Linux学习之用户管理
    Linux学习之sudo命令
    一元稀疏多项式加法运算
  • 原文地址:https://www.cnblogs.com/wujunbin/p/7468594.html
Copyright © 2011-2022 走看看