svn是多人协作开发中的利器,是一个开放源代码的版本控制系统。

相比与git,他的操作更加简单,windows下有优秀的图形界面,并且支持的文件类型比较多。

本文讲述如何在linux下搭建一个svn服务器,并且进行权限分配,项目管理。

服务器环境:centos7

安装步骤:

1.yum install subversion -y

出现complete即代表安装完成.

2.选择一个目录作为svn服务器根目录 我选择的是 /srv

mkdir /srv/svn

3.创建版本库,因为要展示多个版本库的搭建,因此这里我创建3个版本库作为演示。

svnadmin create /srv/svn/p1

svnadmin create /srv/svn/p2

svnadmin create /srv/svn/p3

这样就可以创建三个项目,项目名为p1,p2,p3

现在文件目录如上图,我们查看一下每个项目的目录

可以看到p1下拥有这6个文件,其中最主要的是conf目录,查看conf目录,可以看到3个文件

authz  //权限控制文件

passwd //用户账号密码

svnserve.conf //svn配置文件

p1,p2,p3 都有这几个文件,因为我们要搭建的是多项目svn服务器,因此 权限控制与账号密码文件 需要公共使用。

拷贝authz 与 passwd到 /srv/svn 公共目录下

cp /srv/svn/p1/conf/authz  /srv/svn

cp /srv/svn/p1/conf/passwd  /srv/svn

编辑svn目录下的 账号密码文件

vi /srv/svn/passwd

如图 我添加了这几个用户  =号左边的代表登录用户 右边代表登录密码。

再编辑 svn下的权限控制文件

可以看到group标签。 这里是添加用户组的,我们可以给每个用户指定属于哪个用户组,并且以组为单位赋予权限。

如图,我创建了四个用户组,admin组包含用户zdp,其他3个组包含了测试用户

svn的权限控制很精确,可以指定到每个项目,每个成员,每个组所拥有的权限

我在文件的底部添加如下记录。

[/]

@admin = rw

test1 = r

[p1:/]

@group2 = rw

[p2:/]

@group2 = rw

test5 = rw

[p3:/]

@group3 = rw

接下来分别解释一些1,2,3,4所代表的含义。

1:admin组拥有对svn跟目录的读写权限,test1拥有对根目录的读权限。

可以看到指定组权限的时候 加个@即可。

2:group2组 拥有对 p1项目 的读写权限。

3.4的含义 大家想必都能懂了吧。

接下来编写每个项目的 配置信息。

vi /srv/svn/p1/conf/svnserve.conf

如图,找到这五个地方,地方去掉前面的#号,修改为如上图信息。

anon-accsee =none  //匿名是否可读   read代表允许,none禁止

auth-access = write //授权用户可写

password-db = /srv/svn/passwd  //该项目的账号密码信息 使用根目录下我们刚才编写的passwd文件

authz-db = /srv/svn/authz  //同上,权限信息使用根目录下的文件

realm = p1 //重要,指定该项目的域名,建议和项目名同名,通过指定该信息,就可以使用url区分不同的项目了

保存 然后对 其他两个项目信息都类似的编写。

svnserve -d -r /srv/svn //启动svn服务器

接下来就可以在windows下使用TortoiseSVN 进行项目的版本控制了。

比如说 检出p1项目,就可以使用url : svn://ip地址或者域名/p1

最新文章

  1. Java的String字符串内容总结
  2. Android -- TextView (3)
  3. android 76 使用get post方式提交数据
  4. Eclipse rap 富客户端开发总结(5): RAP国际化之路
  5. Oracle 用户操作表权限
  6. cocos2d-x初探
  7. Quartz+ssm注解方式的最最最最简单使用
  8. C# 处理PPT水印(一)——添加水印效果(文字水印、图片水印)
  9. 使用 Synchronized 关键字
  10. spring cloud(服务消费者(利用feign实现服务消费及负载均衡)——初学三)
  11. [Unity基础]RenderTexture
  12. TP QQ 微信 微博登录
  13. idea安装插件
  14. webshell在php方向的研究(精华篇)
  15. (三)配置Hadoop1.2.1+eclipse(Juno版)开发环境,并运行WordCount程序
  16. [翻译]HLS实践
  17. 剑指offer--51.表示数值的字符串
  18. UML-6.3-用例-详述示例
  19. Java面向对象之抽象类abstract 入门实例
  20. SDUT OJ 数据结构上机测试1:顺序表的应用

热门文章

  1. 为何你跟着滴滴D8级前端大神撸代码,技术却依旧原地踏步?
  2. Oracle 10gR2分析函数
  3. Android系统--输入系统(十七)Dispatcher线程_分发dispatch
  4. synchronized优化
  5. Groovy - 介绍
  6. 【linux相识相知】磁盘分区及文件系统管理详解
  7. python注释中文
  8. yii2 request文件简介
  9. ORACLE - 管理控制文件
  10. mbos之动态图表设计