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

centos下搭建多项目svn服务器的更多相关文章

  1. CentOS 下搭建部署独立SVN服务器全程详解(5.5)

    SVN服务器有2种运行方式: 1.独立服务器(例如:svn://xxx.com/xxx): 2.借助apache   (例如:http://svn.xxx.com/xxx): 为了不依赖apache, ...

  2. CentOS 5.5下搭建部署独立SVN服务器全程详解

    SVN服务器有2种运行方式:1.独立服务器 (例如:svn://xxx.com/xxx):2.借助apache   (例如:http://svn.xxx.com/xxx):为了不依赖apache,我选 ...

  3. 在CentOS下搭建自己的Git服务器

    首先需要装好CentOS系统,作为测试,你可以选择装在虚拟机上,这样比较方便.这步默认你会,就不讲了.有了CentOS,那么如何搭建Git服务器呢?1.首先需要安装Git,可以使用yum源在线安装: ...

  4. Centos下搭建DNS域名解析服务器

    Centos下搭建DNS域名解析服务器 DNS  即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域 ...

  5. CentOS下通过yum安装svn及配置

    CentOS下通过yum安装svn及配置 1.环境centos5.5 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata s ...

  6. 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,

    第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误, 注意:版本,不然会报错 Docker >=1.11Compose >1.6.0 通过d ...

  7. CentOS下搭建LNMP+WordPress+http2.0教程

    此文是本人CentOS下搭建WordPress的一些笔记,环境搭建时间::将看过的几篇文章总结下来,形成一条龙长文.不用大家再找来找去. 本文大概分为此几部分: 一.基础命令更新: 二.服务器加速(非 ...

  8. CentOS下搭建LAMP环境详解

    前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...

  9. Centos下搭建 nginx+uwsgi+python

    python做web应用最麻烦的还是配置服务器了,此话不假,光中间件就有好几种选择,fastcgi.wsgi.uwsgi,难 免让人眼花缭乱. 而听说uwsgi的效率是fastcgi和wsgi的10倍 ...

随机推荐

  1. Android使用ViewPager实现导航菜单

    首先设置页面的Fragment布局: public class TabFragment extends ListFragment { @Override public void onViewCreat ...

  2. 前端性能优化--图片懒加载(lazyload image)

    话说前头: 上次写了一篇webpack的学习心得,webpack能做到提升前端的性能,其模块打包最终生成一个或少量的文件能够减少对服务端的请求.除此之外,本次的图片懒加载(当然不仅限于图片,还可以有视 ...

  3. Jquery table元素操作-创建|数据填充|重置|隐藏行

    1.Jquery创建表格 /** * 创建表格 * @param label 标题 json格式,数据结构见附录1 * @param data 数据 json格式,数据结构见附录1 * @param ...

  4. Android自动问题——黑屏、死机等解决方法

    今天用了下Android Studio,出现了一些问题,现在将启动过程中遇到的问题和解决方案列出来,方便大家参考. 安装过程不多说,网上一搜一大把. 那直接说问题吧: 1. 无法启动,报错:Faile ...

  5. MySQL学习笔记(六):索引

    本文主要介绍MySQL 中关于索引的一些问题,例如:索引的作用:怎么创建索引:设计索引的原则:怎么优化索引等等. 一:索引概述 索引一般是通过排序,然后查找时可以二分查找,这一特点来达到加速查找的目的 ...

  6. 一步一步深入理解Dijkstra算法

    先简单介绍一下最短路径: 最短路径是啥?就是一个带边值的图中从某一个顶点到另外一个顶点的最短路径. 官方定义:对于内网图而言,最短路径是指两顶点之间经过的边上权值之和最小的路径. 并且我们称路径上的第 ...

  7. Javascript之布尔

    一.概念 将非布尔值转成布尔值(true)或(false). 二.创建布尔对象 var bool = new Boolean(); console.log(bool);//Boolean { fals ...

  8. 18. leetcode 387. First Unique Character in a String

    Given a string, find the first non-repeating character in it and return it's index. If it doesn't ex ...

  9. 含有n个元素的整型数组,将这个n个元素重新组合,求出最小的数,如{321,3,32},最小的数为321323

    public class GetMinNumber { public static void main(String[] args) { String[] arr = null; System.out ...

  10. React Native 系列(五) -- 组件间传值

    前言 本系列是基于React Native版本号0.44.3写的.任何一款 App 都有界面之间数据传递的这个步骤的,那么在RN中,组件间是怎么传值的呢?这篇文章将介绍到顺传.逆传已经通过通知传值. ...