Ubuntu搭建SVN服务器指南

文章目录
  1. 1. 安装必要的软及包
  2. 2. 基本SVN服务器配置
  3. 3. 配置SVN开机启动

本文针对Ubuntu各版本系统,示例均在Ubuntu12.04下实验成功

安装必要的软及包

  • 安装SVN:$sudo apt-get install subversion

基本SVN服务器配置

  1. 创建一个目录存储SVN服务所需的所有文件以及数据库
    #mkdir /home/svn
    #chmod 777 /home/svn

  2. 创建一个版本仓库
    $svnadmin create /home/svn/project-test

  3. 初始化导入文件
    将/home/vizhen/source/下文件导入到仓库中
    $svn import /home/vizhen/source/ file:///home/svn/project-test -m "初始化导入文件"
    注意:svn import导入中会过滤掉一些文件,具体规则在相关的配置文件中,我们可以使用如下方法
    使用命令参数,同样也适用与”svn add”,如下:
    $svn import /home/vizhen/source/ file:///home/svn/project --no-ignore -m "初始化导入文件"
    另外,也可以通过修改过滤配置文件

  4. 添加用户
    修改/home/svn/project-test/conf/passwd文件,按照”username = password”条目格式增加相关用户,如下:

    [users]
    tanjun = tanjun.123
    guest = guest

    这样我们就添加了tanjun 和 guest 两个svn帐号了

  5. 修改用户权限[可选]
    /home/svn/project-test/conf/authz文件中定义了用户的访问策略,如下参考:

    [groups]
    dev_groups = tanjun
    guest_groups = guest
    [/]
    @dev_groups = rw
    @guest_groups = r
    *=

    这样的话这个工程的根目录下属于dev_groups组用户拥有可读可写的权限,guest_groups组下用户只读权限

  6. 修改svnserve.conf文件,让用户和策略配置升效,如下:

    [general]
    anon-access = none
    auth-access = write
    password-db = passwd
    authz-db = authz

  7. 启动服务器
    $svnserve -d -r /home/svn

  8. 测试
    $svn co svn://127.0.0.1/project-test

配置SVN开机启动

  • Ubuntu中在/etc/rc.local文件中“exit 0”前面添加svnserver启动命令
    svnserve -d -r /home/svn
    如果需要修改svn服务使用的端口,假设需要修改为8899,则只需要将命令修改为:
    svnserve -d -r /home/svn --listen-port 8899
    checkout文件时候需要在地址后面指明端口“:8899”
    svn co svn://127.0.0.1:8899/project-test