zoukankan      html  css  js  c++  java
  • CentOS7 基于 subversion 配置 SVN server

    由于 Window Server 环境下,VisualSVN Server Community 版本只支持 15 个同时在线用户,所以彻底放弃 Windows Server,在 Linux Server 上基于 subversion 建立 SVN server,

    1. 首先查看是否已安装 subversion

    $ svnserve --version

    2. 如果没有,需要先安装

    $ sudo yum install subversion

    3. 新建一个文件夹,用于存放所有 svn repo,比如在根目录下建立名为 svn 的文件夹

    # cd /
    # mkdir svn

    4. 在上述 svn 文件夹建立第一个 repo,比如名字为 hello_kitty

    [/] # cd svn
    [/svn/]# svnadmin create hello_kitty

    5. 查看一下 hello_kitty 的目录结构 (下述 conf 中三个绿色文件,需要设置)

    [/svn/]# tree hello_kitty

    hello_kitty/
    ├── conf
    │   ├── authz
    │   ├── passwd
    │   └── svnserve.conf
    ├── db
    │   └── ...
    ├── format
    ├── hooks
    │   └── ...
    ├── locks
    │   └── ...
    └── README.txt

     6. 设置用户名和密码

    打开上述 passwd, 比如添加两个用户 lilei ,hanmm,密码分别是 123,56789

    [users]
    lilei = 123
    hanmm = 56789

    7. 设置鉴权

    打开上述 authz 文件,为方便起见,添加群组,并指定群组权限

    [groups]
    english_learn_team = lilei,hanmm
    
    [hello_kitty:/]
    @english_learn_team = rw
    * = 

    - 对上述橙色部分的说明:

    可设置多个群组

    每个群组可包含多个用户,用户之间用逗号分隔

    - 对上述绿色部分的说明:

    [/]:表示对根目录下全部版本库设置权限,根目录是 svnserve 命令启动时指定的目录

    [repos:/]:表示对名为 repos 的版本库设置权限

    [repos:/abc]:表示对名为 repos 的版本库下的 abc 项目设置权限

    [repos:/abc/def]:表示对名为 repos 的版本库下的 abc 下的 def 项目设置权限

    - 对上述蓝色部分的说明:

    对于群组,要以 @ 开头,而对单个用户名不需要

    r 只读,w 只写,rw 或 wr 读写,空表示无权限

    * = ,表示任何其他用户或群组无权限,这一句不要省略

    8. 配置 server 属性及文件路径

    打开上述的 svnserve.conf 文件,修改如下选项

    [general]
    anon-access = none
    auth-access = write
    password-db = /svn/hello_kitty/conf/passwd 
    authz-db = /svn/hello_kitty/conf/authz

    注意:为了安全起见,可将上述三个文件权限配置为 600,

    # chmod 600 conf/*

    9. 启动 SVN serer  (-d 表示以后台守护模式运行,-r 表示 svn 的根目录,注意这里的根目录指定)

    # svnserve -d -r /svn/

    注意,修改 passwd, authz 会立即生效,不需要重启 server,但修改 svnserve.conf 后需要重启 server

    # pkill svnserve
    # svnserve -d -r /svn/

    10. 可以查看一下网络状态,默认情况下 SVN server 使用端口 3690

    # netstat -lntup
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      331821/svnserve     

    注意,如有必要,防火墙需要开放 3690 端口

    # /sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
    # iptables-save 

    11. 设置 SVN 服务随 server 开机启动,参见这里

    12. 在 Window 端,直接使用 Tortoise SVN 作为客户端程序,比如 SVN server 的 IP 地址是 10.217.32.107,则上述 repo 的地址为 svn://10.217.32.107/hello_kitty/

    输入用户名密码,即可 update,commit,……

    注意:svn 客户端的访问方式有多种,例如,

    - file:// 直接访问版本库
    - http:// 通过 webdav 协议服务支持 subversion 的 apache 服务器
    - https:// 与 http:// 相似,但使用 ssl 加密
    - svn:// 通过未认证的 tcp/ip 自定义协议访问 svnserver 服务器
    - svn+ssh:// 通过认证并加密的 tcp/ip 自定义协议访问 svnserver 服务器

    完。

     #===============================================================

    本文大部分内容来自网友博客: https://www.cnblogs.com/whybxy/p/8939897.html

  • 相关阅读:
    Spring scope注解
    classpath与clsspath*
    Hadoop 5 Hbase 遇到的问题
    Hadoop 3
    Hadoop 4 MapReduce
    Hadoop 2
    Hadoop 1
    毕业设计---jQuery动态生成的a标签的事件绑定
    毕业设计---json,Struts,ajax以及JQuery简单案例
    基于SSH框架的学生选课质量属性分析
  • 原文地址:https://www.cnblogs.com/gaowengang/p/11989046.html
Copyright © 2011-2022 走看看