centos下搭建多项目svn服务器
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服务器的更多相关文章
- CentOS 下搭建部署独立SVN服务器全程详解(5.5)
SVN服务器有2种运行方式: 1.独立服务器(例如:svn://xxx.com/xxx): 2.借助apache (例如:http://svn.xxx.com/xxx): 为了不依赖apache, ...
- CentOS 5.5下搭建部署独立SVN服务器全程详解
SVN服务器有2种运行方式:1.独立服务器 (例如:svn://xxx.com/xxx):2.借助apache (例如:http://svn.xxx.com/xxx):为了不依赖apache,我选 ...
- 在CentOS下搭建自己的Git服务器
首先需要装好CentOS系统,作为测试,你可以选择装在虚拟机上,这样比较方便.这步默认你会,就不讲了.有了CentOS,那么如何搭建Git服务器呢?1.首先需要安装Git,可以使用yum源在线安装: ...
- Centos下搭建DNS域名解析服务器
Centos下搭建DNS域名解析服务器 DNS 即Domain Name System(域名系统)的缩写,它是一种将ip地址转换成对应的主机名或将主机名转换成与之相对应ip地址的一种机制.其中通过域 ...
- CentOS下通过yum安装svn及配置
CentOS下通过yum安装svn及配置 1.环境centos5.5 2.安装svnyum -y install subversion 3.配置 建立版本库目录mkdir /www/svndata s ...
- 第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误,
第四百零五节,centos7下搭建sentry错误日志服务器,接收python以及Django错误, 注意:版本,不然会报错 Docker >=1.11Compose >1.6.0 通过d ...
- CentOS下搭建LNMP+WordPress+http2.0教程
此文是本人CentOS下搭建WordPress的一些笔记,环境搭建时间::将看过的几篇文章总结下来,形成一条龙长文.不用大家再找来找去. 本文大概分为此几部分: 一.基础命令更新: 二.服务器加速(非 ...
- CentOS下搭建LAMP环境详解
前言:在这里将介绍如何在CentOS下搭建LAMP环境(全部使用源码编译安装),用于web服务器开发. •LAMP: Linux + Apache + PHP + Mysql. •系统: CentOS ...
- Centos下搭建 nginx+uwsgi+python
python做web应用最麻烦的还是配置服务器了,此话不假,光中间件就有好几种选择,fastcgi.wsgi.uwsgi,难 免让人眼花缭乱. 而听说uwsgi的效率是fastcgi和wsgi的10倍 ...
随机推荐
- Java之面向对象例子(二)
定义一个Book类,在定义一个JavaBook类继承他 //book类 package com.hanqi.maya.model; public class Book { public String ...
- 列表操作之定义,切片(取元素)(Python)
学完列表,元组,字典,集合以后,发现他们长的有些像,傻傻分不清,现在回顾下,以代码为例进行分析每一种操作的属性.(英语不佳,错误请忽略) 举栗如下:names = ["hbb",' ...
- Centos 7部署大众点评CAT(二)——双服务器部署
在单机上部署CAT,只是在做实验,在生产环境则不可能只用单台服务器监控多个应用. 下面简单介绍一下双服务器的部署,各位有更多硬件资源作为监控服务端的朋友,如果对CAT集群有兴趣,可以参看这篇拙作. 资 ...
- FreeRTOS——队列管理
1. 队列主要用于任务与任务.中断与任务之间的消息传递. 2. 创建队列时,请注意队列中数据单元的长度. 3. 通常情况,队列被作为FIFO(先进先出)使用,即数据从队列尾写入,从队列首读.当然,数据 ...
- MD5加密Demo
package com.util; import java.security.MessageDigest; public class MD5 { public final static String ...
- Windows7 下安装 tersorflow
最近看起深度学习的一些知识,想要学习一个框架.在网上看了别人对这些框架的评比后,决定学习 tersorflow.之前一直以为 tersorflow 只可以在 Linux 下安装,出乎意料的是,Wind ...
- common js CMD/AMD 是什么 和他们之间的联系区别
知道JS有模块化开发的说法,也偶尔听过requireJs,AMD,CMD等等名字,甚至使用node的时候,还用过require之类的方法,但是对这些一直没有一个明确的认识和概念.想必这就是许多新手刚接 ...
- javascript中typeof和instanceof用法的总结
今天在看相应的javascript书籍时,遇到了typeof和instanceof的问题,一直不太懂,特地查资料总结如下: JavaScript 中 typeof 和 instanceof 常用来判断 ...
- AD7928
实验室板子soc-de1自带的7928芯片,下面记录一下它的参数 吞吐速率 : 1MSPS 吞吐速率 : 是指ADC器件单位时间内能处理的任务数或输出结果的数量.单位:SPS(Samples per ...
- Mybatis 的分页条件查询语句编写
刚来到一家新公司, 翻看项目代码, 发现一位同事写的查询逻辑很好, 不用插件, 一个语句完成了分页条件查询. 而我之前一般都是在业务层对参数进行判断, 如果有条件,就调用条件查询的方法, 如果没有条件 ...