企业级svnserve配置方案

需求概要:

公司正在开发一套商城系统,利用svnserve做源代码版本控制,商城系统包括Android端、IOS端和Web端,相当于包括项目经理1人、Android开发组2人、IOS开发组2人、Web前端2人、Java服务器端2人,然后再设置2位超级管理员(ayu和liyang),要求是Android开发组提交的代码其他人(比如IOS开发组成员)看不到,以此类推,只有超级管理员能看到所有人的提交

配置如下:

1)查看svnserve版本,确认svnserve已安装

[root@localhost vsftpd-2.0.5]# svnserve --version
svnserve,版本 1.6.11 (r934486)
   编译于 May 31 2011,05:46:33

2)创建一个SVN仓库TradeMall,

[root@localhost vsftpd-2.0.5]# svnadmin create /root/svndata/TradeMall/

注明:配置文件路径为/root/svndata/TradeMall/conf

3)authz文件配置如下

### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to:
###  - a single user,
###  - a group of users defined in a special [groups] section,
###  - an alias defined in a special [aliases] section,
###  - all authenticated users, using the ‘$authenticated‘ token,
###  - only anonymous users, using the ‘$anonymous‘ token,
###  - anyone, using the ‘*‘ wildcard.
###
### A match can be inverted by prefixing the rule with ‘~‘. Rules can
### grant read (‘r‘) access, read-write (‘rw‘) access, or no access
### (‘‘).

[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]
svnadmin = ayu,liyang
projmanagergoup = manager
iosgroup = iosdev1,iosdev2
androidgroup = androiddev1,androiddev2
webgroup = webdev1,webdev2
servergroup = serverdev1,serverdev2

[TradeMall:/]
@svnadmin = rw
@projmanagergoup = rw
@iosgroup = rw
@androidgroup = rw
@webgroup = rw
@servergroup = rw
*=

[TradeMall:/doc]
@svnadmin = rw
@projmanagergoup = rw
*=

[TradeMall:/ios]
@svnadmin = rw
@iosgroup = rw
*=

[TradeMall:/android]
@svnadmin = rw
@androidgroup = rw
*=

[TradeMall:/web]
@svnadmin = rw
@webgroup = rw
*=

[TradeMall:/server]
@svnadmin = rw
@servergroup = rw
*=

注明:ayu和liyang为超级管理员

4)passwd文件配置如下

### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.
 
[users]
# harry = harryssecret
# sally = sallyssecret
ayu = ayu
liyang = liyang
manager = peidian
iosdev1 = peidian
iosdev2 = peidian
androiddev1 = peidian
androiddev2 = peidian
webdev1 = peidian
webdev2 = peidian
serverdev1 = peidian
serverdev2 = peidian

5)svnserve.conf文件配置如下

### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository.  (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)

### Visit http://subversion.tigris.org/ for more information.

[general]
### These options control access to the repository for unauthenticated
### and authenticated users.  Valid values are "write", "read",
### and "none".  The sample settings below are the defaults.
# anon-access = read
# auth-access = write
anon-access = none
auth-access = write
### The password-db option controls the location of the password
### database file.  Unless you specify a path starting with a /,
### the file‘s location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
# password-db = passwd
password-db = /root/svndata/TradeMall/conf/passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control.  Unless you specify a path
### starting with a /, the file‘s location is relative to the the
### directory containing this file.  If you don‘t specify an
### authz-db, no path-based access control is done.
### Uncomment the line below to use the default authorization file.
# authz-db = authz
authz-db = /root/svndata/TradeMall/conf/authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa.  The default realm
### is repository‘s uuid.
# realm = My First Repository
realm = /root/svndata/TradeMall

[sasl]
### This option specifies whether you want to use the Cyrus SASL
### library for authentication. Default is false.
### This section will be ignored if svnserve is not built with Cyrus
### SASL support; to check, run ‘svnserve --version‘ and look for a line
### reading ‘Cyrus SASL authentication is available.‘
# use-sasl = true
### These options specify the desired strength of the security layer
### that you want SASL to provide. 0 means no encryption, 1 means
### integrity-checking only, values larger than 1 are correlated
### to the effective key length for encryption (e.g. 128 means 128-bit
### encryption). The values below are the defaults.
# min-encryption = 0
# max-encryption = 256

6)启动svnserve服务

[root@localhost conf]# svnserve -d -r /root/svndata/

7)客户端安装TortoiseSVN,Repo-Browser,然后在地址栏输入:“svn://210.10.3.61/TradeMall”,用超级管理员ayu/ayu登录,并建立目录如下:

8)测试用不同组员去checkout同一个“svn://210.10.3.61/TradeMall”可以发现拿到的目录只有自己的,也就是Android拿到Android的,IOS的拿到IOS的,互不影响、互相分离。

时间: 2024-10-13 13:03:14

企业级svnserve配置方案的相关文章

虚拟机服务器经典应用配置方案(一)

