zoukankan      html  css  js  c++  java
  • Linux(centOS6.5)下SVN的安装、配置及开机启动

     

    作为一名“万能”的码农,这种活儿你迟早要干的。----By Jimi没有bond

    准备工作:yum

    1.检查是否已安装

    rpm -qa subversion

    如果要卸载旧版本:

    yum remove subversion

    2.安装

    yum install subversion

    PS:yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql(这是安装配合Apache的模块,我暂时还没做,做了再补上,你可以只装subversion,多装了也无所谓)

    3.检查是否安装成功

    svnserve --version

    如果成功会输出版本号

    4.创建仓库目录
    例如:

    mkdir /home/svn/game

    5.创建项目

    svnadmin create /home/svn/game

    6.检查是否创建成功

    cd /home/svn/game
    ll

    如果成功,game目录下会多出几个文件夹

    7.进入conf目录会看到3个配置文件,生成的文件中都有英文注释说明
    示例需求:

    策划组:开策划、美术读写
    后端组:开后端读写,策划只读
    前端组:开前端读写,策划、美术只读
    美术组:开美术读写,策划只读
    管理员组:所有的读写

    authz:用户权限配置
    示例:

    [groups]
    #管理组
    manager = boss
    #服务端用户组
    server = server1,server2
    #客户端用户组
    client = client1,client2
    #美术组
    art = art1,art2
    #策划组
    design=design1,design2
    [game:/]
    manager=rw
    [game:/server]
    @server=rw
    [game:/client]
    @client=rw
    @design=r
    @art=r
    [game:/art]
    @design=rw
    @art=rw
    @client=r
    [game:/design]
    @design=rw
    @server=r
    @client=r
    @art=r

    passwd:用户密码

    [users]
    boss=123456
    server1=123456
    server2=123456
    client1=123456
    client2=123456
    art1=123456
    art2=123456
    design1=123456
    design2=123456

    svnserve.conf:

    #匿名访问者权限
    anon-access = none
    #验证用户权限
    auth-access = write
    #密码文件地址
    password-db = /home/svn/game/passwd
    #权限文件地址
    authz-db = /home/svn/game/authz
    #项目名称(UUID)
    realm =game


    8.开放svn端口
    默认是3690端口,你也可以用别的。已开启的跳过这一步

    修改
    iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
    保存
    /etc/rc.d/init.d/iptables save
    重启
    service iptables restart
    查看
    /etc/init.d/iptables status

    9.启动SVN服务

    svnserve -d -r /home/svn

    -d:守护进程
    -r:svn根目录
    假设服务端IP为192.168.1.100,那么如下设置后game的访问目录就为:
    svn://192.168.1.100/game

    10.安装客户端 TortoiseSVN

    11.建立子目录
    在客户端PC上找个目录,用管理员帐户从svn://192.168.1.100/game迁出game目录,分别新建art,design,server,client 4个子目录,然后提交。
    这时候你可以用其他组的帐户测试下是否正常使用了。

    12.安装好的svn服务端,默认是不会开机自启动的,每次开机自己启动会很麻烦,我们可以把它设成开机启动
    首先:编写一个启动脚本svn_startup.sh,我放在/root/svn_startup.sh

    #!/bin/bash
    /usr/bin/svnserve -d -r /home/svn/

    这里的svnserve路径保险起见,最好写绝对路径,因为启动的时候,环境变量也许没加载。
    绝对路径怎么查?

    which svnserve

    这里还有可能碰到一个问题,如果你在windows下建立和编写的脚步,拿到linux下,用vi或者vim修改后可能会无法执行,这是文件格式的问题

    vi svn_startup.sh
    
    输入:set ff 回车
    
    如果显示的结果不是fileformat=unix
    
    再次输入
    
    set ff=unix
    
    就OK了

    然后修改该脚本的执行权限

    chmod ug+x svn_startup.sh
    
    或者万能的
    
    chmod 777 svn_startup.sh

    最后:加入自动运行

    vi /etc/rc.d/rc.local
    在末尾添加脚本的路径,如:
    /root/svn_startup.sh

    现在,你可以重启一下试试了。 不懂得怎么确认成功?败给你了

    ps -ef|grep svnserve

    好多活,干不死我

  • 相关阅读:
    vim 去掉自动注释和自动回车
    性别回归
    表情识别
    python list按字典的key值排序
    pytorch学习率策略
    python将list元素转为数字
    php面向对象
    mysql
    mysql
    mysql
  • 原文地址:https://www.cnblogs.com/mingforyou/p/4241679.html
Copyright © 2011-2022 走看看