转自:http://hi.baidu.com/yebihaigsino/blog/item/fd934bf5b41848e37609d790.html
准备工作
首先先下载Windows版本的SVN服务器(各位都会使用搜索引擎所以就不提供下载 地址了),这里我以svn-win32-1.4.3的ZIP解压缩版为例,将其解压缩到目标目录,例如我是解压到D盘下的Subversion目录,把 D:\Subversion\bin加到系统环境变量,如果你的解压位置与我不同,那么请按照你的实际路径设置环境变量。
第一步:创建SVN数据库
打开Windows命令提示符,执行命令svnadmin create F:\SVN,svnadmin create是创建SVN数据库的命令,F:\SVN是你的SVN数据库位置,这里我只是举个例子,你可以自己决定SVN数据库位置,执行完以上命令后就 会在F盘下多出一个SVN目录,里面有若干目录和文件,conf目录是用来存放权限配置的,后面会详细说明,dav目录用来提供给apache和 mod_dav_svn存储内部数据,db目录是所有版本控制的数据文件,hooks目录用来放置hook脚本文件,locks目录存放 Subversion文件库锁定数据,用来追踪存取文件库的客户端,format是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号,还有 个readme.txt不用说也知道是干什么的了。
第二步:启动SVN服务器
继续在Windows命令提示符里执行命令svnserve -d -r F:\SVN,参数-d是将SVN服务做为后台服务,参数-r是指定SVN服务的根目录位置,F:\SVN自然就是SVN根目录了,到这里为止SVN服务 器就已经启动了,可以用SVN客户端测试一下。
第三步:将SVN服务注册为系统服务
你可能会问这样岂不是每次启动SVN服务器都要输入一次命令?怎样才能让SVN服务器在开机的时候自动启动呢?答案就是将SVN服务注册到 Windows系统服务,在Windows命令提示符里执行命令
sc create SVN binpath= "\"d:\subversion\bin\svnserve.exe\" --service -r F:\SVN" displayname= "SVN Service" depend= Tcpip start= auto,这个命令是不是有点长?其实很容易理解,sc是Windows自带的系统服务注册工具,微软支持中心 提 供了详细的说明,这里我就不再复述了,参数binpath= "\"d:\subversion\bin\svnserve.exe\" --service -r F:\SVN"和我们前面手动启动SVN服务器的命令很像吧?只是把-d改成了--service,这不难理解,因为现在是服务嘛。好了,现在已经大功告 成了,重起一下试试吧。
PS:如果想从系统服务里删除刚才注册的SVN服务可以使用sc delete SVN命令。
第四步:设置权限
各位都是做IT的,为研发中的项目设置合理的权限有多重要就不需要我说了,就拿开发游戏来说吧,程序部门需要有源代码目录的所有权限以及美术资源目录和 策划案目录的获取权限,美术部门需要有美术资源目录的所有权限以及策划案目录的获取权限,而策划部门则需要有策划案目录的所有权限及美术资源目录的获取权 限。接下去就来看看SVN是如何设置权限的,还记得第一步创建SVN数据库时提到的conf目录吧,conf目录里有3个文件,这3个都是文本文件,用计 事本打开它们就行了,我们先看svnserve.conf文件,anon-access项指定了未经验证的用户所具有的操作权限,它有3个有效值,分别是 read,write,none,read为读权限,write为写权限,none为没有任何权限,password-db项用来指定存放用户名和密码的 文件,authz-db项用来指定存放用户权限的文件,realm项用来指定验证范围,这项一般情况下用不到,以上4项默认都是被注释掉的.#号为注释 符,要起用它们只需要把注释符去掉即可。passwd文件是默认存放用户名和密码的文件,例如我设置一个Sol用户,密码为111111,只需在 [users]下添加Sol=111111即可,authz文件是默认指定存放用户权限的文件,[groups]代表分组,这里我们设置个 developer组,将前面创建的Sol用户分到developer组里,同样只需在[groups]下写上developer=Sol即可,[/]代 表根目录,如果我们要设置developer组有完全的访问权限就在下面加上@developer=rw,前面加@符代表组,除此之外我们允许所有人都有 读取权限还要在下面加上*=r,SVN允许对每个目录设置权限,设置方法和根目录差不多,如果到这里你还不是很明白那么请看下面的例子。
一个权限配置的例子
我们以游戏项目开发为例,项目名就叫Project1吧,怎么创建SVN数据库上面已经说过了,我们在SVN的根目录下创建一个名为Project1的 本地数据库,先配置conf目录下的svnserve.conf文件,我们不允许任何与研发无关的人员访问此项目,因此我们禁止匿名访问并为每个研发人员 创建个人帐号,权限文件和帐户信息文件用默认同目录下的authz文件和passwd文件就行了。
svnserve.conf文件配置如下:
[general]
anon-access = none
password-db = passwd
authz-db = authz
接下去配置passwd文件,为每个研发人员设置个人帐户,假设项目负责人是Sol,程序部门有Tom、Mark,美术部门有John、Alina、 Candice、Ellen,策划部门有Terry、Jane,这里我们为了方便将密码全部设置为000000,现在是例子没关系,实际应用的时候密码就 不能这么随便设置了。
passwd文件配置如下:
[users]
Sol = 000000
Tom = 000000
Mark = 000000
John = 000000
Alina = 000000
Candice = 000000
Ellen = 000000
Terry = 000000
Jane = 000000
帐户都创建好了,现在为他们分配不同的权限,先设置4个组.分别是manager 、developer、artist、designer,将Sol分配到manager组里,将Tom、Mark分配到developer组,将 John、Alina、Candice、Ellen分配到artist组,将Terry、Jane分配到designer组,等会我们会在项目中创建 designs、sources、resources、reports这4个目录,然后在reports目录里为每个人创建一个以自己帐户命名的目录用来 放每个人的工作报告,manager组拥有所有目录的读写权限,developer组拥有sources目录的读写权限以及designs和 resources目录的读取权限,artist组拥有resources目录的读写权限以及designs目录的读取权限,designer组拥有 designs目录的读写权限以及resources目录的读取权限,每个帐户都拥有reports目录下以自己帐户命名的目录的读写权限,也就是说每个 人的工作报告只有自己和项目负责人能看到。
authz文件配置如下:
[groups]
manager = Sol
developer = Tom,Mark
artist = John,Alina,Candice,Ellen
designer = Terry,Jane
[Project1:/]
@manager = rw
* = r
[Project1:/designs]
@manager = rw
@developer = r
@artist = r
@designer = rw
* =
[Project1:/sources]
@manager = rw
@developer = rw
* =
[Project1:/resources]
@manager = rw
@developer = r
@artist = rw
@designer = r
* =
[Project1:/reports/Sol]
Sol = rw
* =
[Project1:/reports/Tom]
@manager = rw
Tom = rw
* =
[Project1:/reports/Mark]
@manager = rw
Mark = rw
* =
[Project1:/reports/John]
@manager = rw
John = rw
* =
[Project1:/reports/Alina]
@manager = rw
Alina = rw
* =
[Project1:/reports/Candice]
@manager = rw
Candice = rw
* =
[Project1:/reports/Ellen]
@manager = rw
Ellen = rw
* =
[Project1:/reports/Terry]
@manager = rw
Terry = rw
* =
[Project1:/reports/Jane]
@manager = rw
Jane = rw
* =
目录的权限都设置完了,但是目录我们还没有创建,现在只有项目负责人才有权限在项目根目录下创建目录,所以我们用Sol的帐户来创建designs、 reports、resources、sources这4个目录,然后再到reports目录里为每个人创建以各自帐户命名的工作报告目录,好了,到这里 就全部搞定了,收工。
分享到:
相关推荐
综上所述,SVN分级授权工具部署手册是一个详尽的技术文档,它不仅指导用户如何在Windows环境下部署和配置SVN服务,还包括了使用SVN分级授权工具进行日常管理和维护的具体操作。通过遵循手册中的步骤,用户可以实现对...
Subversion (简称SVN) 是一款强大的版本控制系统,它在Windows环境下同样可以被高效地配置和使用。本指南将详细介绍如何在Windows上搭建SVN服务器,包括Apache HTTP Server的安装、Subversion的集成、文件库的创建、...
### Windows下Svn安装与应用 #### 一、概述 Subversion(SVN)是一种广泛使用的...通过上述步骤,我们可以在Windows环境下成功安装和配置SVN服务器和客户端,并进行基本的操作,这对于日常的版本控制管理非常有帮助。
3. **设置访问控制**: 使用svnserve或Apache HTTP Server(mod_dav_svn模块)来管理用户权限,通过配置文件(如`conf/svnserve.conf`或`httpd.conf`)定义谁可以访问哪些资源。 4. **启动服务**: 启动SVN服务器,...
SVN支持用户和组的权限管理,可以设置不同用户对仓库的读写权限,以保障项目的安全性。 总的来说,"svn-win32-1.4.6.zip"是Windows环境下的一款经典SVN客户端,它为团队提供了版本控制的基础功能,能够有效地协同...
SVN(Subversion)是一种广泛使用的版本控制系统,用于管理软件项目的源代码和其他文件。它允许团队成员协同工作,跟踪每个更改,并确保代码库的一致性和稳定性。在SVN中,"钩子"(hooks)是服务器端的脚本,它们在...
本文将通过实例讲解svn目录权限的详细设置,希望能够帮助开发者更好地理解和掌握svn权限设置。 一、项目结构 在设置svn权限之前,我们需要了解项目的结构。一个典型的项目结构通常包括以下几个部分: * 项目目录...
本文将详细介绍如何在 Windows 系统环境下安装和配置 SVN,帮助用户实现代码版本管理。 #### 二、安装步骤 ##### 1. 下载 SVN 安装包 - 首先,访问 SVN 官方网站或第三方提供站点下载适合 Windows 平台的 SVN ...
- **安装类型**: 选择“标准”安装模式,这提供了基本的功能和配置。 - **自定义设置**: 包括安装路径、项目存储路径、HTTP端口、HTTPS端口及URL是否加密等设置。这些参数应根据实际网络环境和个人偏好进行配置。 ...
在本篇文章中,我们将详细探讨如何安装和配置SVN,以便于团队有效地管理和共享代码资源。 **1. 安装SVN服务器** 在Windows系统上,通常使用VisualSVN Server作为SVN服务器。首先,访问VisualSVN官网下载安装包,...
用户按照提示,选择安装路径,设置服务器配置,包括仓库位置、用户访问权限等,最后完成安装。安装完成后,可以通过Windows服务管理器或VisualSVN Server Manager来管理和监控服务器状态。 **使用场景** VisualSVN ...
### Windows下SVN 1.6 服务端和客户端安装与配置 #### 一、软件下载 在开始之前,首先需要下载所需的软件。Subversion (SVN) 是一个开源的版本控制系统,它允许团队成员协作开发项目。对于Windows平台,我们通常会...
### Apache配合SVN在Windows下的安装配置及其权限管理 #### 一、安装配置Apache与SVN **1. 安装Apache** - **步骤**: 首先下载Apache 2.2.14版本,并进行安装。安装路径设为`D:\Program Files\Apache Software ...
1. **安装与配置**: 安装SVN客户端(如TortoiseSVN),设置服务器URL,创建或连接到仓库。 2. **检出(Checkout)**: 从仓库获取项目到本地工作副本。 3. **修改(Modify)**: 在工作副本中编辑文件或目录。 4. **添加...
SVN,全称为Subversion...总之,通过这个压缩包,你可以了解到如何在Windows环境下配置和使用SVN服务器,以及如何利用SVN客户端进行日常的版本控制操作。这对于任何需要团队协作的软件开发项目来说都是至关重要的知识。
总结来说,安装和配置Windows上的SVN服务器需要仔细规划和逐步实施。它需要综合考虑服务器设置、网络安全性、用户权限管理以及错误日志监控。虽然这个过程可能比较复杂,但遵循正确的步骤,安装和配置SVN服务器是...
#### 三、修改svn配置文件 - **svnserve.conf配置**:此文件位于SVN安装目录下的`conf`子目录中,用于配置SVN服务器的基本行为。 - `anon-access=none`:禁止匿名访问,确保只有授权用户才能访问仓库。 - `auth-...
### Windows下SVN配置邮件通知知识点详解 #### 一、SVN邮件通知的重要性及应用场景 在团队协作开发项目的过程中,确保每位成员都能及时了解代码库中的变动是非常重要的。通过配置SVN邮件通知功能,每当有人提交...