当前位置:首页 > CN2资讯 > 正文内容

Windows下的SVN服务器安装及配置

2天前CN2资讯

准备工作 

  首先先下载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目录里为每个人创建以各自帐户命名的工作报告目录,好了,到这里 就全部搞定了,收工。

 

 

转自:http://grindelwald.iteye.com/blog/249797


    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/31244.html

    分享给朋友:

    “Windows下的SVN服务器安装及配置” 的相关文章

    韩国VPS推荐:丽萨主机、莱卡云、Kdatacenter对比,低延迟高稳定性选择

    丽萨主机 丽萨主机是一家提供韩国VPS服务的知名提供商,特别适合需要低延迟和高稳定性的用户。他们的机房位于首尔,采用双ISP类型原生IP,确保网络连接的稳定性和速度。对于国内用户来说,丽萨主机的三网直连设计让访问延迟保持在60ms左右,非常流畅。他们还提供了59.43的CN2线路,进一步优化了网络体...

    韩国服务器:提升企业在线表现的理想选择

    在当今数字化时代,韩国服务器以其独特的优势吸引了大量企业和开发者的关注。位于东亚的韩国,因其良好的地理位置,能够为用户提供低延迟和高速度的服务。无论是在线游戏、电子商务,还是移动应用,韩国服务器都能确保快速的响应和稳定的运行。 韩国服务器的特点令其在市场上独树一帜。首先,许多服务商提供高性能、稳定的...

    搭建VPN梯子的最佳VPS推荐,轻松畅游网络

    在探索Internet的过程中,VPN梯子的搭建显得尤为重要。VPN梯子,简单来说,是通过虚拟专用网络(VPN)创建的一个安全通道,它能够帮助用户绕过地理限制,访问被封锁的网站和服务。随着互联网信息安全和隐私保护需求的增加,搭建VPN梯子成为越来越多用户的选择。 想象一下,当我们在国外旅行时,无法访...

    DMIT测试IP详解及VPS选择指南

    DMIT VPS服务概述 我对DMIT的了解始于他们在2017年的成立,作为一家海外VPS厂商,他们在市场上取得了显著的地位。DMIT提供的VPS服务覆盖多个地区,如中国香港、美国洛杉矶和日本东京。这些服务以对国内用户友好的优化路线而受到好评,尤其是CN2 GIA和CMIN2线路,这些线路减少了延迟...

    深入了解服务器的基本概念、分类、性能评估与优化策略

    1. 服务器的基本概念与功能 在现代计算环境中,服务器的角色不可或缺。我将服务器看作是一种高性能计算机,专门为客户机提供服务。它们是构建云计算和数据中心的核心设备。通过提供各种服务,如文件存储、数据处理和应用托管,服务器帮助企业高效运营,满足日益增长的技术需求。 服务器的特点非常明显,具有高性能、高...

    如何在VPS上启用和配置IPv6以提升网络性能

    在当今数字化的时代,互联网已经成为我们日常生活中不可或缺的一部分。随着设备和用户数量的快速增长,现有的IPv4地址开始捉襟见肘。这时,IPv6(Internet Protocol Version 6)应运而生,作为下一代互联网协议,它的出现可以说是一种必然趋势。IPv6不仅解决了IPv4地址耗尽的问...