`

svn版本库的建立

    博客分类:
  • svn
阅读更多
SVN最常见的配置模式便是与Apache集成,这样SVN可以采用WebDev协议方式提供服务。主要的好处有:通过Apache以HTTP方式穿透防火墙,便于在互联网环境使用;提供目录的版本控制;纯2进制的文件对比方式等。下面将介绍如何将SVN集成在Apache上。

一、准备工作:

       1.    下载软件:

      (1)  SVN服务器端程序。到官方网站的下载二进制安装文件,来到二进制包下载部分  ,找到 Windows NT, 2000, XP and 2003部分,然后选择"this directory",这样我们可以看到许多下载的内容,目前可以下载 svn-1.2.3-setup.exe。


      (2)  TortoiseSVN,客户端程序。TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。
官方网站是TortoiseSVN,下载方式和前面的svn服务器类似,在Download页面的我们选择Official version for Win2k/XP or higher的版本,然后在sourceforge的下载页面选择目前的最高稳定版本的安装文件TortoiseSVN-1.2.5.4719-svn- 1.2.3.msi。(注意:TortoiseSVN有一个特殊对VS.Net运行时一个BUG修正的版本,在下载页面有选择:Special version for Win2k/XP or higher: (We provide NO support for this!) uses _svn folders instead of .svn to work around the VS.NET bug with web projects. If you don't use web projects then please use the official version. )


      (3)  TortoiseSVN的中文语言包,注意这个需要下和客户端程序版本相同的。可以在Download页面内的Language Packs选择下载。


      (4)  Apache服务器程序。可以到Apache官方网站下载最新版本的Apache,并且SVN必须运行在Apache2以上版本,在下载页面选择Windows的安装包文件apache_2.0.55-win32-x86-no_ssl.msi


      (5)  AnkhSVN,可选安装VS.Net的SVN插件。有0.5和0.6版本选择,0.6版支持VS2005 Beta2,下载页面。


       2.    停止IIS,因为Apache默认安装为80端口,需要关闭IIS避免端口冲突。可以在安装好之后再调整端口。



二、开始安装:


      1.    先安装Apache服务器。在到填写ServerInfo的时候,若机器已经启用了AD,安装程序会自动填写,否则自己手动填写。安装完成之后到安装目录下找到conf目录下的httpd.config文件,搜索Listen,并将Listen后面的80改为8080(或者你希望的端口),然后重新启动 Apache服务器,这时可以用http://localhost:8080 来测试是否安装正确。


      2.    再安装SVN服务器,没有什么好说的,一路回车就可以了。(安装SVN时,请确保Apache服务器正在运行状态,安装过程中可能会将Apache关闭,重新启动属于正常现象)


三、配置Apache服务器与SVN集成:

   1. 首先将Subversion安装目录bin下面的两个文件:mod_authz_svn.so和mod_dav_svn.so复制到Apache安装目录modules目录下。
   2. 有些文章说需要再修改httpd.conf,并做如下修改:
      找到Apache安装目录下的conf目录,用文本编辑器打开httpd.conf,找到一下两行:

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

      将每行前面的注释符“#”去掉。再在所有LoadModule语句的最后添加一下几行:

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

      但是我安装完之后发现这个文件已经被做了那些修改,大概是新版的SVN安装程序做了一些优化吧。其实在成功安装SVN之后,Apache服务器已经和SVN初步集成。如图:
      

注意下面的状态栏已经是Apache/2.0.55 SVN1.2.3 DAV/2

# 建立一个SVN存放文件的目录,我在F盘下创建一个文件夹:F:/SubversionFiles
# 接下来我们必须告诉Apache我们的资源库所在的路径,可以通过Location指令来完成这个设置。因为不希望为每个单独的项目都进行单独的设置,所以我们把所有项目都存放在统一的资源库目录,那么可以使用SVNParentPath指令来指定存放所有项目的路径。在httpd.conf文件最后添加下面配置:

#SVN

<Location /svn>
    DAV svn
    SVNParentPath "F:/SubversionFiles"
</Location>

这样我们就可以通过http://myhost:8080/svn/<项目名> 来访问存放于资源库F:/SubversionFiles中的指定项目。当然有可能你并不希望某个项目提供这样一种访问方式,这时候你可以使用SVNPath为每个项目进行单独的设置,SVNPath的使用方法如下:

    DAV svn
    SVNPath "F:/SubversionFiles/project1"

同样把这段配置放在httpd.conf最后,重启Apache HTTP服务即可通过http://myhost:8080/svn/project1 来访问project1项目的资源库。

   1.

      下面作一个测试:

      (1)到F:SubversionFiles下建立一个子目录Test,然后到Aapche下的Bin目录下执行svnadmin create F:SubversionFilesTest

      (2)打开浏览器输入网址:http://localhost:8080/svn/Test ,应该可以正确访问,但当前该项目下还没有加入任何内容,所以显示为空的

      (3)有一点需要提示的是,现在的访问是完全匿名的,任何人都可以对SVN进行操作。所以我们接下来利用Apache的权限管理功能来对SVN进行用户验证集成
   2.

      加入用户身份验证:

      在确定对访问用户的权限控制之前,你必须规划好是对整个资源库中的所有项目还是单独的某一个项目进行统一的身份验证, 也就是我们前面讲到的是使用SVNParentPath还是SVNPath的问题。

      最简单的身份验证方式是使用Basic HTTP Authentication机制,该方式通过用户名和口令对访问用户进行身份验证。我们可以直接通过Apache提供的支持进行设置。Apache提供一个htpasswd工具来管理用户名和口令。接下来我们利用这个工具来添加两个用户。

      在命令行窗口中转到Apache所在的目录,执行下列命令

      说明:创建用户Xrinehart
      输入:htpasswd –c F:SubversionFilessvn_auth_passwd Xrinehart
      说明:使用-c参数来创建一个passwd文件
      输出:
      New password: *****
      Re-type new password: *****
      Adding password for user Xrinehart

      再创建用户的时候就不用-c参数,而是用-m参数,因为文件svn_auth_passwd 已经创建。

      #
      # SVN
      #

        DAV svn
        SVNParentPath "F:/SubversionFiles"

      # how to authenticate a user
       AuthType Basic
       AuthName "Subversion repository"
       AuthUserFile "F:/SubversionFiles/svn_auth_passwd"
      
        # only authenticated users may access the repository
      Require valid-user


      重新启动Apache HTTP服务器,使用浏览器打开 http://localhost:8080/svn/Test 你将会看到要求登录的对话框,输入你刚设置的用户名和口令即可。

      这样Apache和SVN的集成就基本告成了

      打开svn_auth_passwd文件,密码使用MD5加密过了,而且同样的密码加密出来的内容却不相同

      接下来我们必须告诉Apache服务器如何使用这个passwd文件,打开httpd.conf找到刚才我们添加的Location配置的位置,修改如下:




SVN中文技术网[www.svn8.com]
分享到:
评论

相关推荐

    SVN项目版本库模板

    SVN项目版本库模板

    svn新建版本库步骤

    svn新建版本库步骤,详细步骤,能够按照此步骤配置换成svn版本库

    IIS+SVN实现本地上传服务器自动更新

    4.在E:\web文件夹利用svn账号admin读取svn版本库建立初始版本(这步很重要,没有这步是会跳过web文件夹的) 5.现在客户机创建初始版本文件夹,把程序拷进来进行提交上传,服务器web文件夹自动的更

    SVN Server 版本库创建

    一款VisualSVN Server Manager版本库的创建、详细的创建步骤、图文说明

    SVN库建立及VSS数据导入

    SVN库建立及VSS数据导入SVN 一、 SVN库建立 由于事先我安装好TortoiseSVN,因此我用此工具建立版本库,非常简单的哦! 在D:\SVN新建一个文件夹(test),右键-属性-在此创建版本库,这样就完成了。 二、 VSS数据...

    SVN使用手册中文版快速入门

    我可以在web浏览器看到我的版本库,但是svn checkout给我一个301 Moved Permanently错误。 我尝试察看我的文件的一个老版本,但是svn告诉我“path not found”。 C. WebDAV和自动版本化 WebDAV基本概念 仅是平常的...

    SVN使用手册中文版.chm

    我可以在web浏览器看到我的版本库,但是svn checkout给我一个301 Moved Permanently错误。 我尝试察看我的文件的一个老版本,但是svn告诉我“path not found”。 C. WebDAV和自动版本化 WebDAV基本概念 仅是平常的...

    Liunx cetos下搭建SVN服务流程

    1、安装SVN 2、创建SVN版本库 3、配置SVN 4、启动SVN服务

    svn + apacha 的安装文档

    第二步,建立一个用户,用于管理SVN版本库 useradd -m -s /bin/bash svn 第三步,创建版本库目录,并修改相应权限。 mkdir /var/repos chown svn.svn /var/repos 第四步,创建项目仓库 su - svn svnadmin ...

    svn远程备份

    网络上如何进行远程svn备份 首先建立版本库,apache下建立用户。

    实例方式讲解svn目录权限设置

    通过实例讲解svn目录权限的详细设置。主要包括:项目结构、建立版本库、配置权限、导入项目版本库、启动svnserver、将svnserver设为系统服务等内容。难得的svn资料。

    SVN维护及配置常用命令

    文档中SVN服务器是依托apache搭建在windows平台下,对SVN版本库的建立、用户权限的配置、apache中相关配置文件的修改都有较详细的描述,也有简单的排错讲解。

    针对svn的用户、权限、目录的管理

    针对svn的用户、权限、目录的管理 建立版本库 设置密码文件 设置权限文件

    svn-win32-1.6.6.zip

    三、建立版本库(Repository)svnadmin.exe create E:\SVN_DATA\ydsauna 注册成2个服务: sc create svnservice binpath= "E:\svn-win32-1.5.6\bin\svnserve.exe --service -r E:\SVN_DATA" displayname= ...

    Redhat下svn 服务器端的安装及配置方法

    1、建立版本库目录 2、建立版本库: 3、修改版本库配置文件: 4、配置允许访问的用户: 5、配置用户访问权限: 6、删除无用文件: 二、svn 的启动方法 1、建立启动svn的用户: 2、允许用户svn访问版本库: 3、启动svn: 4、...

    windows安装svn(服务端、客户端)

    文章详细介绍了在windows平台下安装svn客户端、服务端,以及创建服务、自启动;建立本地svn版本库

    svn服务器配置总结

    此命令在 E:\svn 下建立一个版本库 group1 group1 下面会自动生成一些文件夹和文件。 我们也可以使用 TortoiseSVN 图形化的完成这一步: 先建立空目录 d:\repository\group1 ,注意一定是要空的。然后在 group1 ...

    Svn最强大的Windows下实现自动全量增量备份和异地备份,一切自动化完成

    最强大的Svn在Windows下实现自动全备份和增量备份,以及异地备份,一切自动化完成 1.SVN备份内容 SVN在Windows下的自动备份实现,包括: 1)SVN目录的全备份(1周或1个月备份1次...可以进行还原所有版本库,需手工执行

    使用Subversion进行版本控制(针对 Subversion 1.4)

    比较版本库与版本库 浏览版本库 svn cat svn list 获得旧的版本库快照 有时你只需要清理 总结 3. 高级主题 版本清单 修订版本关键字 版本日期 属性 为什么需要属性? 操作属性 属性和 Subversion 工作流程 自动...

    SVN客户端用户使用手册

    所以,每次在工作区文件夹下修改本地版本库之前,必须首先对本地版本库执行一次更新(右键单击工作区,选择SVN Updata),将最新的版本下载到本地,然后再进行修改操作。 二.其他操作 在日常的软件开发过程中,除了...

Global site tag (gtag.js) - Google Analytics