zoukankan      html  css  js  c++  java
  • 在Linux下搭建SVN服务器

    svn不仅仅可以用于程序开发,还可以做很多事情,例如备份文档。



    CentOS下:
    安装

    yum install -y subversion

    Ubuntu下:

    sudo apt-get install subversion

    检查是否安装成功

    svnserve --version

    建立项目

    mkdir -p ~/svn            //建立svn根目录,用于存放多个项目,其中“~”表示home目录

    新建项目proj1

    mkdir -p ~/svn/proj1  //其中-p表示没有父目录则新建 svnadmin create ~/svn/proj1

    命令完成后,会在proj1目录下生成相应的文件和文件夹:

    9685168162_917cc7f9fb_o.jpg

    再建立1个项目proj2

    mkdir-p ~/svn/proj2 svnadmin create ~/svn/proj2

    配置SVN

    将proj1/conf下的authz、passwd和svnserve.conf拷贝至~/svn/根目录下,结果如下所示:

    9685175726_1401bfc003_o.jpg

    添加用户

    注意:不需要在linux中添加用户

    vi ~/svn/passwd,添加形如“username=password”的条目即可

    9681939763_612fbe0b38_o.jpg

    权限控制

    用于设置哪些用户可以访问哪些目录

    vi ~/svn/authz,添加

    [groups]
    admin=test1 devteam1=test2,test3 //开发组一 devteam2=test4   [/]
    @admin=rw *=
    [proj1:/]
    @devteam1=rw [proj2:/]
    @devteam2=rw

    注: 此处的用户名必须是“passwd”文件中已经定义的用户名

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

    *=表示除了有权限的用户之外,其他任何人都禁止访问本目录。


    进入proj1/conf,配置svnserve.conf(左侧不能留空格),让用户和权限控制策略生效

    [general] anon-access=none  # 使非授权用户无法访问 auth-access=write#使授权用户有写权限  password-db=~/svn/passwd#密码文件  authz-db=~/svn/authz#访问控制文件

    以后建立的其它项目可以直接使用此配置,如:

    cp ~/svn/proj1/conf/svnserve.conf  ~/svn/proj2/conf/svnserve.conf

    或cp ~/svn/svnserve.conf  ~/svn/proj2/conf/svnserve.conf

    启动

    svnserve -d -r ~/svn (注意不是~/svn/proj1)

    -d表示以守护模式运行

    svn默认监听3690端口,如果已经有svn在运行了,可以使用“--listen-port=”指定其它端口

    svnserve-d-r ~/svn/--listen-port3391

    这样同一台服务器便可以运行多个svnserver了

    检查端口

    netstat-ntlp|grep3690

    注:如果修改了svn配置,需要重启svn服务

    # ps -aux|grep svnserve
    # kill -9 ID号 //  -9表示强制终止# svnserve -d -r ~/svn

    开启3690端口

    /sbin/iptables -I INPUT -p tcp --dport3690-j ACCEPT /etc/init.d/iptables save   //保存 service iptables restart    //重启防火墙

    可通过cat /etc/sysconfig/iptables查看是否将3690端口添加成功


    windows下测试

    需要安装TortoiseSVN,有32位和64位

    安装完成后,可以右键打开Repo-browser,(url填svn://ip/proj1)建立一个目录后拖动代码进去,然后在另一个地方就可以check out了


    svn目录无绿勾,绿色标记

    没有这种
    只能不断重新安装和重启了。呵呵。


    SVN Check out时需要一直输入密码的问题


    home/<user>/.subversion/目录下的config文件找到一下配置:

    # store-passwords = no
    将“store-passwords = no” 注释掉或将其值设置成yes


    在~/.subversion/servers的global域下设置store-plaintext-passwords = yes  




  • 相关阅读:
    Asp.Net 之 前台绑定常用总结
    http无状态
    整理Py小demo
    RawURL
    整理的笔记
    单例模式
    DevExpress v18.1新版亮点——Analytics Dashboard篇(一)
    DevExpress v18.1新版亮点——Reporting篇(四)
    MyEclipse教程:使用UML创建模块库——第二部分(一)
    DevExpress v18.1新版亮点——Reporting篇(三)
  • 原文地址:https://www.cnblogs.com/elesos/p/5924480.html
Copyright © 2011-2022 走看看