一.虚拟主机介绍 虚拟机是用软件方式创建一个虚拟的计算机硬件系统环境,可以让你在当前真实系统环境下再虚拟的创建一个或多个硬件系统环境并可以在这个虚拟环境下安装各种常见的操作系统及各种软件. 二.虚拟主机在应用中对服务器硬件配置要求 采用虚拟系统的好处,帮助提升服务器使用效率和整体系统安全,反过来对服务器配置要求也很高,一个好的服务器的性能涉及到CPU处理速度.内存的容量.硬盘的读写带宽以及容量.网络端口的带宽.下面对每一个方面进行分析: CPU处理器:通常虚拟应用系统中一个物理计算单元(核)支持

gVim 配置方案 采用Vundle管理插件

在Linux下配置vim非常简单,尤其是采用Vundle来管理插件,使得一切用起来得心应手. Maple大神在github上公布了自己的vim配置方案,相当方便好用.详见 https://github.com/humiaozuzu/dot-vimrc 在Windows下也可以用Maple提供的方案,但是,要修改一些东西.并且,gVim可能需要做一些设置使得它好用一些,比如多标签页显示.隐藏工具栏. 下面,我将介绍我的gVim配置方案. Step 1. 安装gVim 下载gVim之后,安装,我使用

企业级大数据处理方案-01

企业级大数据处理方案有三种业务场景: 1.离线处理:(mapreduce(第一代).sparksql(第二代)) 2.实时处理:(数据库操作.storm) 3.准实时处理.(spark Streaming) mapreduce与spark对比 mr与spark优缺点对比:(一) a.mapreduce频繁的数据读写,使数据处理速度滞后 b.spark所有计算在内存中消除了,磁盘读写此快其一 mr与spark优缺点对比:(二) a.mapreduce每一个计算过程与上一个计算过程无血统继承 b.s

web.config中sessionState节点的配置方案

web.config中sessionState节点的配置方案 web.config关于sessionState节点的配置方案,sessionState有五种模式:Custom,off,inProc,StateServer,SqlServer. 1.Custom模式  会话状态将使用自定义数据存储区来存储会话状态信息. 2.off模式 从字面上就可以看出这个是关闭模式,如果当前页面不需要session的值,为了减少服务器资源,你可以去掉Session的开销. <sessionState mode=

unity 导出 android安装包配置方案

原地址:http://blog.csdn.net/u012085988/article/details/17393111 1.jdk本人安装的是win32版的(虽然系统是64位的.但听说装64位的导出时会报错).这个很重要,我当时就因为装错了jdk,蛋疼了好久. 2.android sdk.为了防止兼容问题,我直接下载的adt 20131030(Android Developer Tools). 3.unity.本人unity版本为4.1.5f1. 基本就这些东西了.就这三个步骤,折腾了我整整一

虚拟机的网络配置方案

宿主机(windows)和客户机(虚拟机)网络连接 推荐使用第一种. 1.host-only(仅主机模式):宿主机与客户机单独组网(用的是网络连接中的VMnet1,所以宿主机的vm1要开启) 好处:和真实网络隔离 坏处:虚拟机与其他服务器之间不能通信 可以设置虚拟机成静态ip,这样ip就永远不会变了,网关要用vm1的ip地址:vm1的ip也是静态的不会变:我做编程虚拟机不上网用这个很实用,ip永远不会变,连虚拟机方便,我通常是将不常用的大软件安装到虚拟机,外部通过ip访问,如oracle.mss

tomcat集群配置方案对比

Tomcat集群配置方案大体上可以分为两种配置方案:共享Session型与不同享Session型.当然,其中各有千秋,如果不共享需要上层需要有一定结构进行一致化路由.何谓一致化路由,简单来讲,就是你上次怎么走路,这次还是怎么走,实现的方式有很多种,例如直接按照nginx进行来源或者目的ip进行相应的hash,dns进行地域划分等等,只要能保证上一次和下一次踏入的是"同一条河流"即可. 另一方面,如果不共享需要有一定机制进行共享Session机制,此时共享一般分为两种,找个第三方存储Se

LoadRunner配置方案

1.配置方案运行时设置 选择“Tools”>“Options”.在“Options”对话框有“Run-Time Settings”(运行时设置).“Timeout”(超时).“Run-Time File Storage”(运行时文件存储).“Path Translation Table”(路径转换表)等选项卡. (1)“Run-Time Settings”选项卡 “Run-Time Settings”(运行时设置)选项卡如图2-52所示. ● Vuser Quota(Vuser配额):要防止系统

Nginx+Php中限制站点目录防止跨站的配置方案记录

Nginx+Php中限制站点目录防止跨站的配置方案记录(使用open_basedir)-------------------方法1)在Nginx配置文件中加入: 1 fastcgi_param  PHP_VALUE  "open_basedir=$document_root:/tmp/:/proc/"; 通常nginx的站点配置文件里用了include fastcgi.conf;,这样的,把这行加在fastcgi.conf里就OK了.如果某个站点需要单独设置额外的目录,把上面的代码写在