Windows安装配置Subversion

由于公司需要建立源码版本库,最近一段时间一直和SVN打交道,在配置使用过程中,觉得有一些问题有必要记录下来,防止忘记。

根据大多数网友的推荐,我选择了Apache+Subversion+Tortoise这种模式,为了简便起见,我选择了Apache2.2+Subversion1.5.6的集成版本CollabNetSubversion-server-1.5.6-2.win32.exe,这应该是一个比较稳定版本搭配。

 安装过程也很简单,只有在一处需要配置的地方注意一下:

 

两个都勾选

Windows安装配置Subversion_第1张图片

 

svnserve的配置,因为我们不使用该方式,所以配置可以略过。

 

Apache的配置,Host Port是需要设置一个端口(80端口一般是不能用的),而且不能和别的服务使用的端口冲突,不然Apache的服务就启动不起来;Repository Path是版本库的路径,一般我们会设为D:/SVN。 

 

其他的一般不管,接着就默认下一步,直到安装完成。

 

现在可以开始创建版本库了,打开命令行窗口(DOS窗口),进入d:/svn目录输入

      svnadmin create --fs-type fsfs proj1

完成后就在d:/svn/proj1创建了一个新的版本库

 

然后到Subversion的安装目录下修改Apache的配置文件(通常是C:/Program Files/SubversionServer/httpd/conf/httpd.conf),做出如下修改:

去掉以下几行的注释(删除 '#'标记):

#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so

 再将以下两行添加到 LoadModule 节的末尾:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

在最后面有如下几行:


   DAV svn
   SVNParentPath d:/SVN


修改为:


  DAV svn
  SVNListParentPath on
  SVNParentPath D:/SVN
  #SVNIndexXSLT "/svnindex.xsl"
  AuthType Basic
  AuthName "Fujin Teleway's repositories"
  AuthUserFile D:/SVN/passwd
  AuthzSVNAccessFile D:/SVN/svnaccessfile
  Require valid-user
  SVNAutoversioning on
  ModMimeUsePathInfo on

 

Windows安装配置Subversion_第2张图片

 

 注意:为什么在后面多加个“/”呢?如果不多加“/”,那么在IE输入URL: http://MyServer/svn/就访问不了svn的根目录,但是如果多加上“/”,在IE输入URL: http://MyServer/svn/ 就可以访问svn的根目录了。记住是输入URL: http://MyServer/svn/ 不是http://MyServer/svn,不然也访问不了svn的根目录。但是这个方法在TSVN中访问版本库时不适用,一定要加版本库名,例如http://MyServer/svn/proj1。

 

有了上面的修改,当然得建立两个重要的文件:passwd和svnaccessfile

创建passwd文件:打开命令行提示符(DOS窗口),进入CollabNetSubversion的安装目录中Apache的bin目录(我这里是C:/Program Files/SubversionServer/httpd/bin),通过输入下面的命令创建文件

         htpasswd -c d:/svn/passwd

它将会创建名为passwd的文件用于认证。用下面的命令增加其它用户

         htpasswd d:/svn/passwd

 

创建svnaccessfile文件:在d:/svn目录下新建一个txt文本文件,录入以下内容:

[groups]
admin = john, kate
devteam1 = john, rachel, sally
devteam2 = kate, peter, mark
docs = bob, jane, mike
training = zak
# Default access rule for ALL repositories
# Everyone can read, admins can write, Dan German is excluded.
[/]
* = r
@admin = rw
dangerman =
# Allow developers complete access to their project repos
[proj1:/]
@devteam1 = rw
[proj2:/]
@devteam2 = rw
[bigproj:/]
@devteam1 = rw
@devteam2 = rw
trevor = rw
# Give the doc people write access to all the docs folders
[/trunk/doc]
@docs = rw
# Give trainees write access in the training repository only
[TrainingRepos:/]
@training = rw
然后把该txt文件改名为svnaccessfile,不需要扩展名。
现在可以在IE上输入http://IP:port/svn/访问根目录。
在TSVN客户端上输入http://IP:port/svn/Project访问你所建的项目了。

你可能感兴趣的:(SVN,subversion,windows,apache,svn,module,access)