SVN服务器的搭建及简易管理
From:lionely
1. 简要了解版本控制:
版本控制系统用于保存编写开发应用程序时的文档的各个修订版(revision)。
版本控制也称作Revision Control System(RCS)。
2. 使用版本控制的好处:
对团队和个人都有好处:
- 为团队提供了所有项目文档的回退按钮;
- 支持多个开发人员在可控的方式下为相同的代码工作;
- 版本控制系统保存了文档在过去的各个改动,便于查找是谁,在何时,因为什么修改了文档;
- 支持在文档的主线上同时有多个版本;
- 支持查询在某个时点上项目各个文档的状态,可用于研究生产效率等,也可用于对以前的软件发行版的再发行。
3. 常见的版本控制系统:
4. VSS:Visual Source Save,微软公司的版本控制器软件,http://msdn2.microsoft.com/zh-cn/vstudio/aa718670.aspx
5. CVS:Concurrent Versions System,开源免费,http://www.nongnu.org/cvs/
6. Subversion,开源免费,http://subversion.tigris.org/
7. ClearCase,IBM公司,http://www-306.ibm.com/software/awdtools/clearcase/
(本文仅介绍:Subversion)
4.Subversion介绍:
Subversion是新一代的版本控制工具,正逐步替代CVS。
资源:
· 官方网址:http://subversion.tigris.org/
· subversion中文站:http://www.subversion.org.cn/
· 中文手册:http://www.subversion.org.cn/svnbook/
· subversion与cvs的对比:http://www.uml.org.cn/pzgl/200705251.asp
5. Subversion的安装:(在windows环境下安装)
A.下载,安装Subversion(SVN服务器端):
官网:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
下载的安装包点击安装即可。服务端安装好后软件会自动在系统的环境变量中增加相应的值,测试是安装完成可以在cmd命令行中输入“svn”或者“svnadmin”来测试,出现“使用“SVN help”得到用法”,即成功!还有一种就是查看电脑的用户变量是否出现变量名为 “ARP_ICONV_PATH”,更重要的是查看系统变量path的变量值中是否含有“subversion/bin”字段。以上两种方法是检测软件是否在windows下安装成功!
(安装环境在windows98以上版本)
B. 创建SVN仓库:
使用以下命令:
svnadmin create <仓库路径>
例如:svnadmin create --fs-type bdb d:\svn\project1
// svnadmin 是exe程序,安装时已经自动加到系统路径了。
// 这里选择了 Berkeley Database(BDB)方式做为版本库的类型
// 也可用TortoiseSVN这个客户端工具实现创建
// d:\svn是版本库的位置,也可以取别的名字,别的路径,一个版本库可以包含多个项目
// project1是某个项目名称,
C.在windows下生成服务:
为了便于启动该软件,我可以在windows下生成一项服务,并将其命名为Svnservice,设置为自动启动。进入DOS:(这里用到的是Windows自带的创建服务的命令sc)
Sc create SVNService binpath= "安装路径 --service -r d:\svn" displayname= "SVNService" depend= Tcpip start= auto
安装路径:为安装subversion的安装路径,如:c:\Programs Files \svn-win32-1.5.4\bin\svnserve.exe
注意这里的格式,“=”后面是必须空一格的,否则会出现错误。其中的几个路径分别是服务端安装路径和存储库的路径。
在提示建立成功后,可以直接输入“net start SVNService”来启动服务,或者可以直接在“管理工具”的“服务”中直接启动。
------当然也可以手动利用DOS启动服务,本文介绍的是作者总结后最简单的方法!
D. 修改svn配置文件:(当然这也涉及到管理啦)
打开svn目录中配置文件conf\svnserve.conf,修改配置参数。
例:d:\svn\project1\conf\svnserve.conf去掉以下内容之前的注释符#
[general]
anon-access = none
auth-access = write
password-db = passwd
(注意前面没有空格)
第一个用来设置匿名用户的权限 none为设置存储库不允许匿名访问
第二个用来设置经过授权的用户的权限 write为可以写入
第三个用来指定授权用户的密码存放文件
E.设置用户(管理)
打开d:\svn\project1\conf\passwd文件*****以记事本格式打开
[users]
yuanjun = pass1
这里就是指定授权访问用户名和密码,格式为:用户名 = 密码
多个用户就加多行
F权限设置
打开d:\svn\project1\conf\ authz文件*****以记事本格式打开,进行修改
例如:
[groups]
# 定义组信息
p1_group_a = p1_admin1
p1_group_d = p1_d1
p1_group_t = p1_t1
[/]
# 指定所有的版本库默认只读,root可读写
* = r
root = rw
[project1:/]
# 指定对版本库project1根目录的权限
@p1_group_a = rw
@p1_group_d = rw
@p1_group_t = r
[project1:/trunk/admin]
# 指定对版本库project1的/trunk/admin根目录的权限,
# p1_group_a读写,p1_group_d和p1_group_t没有任何权限。
@p1_group_a = rw
@p1_group_d =
@p1_group_t =
再复杂的情况也不过如此,在实际的工作中要首先规划好权限,只赋给用户最小的权限,保证以最小的配置实现最复杂的权限控制
TIP:为2003和XP建立防火墙。是进入防火墙,然后选“添加程序”,选择安装路径下的bin下的svnserve.exe即可。
现在就是安装一个客户端,这里推荐一个既可以编写PHP代码,也可以直接提交代码到服务器上的软件EPP. 具体使用自己到网上看看。好的,就介绍到这啦!