在ubuntu16.04上搭建svn服务器

本文介绍在如何在ubuntu16.04 的系统上搭建svn服务器以及可能遇到的问题。下面的操作都以root用户进行。

1、安装svn服务器软件subversion。

// 安装完成后的svn版本为 1.9.3,通过svn --version可以查看版本号

apt-get install subversion

2、初始化svn目录。

//创建测试目录 repo1

mkdir -p /home/svn/repo1

// 初始化svn测试目录

svnadmin create /home/svn/repo1

初始化后的svn目录如图所示
在这里插入图片描述

3、使用svn:// 协议主要需要配置conf目录下的三个文件。

  1. svnserve.conf : repo1仓库svn服务配置文件

// 无认证用户不可以进行访问

anon-access = none

//认证用户有读写的权限

auth-access = write

//密码存放在passwd文件中

password-db = passwd

//认证权限存放在authz文件中

// 需要特别注意的是 所有配置的key都要顶格写,不然读取的时候会有问题,造成客户端无法读取仓库

authz-db = authz

2)authz : 用户权限配置文件


//groups 下存放分组下的用户 多个用户用,分割

[groups]

admin=harry,sally

//用相对路径表示要确定的目录 @组名 指定该组下所有用户的权限 也可以直接指定单个用户的权限

[/]

@admin=rw

3)passwd: 用户密码配置文件


//在users存放用户的密码,密码是明文存储的

[users]

harry = 111111

4 使用svn+ssh协议。使用这种方式将用ssh认证代替svn自身的认证,所以svn的conf目录无需修改任何东西,只要保证svn的用户有ssh登录的权限和对svn文件夹访问的权限就可以了。比较常见的做法是将用户放入一个用户组中,确保用户组对svn文件夹有访问权限。这样可以往用户组中添加多个用户,使多个用户都可以访问svn文件夹。


addgroup svngroup

useradd svn -m /home/svn -g svngroup

chown -R svn:svngroup /home/svn/repo1

chmod -R g+rws /home/svn/repo1

采用svn+ssh的方式,需要注意两个问题:

1)ssh端口,ssh端口建议采用默认的22端口,如果换成其他的端口,客户端要考虑是否好配置。

2) 在新建svn用户的时候,要为用户建立一个默认目录,不然使用windows svn客户端TortoiseSVN可能会出现无法登录的情况。

5 启动svn服务器

// -d 表示守护进程 -r 指定启动的根目录 --log-file 指定日志的位置

svnserve -d -r /home/svn --log-file=/var/log/svnserve.log

启动时要注意启动的根目录和访问目录是否匹配。例如启动指定了-r /home/svn/repo1,访问时使用 svn://svn@ip:/home/svn/repo1 是访问不到这个仓库的。

参考文档:SubVersion使用说明

参考链接 :
在ubuntu16.04上搭建svn服务器 : https://www.jianshu.com/p/c76e7c55097d

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值