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倍 ...
随机推荐
- 使用ajax方法实现form表单的提交(附源码)
写在前面的话 在使用form表单的时候,一旦点击提交触发submit事件,一般会使得页面跳转,页面间的跳转等行为的控制权往往在后端,后端会控制页面的跳转及数据传递,但是在某些时候不希望页面跳转,或者说 ...
- 【Data Visual】一文搞懂matplotlib数据可视化
一文搞懂matplotlib数据可视化 作者:白宁超 2017年7月19日09:09:07 摘要:数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.但是,这并不就意味着数据可视化就一定因为 ...
- MongoDB 安装和配置
[前言] Mongodb是一款nosql数据库,关于nosql 以及 mongodb本文不进行介绍,在数据库的选型方面,本人说是在机缘巧合之下选择了mongodb,并且拟使用mongodb搭建日志系统 ...
- 解决IE8下不支持document.getElementsByClassName的方法
在代码前面加如下代码: if (!document.getElementsByClassName) { document.getElementsByClassName = function (clas ...
- 【转载】 ISO14229系列之一:简介
转载链接:http://www.cnblogs.com/autogeek/p/4458591.html 前言 由于工作中经常用到ISO-14229,因此决定对该协议做个总体介绍和总结,既是对自己学习的 ...
- FreeRTOS——队列管理
1. 队列主要用于任务与任务.中断与任务之间的消息传递. 2. 创建队列时,请注意队列中数据单元的长度. 3. 通常情况,队列被作为FIFO(先进先出)使用,即数据从队列尾写入,从队列首读.当然,数据 ...
- 微信token失效时间
微信token失效时间 为了使第三方开发者能够为用户提供更多更有价值的个性化服务,微信公众平台开放了许多接口,包括自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等,开发者在调用这些 ...
- matlab图片清晰度调整
打开.fig文件后: 1.首先设置窗口中的文字大小和相关的图例 2.然后将窗口缩小到要在word中或者ppt中展示图片的大小(避免图片缩小减少清晰度) 3.调整横纵坐标说明,使得布局合理 4.点击Ei ...
- app中rem算法
第一次用vue做APP被rem坑惨了 下面贴出 rem 的算法及使用方法 在自定义js中定义函数 export default { install: function(Vue, options) { ...
- IEnumerable & IEnumerator
IEnumerable 只有一个方法:IEnumerator GetEnumerator(). INumerable 是集合应该实现的一个接口,这样,就能用 foreach 来遍历这个集合. IEnu ...