`
Sharpleo
  • 浏览: 575437 次
  • 性别: Icon_minigender_1
  • 来自: newsk
社区版块
存档分类
最新评论

svn服务器配置【转】

 
阅读更多
一、准备工作

1、下载subversion,地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=11151&expandFolder=11151&folderID=91。这里有各个版本的安装文件,我用的是1.6.1windows msi格式的安装文件,这个版本的安装文件支持用Apache服务器作为SVN服务器,Apache服务器版本要求2.2以上。

2、下载TortoiseSVN,地址:http://tortoisesvn.net/downloads。

3、下载IDE插件,如果用visual studio2005,2008或者2010作为开发环境,可以下载AnkhSVN插件来在visual studio中利用SVN管理源代码,地址:http://ankhsvn.open.collab.net/downloads。如果是用Eclipse或者MyEclipse作为开发环境,可以下载subeclipse插件来在Eclipse中利用SVN管理源代码 http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA。我们项目用的是c#开发,所以我们用的IDE是vs2008,所以下面主要介绍的是在vs2008上安装AnkhSVN插件来管理源代码。

4、下载Apache服务器,地址:http://httpd.apache.org/download.cgi,在Apache官网上可以找到2.2以上版本的Apache服务器。

二、安装

这几个软件的安装都很傻瓜式,都是一直next到最后,TortoiseSVN安装完后需要重启系统,不过如果安装了AnkhSVN插件的话,TortoiseSVN不是必须的。

安装好AnkhSVN后,打开vs2008,打开菜"工具"->选项,找到souce control 选择”插件选择“在右边的插件选择下拉列表中选择AnkhSVN-subversion support for visual studio。这样visual studio就会出现相应的菜单和界面,然后就可以在visual studio上直接进行svn操作了。

三、建立版本库

安装subversion的时候会自动配置好环境变量。建立版本库可以直接通过dos命令,或者用TortoiseSVN。我这里介绍用dos命令创建版本库。打开dos界面,输入:

svnadmin create e:\svn\repository

这样就在e盘的svn目录下建立了名为repository的版本仓库。在repository文件夹下subversion会自动建立一些文件夹,待会儿会讲到。

四、架设SVN服务器

svn服务器的架设有两种方式:
一是基于svnserve,这种方式是让客户端通过svn协议访问版本库,如果代码只是在局域网内共享的话,优先考虑这种方式,因为这种方式最原始,最高效。

二是基于Apache服务器,这种方式是让客户端通过http协议访问版本库,当代码需要跨网共享的时候,我们就要用到这种方式了。

架设基于svnserve的svn服务器,在dos界面输入以下命令:

svnserve --daemon --root e:\svn

这个命令在服务器端建立了一个守护线程监听3690端口(svn默认端口)等待请求。dos窗口不能关闭,否则守护线程退出。这个方法不是最好的方法,因为这样,每次重启服器的时候都要重新打开一个dos窗口,并且要一直保持dos窗口。最好的方法是将svnserve作为windows服务运行,运行如下命令:
      sc create svnserve binpath= "c:\svnserve\svnserve.exe --service

     --root c:\repos" displayname= "Subversion" depend= tcpip start= auto

sc 的命令行很特殊。在 key= value 对中,key 与 = 之间不能有空格,但是在 value 之前,必须有空格。服务安装完毕后,你需要在服务管理器中启动它(仅此一次;当服务器重启后它会自动启动)。可以通过TortoiseSVN的访问svn://localhost/repository测试svn服务器是否架设成功。

架设基于Apache服务器的svn服务器。

找到 Subversion 安装目录下的以下文件:

bin/mod_authz_svn.so
bin/mod_dav_svn.so

复制到 Apache 安装目录下 modules 目录中

bin/intl3_svn.dll
bin/libdb*.dll
复制到 Apache 安装目录下 bin 目录中(这里似乎并不是必须的,我猜想这里或许是为了支持 Berkeley DB 而所作的操作,但我并不打算深入研究下去)

找到 Apache 安装目录下 conf/httpd.conf 文件,用文本编辑器修改:

找到以下两句取消注释:

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


增加以下两句

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

在Apache的conf/httpd.conf文件,在末尾添加以下内容

#配置虚拟目录
<location /svn>
#引用远程访问模块
DAV svn

#版本库路径
SVNPath e:\SVN\Repository

#授权文件
AuthzSVNAccessFile e:\SVN\Repository\conf\authz

#所有用户都需要身份验证
Satisfy Any
Require valid-user

#验证方式
AuthType Basic

#项目的名称
AuthName "svn repository"

#用户文件
AuthUserFile e:\SVN\Repository\conf\passwd.apache
</location>

      这样基于Apache服务器的svn服务器就配置好了,下面我们就可以进行权限配置了。

五、权限控制

上面说过,建立版本库后,subversion会在版本库中建立若干文件夹,其中conf文件夹就是进行权限控制配置的,里面有三个文件svnserve.conf,password,authz。用记事本打开svnserve.conf文件:找到以下两行:
#password-db = passwd
...
#authz-db = authz

修改为:
password-db = passwd
...
authz-db = authz

用户配置,用记事本打开password文件,添加如下几行:
[users]
admin = admin
thinker = 123456

这里配置了两个用户,用户名分别为"admin"和"thinker"。其中"admin"用户的口令为"admin";"thinker"用户的口令为"123456"。如果是Apache服务器的话,password文件应该由Apache来生成,因为在 Subversion 和 Apache 中无法使用相同的 passwd 文件,因为 Apache 是以加密方式存储密码,而 Subversion 使用明文储存密码,所以要使用Apache服务器就要使用Apache生成的passwd文件。

使用Apache的bin目录下的htpasswd.exe可执行文件生成用户文件,第一次生成使用-cb参数,添加新用户使用-b。
htpasswd -cb [filename] [username] [password]

如:

htpasswd -cb passwd.apache islee 123
htpasswd -b passwd.apache another 456

然后将生成的passwd.apache文件拷到版本库的conf文件夹下,并将Apache conf文件夹下的httpd.conf刚刚添加的<location>段AuthUserFile属性值改为passwd.apache文件。

组和权限配置

用文本编辑器打开authz文件,添加如下文字:

[group]

all=thinker,admin



[/]

@all=rw

*=r

上面两段文字的意思是,添加一个用户组all,包括admin合thinker两个用户,对所有库给all用户组添加读写权限,所有用户添加读权限。

Apache服务器配置好后就可以在浏览器中通过输入http://localhost/svn测试
分享到:
评论

相关推荐

    svn服务器配置到MyEclipse说明

    本文将详细介绍如何将SVN服务器配置到MyEclipse集成开发环境中,以便于团队协作和代码管理。 首先,我们需要安装SVN的相关软件。SVN服务器软件通常选择Subversion,这里以Setup-Subversion-1.6.4.msi为例,而客户端...

    svn服务器配置教程

    【Subversion(简称svn)服务器配置教程】 Subversion是一个开源的版本控制系统,用于跟踪文件和目录的更改,便于多人协作开发。本教程将指导你如何在Windows环境下配置一个基本的svn服务器,包括软件下载、安装、...

    SVN服务器配置总结

    【SVN服务器配置总结】 Subversion(简称SVN)是一种版本控制系统,用于管理代码库,便于多用户协作和代码版本管理。这篇博文将详细介绍如何配置SVN服务器,以实现高效和安全的代码版本控制。 首先,我们需要安装...

    svn 服务器配置 大全

    ### SVN服务器配置大全:安装与配置详解 #### SVN(Subversion)服务器配置及安装 **一、环境搭建** 本文档将指导你如何在Windows环境下搭建一个功能完整的SVN服务器,包括基本的安装流程以及SSL加密通信的配置。...

    配置SVN服务器 svn配置

    配置SVN服务器涉及到安装SVN服务端软件,创建版本库,设置权限管理,以及配置SSH(Secure Shell)以实现安全的远程访问。以下是配置SVN服务器的具体步骤: 1. **创建SVN版本库用户和组**: - 创建一个独立的用户,...

    svn服务器配置教程全

    在服务器配置中,网络和安全设置也至关重要。确保SVN服务器监听正确的端口(默认为3690),并根据需求选择HTTP/HTTPS协议。HTTPS提供加密传输,有助于保护数据安全。配置SSL证书可以增强安全性,防止中间人攻击。 ...

    svn服务器安装配置

    SVN服务器配置主要包括创建版本库、设置访问控制等操作。 ##### 3.1 创建版本库 使用`svnadmin create`命令创建一个新的版本库。 ``` svnadmin create /var/svn-repo ``` 这将在`/var/svn-repo`目录下创建一个新...

    SVN服务器搭建以及Eclipse作为SVN客户端配置

    SVN 服务器搭建和 Eclipse 配置为 SVN 客户端 SVN(Subversion)是一种版本控制系统,旨在帮助开发团队更好地管理代码版本。下面是关于 SVN 服务器搭建和 Eclipse 配置为 SVN 客户端的详细知识点: 一、SVN 服务器...

    subversion+apache+svn服务器配置图解

    《Subversion、Apache与SVN服务器配置详解》 在IT领域,版本控制系统对于团队协作至关重要,Subversion(简称SVN)就是这样一款强大的工具。配合Apache服务器,我们可以搭建一个稳定且高效的SVN服务,实现代码的...

    svn服务器+svn客户端+svn服务器配置

    在"svn服务器+svn客户端+svn服务器配置"的主题中,我们涵盖了三个关键方面:搭建SVN服务器,安装和配置SVN客户端,以及服务器的详细配置。 首先,SVN服务器是整个版本控制系统的基石,它存储所有版本的文件,并处理...

    详细介绍Windows下SVN服务器的配置

    【Windows下SVN服务器配置详解】 Subversion (简称SVN) 是一款强大的版本控制系统,它在Windows环境下同样可以被高效地配置和使用。本指南将详细介绍如何在Windows上搭建SVN服务器,包括Apache HTTP Server的安装、...

    svn文档管理服务器配置

    svn 文档管理服务器配置 svn 文档管理服务器是一种基于版本控制系统的文档管理解决方案,通过该服务器,可以对文档进行版本控制、权限管理、协作编辑等操作。下面将对 svn 文档管理服务器的配置进行详细介绍。 ...

    svn服务器配置.doc

    ### SVN服务器配置详解 在软件开发领域,版本控制系统扮演着至关重要的角色,它帮助团队有效管理代码变更,确保项目的稳定性和可追溯性。Subversion(SVN)作为一款开源的集中式版本控制系统,广泛应用于各类项目中...

    svn服务器的安装与配置

    SVN(Subversion)是一种广泛使用的版本控制系统,用于管理软件项目的源代码和其他文件的变更历史。它使得多人协作开发变得简单,...随着对SVN服务器配置的深入理解和实践,你将能够更好地管理和维护你的项目源代码。

    svn服务器配置总结.txt

    ### SVN服务器配置详解 在软件开发领域,版本控制系统如Subversion(简称SVN)是团队协作不可或缺的工具。本文将详细解析如何配置一个SVN服务器,确保代码版本管理的高效与安全。 #### 一、安装SVN服务器 1. **...

    centos 7.9服务器 离线 搭建svn服务器

    centos 7.9服务器 离线 搭建svn服务器 ,该文章适用于 开发人员 实施人员 项目经理用于项目文档管理 代码管理,而不指定如何在centos7.9环境下离线搭建svn服务器,因为大多数的网站只是介绍yum install 的方式,但是...

    svn服务器配置说明

    以下是对"svn服务器配置说明"的详细解析。 首先,我们需要了解SVN的基本概念。SVN是一个用于跟踪和管理项目源代码变更的系统,它允许开发者查看历史版本,回滚错误的修改,并协同工作。在配置SVN服务器时,我们通常...

    svn服务器配置

    至此,SVN服务器配置已完成。通过持续的版本控制和协作,团队能够更有效地管理项目,降低错误和冲突,提高开发效率。记得定期备份SVN仓库,以防数据丢失。同时,根据团队的需求和规模,适时调整SVN服务器的配置,以...

Global site tag (gtag.js) - Google Analytics