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

来源:互联网 发布:人工智能毁灭人类 编辑:程序博客网 时间:2024/05/04 11:44

SVN 分布式代码管理软件

 

准备工作
  首先先下载Windows版本的SVN服务器(各位都会使用搜索引擎所以就不提供下载地址了),

(提供两个地址,服务器端:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=11151&expandFolder=11151&folderID=91 Setup-Subversion-1.6.0.msi  for windows; 客户端:TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi)

这里我以Setup-Subversion-1.6.0.msi为例,在windows下之直接安装后即可!

    其次还要安装 Apace  PHP  MYSQL 可直接安装 wampserver 2.0 集成开发环境,装完后即可!

(在 http://sourceforge.net/projects/wamp-server/files/ 中可以找到)  到此准备工作就OK了!

 

第一步:创建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服务器

(这个位置就是在你建储存库的地方F:/svn)

打开/conf/目录,打开svnserve.conf找到一下两句:

# [general]

# password-db = passwd

# anon-access = none

# auth-access = write

去之每行开头的#,其中第二行是指定身份验证的文件名,即passwd文件.anon-access = none 是匿名用户不能访问,必须要有用户名和密码。(注意:问题就出在这,一定要注意格式去掉注释后要顶格不能有空)

同样打开passwd文件,将

# [users]

# harry = harryssecret

# sally = sallyssecret

       格式为“用户名 = 密码”,如可插入一行:admin = admin888,即为系统添加一个用户名为admin,密码为admin888的用户

 

 

第二步:启动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命令。

 

第四步:设置权限 ( 。。。。. have a good luck! I will go to bed! )