`
aben328
  • 浏览: 1459428 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类

SVN Server与Apache的联协配置

    博客分类:
  • SVN
阅读更多

SVN Server与Apache的联协配置

关键字: svnserver apache

好久没有配置SVN服务器了,已经学到的知识有还给老师了。昨天一个同事让安装一个SVN服务器,和Apache联协。
Apache的安装路径:C:\Apache2.2,安装端口8090
安装是很简单的事,我用的SVNServer是zip包格式的。解压到C:\根目录下,重命名成C:\svnserver,因为我喜欢短的路径名。它的目录下面会有一个README.txt
在安装部分如下
Java代码 复制代码
  1.   
  2. For an Apache server here's the essentials:   
  3.   
  4. 1. Copy bin/mod_dav_svn.so and bin/ mod_authz_svn.so to the Apache modules directory.   
  5.     复制 bin下的mod_dav_svn.so和 mod_authz_svn.so到Apache的 modules目录。   
  6.     在我的机器上是从C:\svnserver\bin到C:\Apache2.2\modules   
  7. 2. Add the Subversion/bin directory to the SYSTEM PATH and reboot so all the Subversion   
  8.    support dll's are visible to the Apache service.   
  9.     把subversion/bin目录添加到系统的环境变量path中,重启机器。   
  10.     另外说明:这里可以不用重新启动机器,也可以正常使用,如果有问题的话,可是重启机器看看能不能解决,网上的还有一种解决方法是把这subversion/bin下面的dll文件复制到Apache/bin下,我不推荐这种方式,好像它们有重名的文件具体没有试过。   
  11. 3. Edit the Apache configuration file (httpd.conf) and make the following changes:   
  12.     按如下操作修改apache的配置文件,在我的机器上是C:\Apache2.2\conf\httpd.conf.   
  13.   3a. Uncomment the following two lines:   
  14.     取消如下两行的注释,即去掉前面的#号。   
  15.       #LoadModule dav_fs_module modules/mod_dav_fs.so   
  16.       #LoadModule dav_module modules/mod_dav.so   
  17.   
  18.   3b. Add the following two lines to the end of the LoadModule section:   
  19.     添加下面两行到 LoadModule的结束部分,我添加到了   
  20.     #LoadModule vhost_alias_module modules/mod_vhost_alias.so和   
  21.     <IfModule !mpm_netware_module>的中间   
  22.       LoadModule dav_svn_module modules/mod_dav_svn.so   
  23.       LoadModule authz_svn_module modules/mod_authz_svn.so   
  24.   
  25.   3c. Add the following to end of the file. Note: This Location directive is a   
  26.       minimal example with no authentication directives. For other options,   
  27.       especially authentication options, see the Subversion INSTALL file,   
  28.       the Subversion Book, or the TortoiseSVN Manual.   
  29.   
  30.         把下面这一段复制到文件的结尾部分,就完成了SVN和Apache的集成。但是要把 your/repository/path改成你的资源库位置。这只是一个最小化的配置,在我的机器上,库名是repo,这样你就可以用http://localhost:8090/svn/repo来访问。   
  31.      <Location /svn>   
  32.         DAV svn   
  33.         SVNPath your/repository/path   
  34.       </Location>   
  35. 我在我的服务器上设置了多项目和权限控制。和以上安装过程不同的部分也只有在资源库设置的不同,配置如下   
  36. <Location /svn>   
  37.     DAV svn   
  38.     SVNParentPath C:\SVNREPO #资源库的父目录,因为要设置多个项目   
  39.     AuthType Basic  #验证方式   
  40.     AuthName "SVN Reop's Authentication" #输入密码时的提示信息   
  41.     AuthUserFile C:\SVNREPO\svn_passwd_file #用户密码文件   
  42.     AuthzSVNAccessFile C:\SVNREPO\svn_access_file #用户权限控制文件   
  43.     Require valid-user #使用密码验证登录   
  44. </Location>  
For an Apache server here's the essentials:

1. Copy bin/mod_dav_svn.so and bin/ mod_authz_svn.so to the Apache modules directory.
	复制 bin下的mod_dav_svn.so和 mod_authz_svn.so到Apache的 modules目录。
	在我的机器上是从C:\svnserver\bin到C:\Apache2.2\modules
2. Add the Subversion/bin directory to the SYSTEM PATH and reboot so all the Subversion
   support dll's are visible to the Apache service.
	把subversion/bin目录添加到系统的环境变量path中,重启机器。
	另外说明:这里可以不用重新启动机器,也可以正常使用,如果有问题的话,可是重启机器看看能不能解决,网上的还有一种解决方法是把这subversion/bin下面的dll文件复制到Apache/bin下,我不推荐这种方式,好像它们有重名的文件具体没有试过。
3. Edit the Apache configuration file (httpd.conf) and make the following changes:
	按如下操作修改apache的配置文件,在我的机器上是C:\Apache2.2\conf\httpd.conf.
  3a. Uncomment the following two lines:
	取消如下两行的注释,即去掉前面的#号。
      #LoadModule dav_fs_module modules/mod_dav_fs.so
      #LoadModule dav_module modules/mod_dav.so

  3b. Add the following two lines to the end of the LoadModule section:
	添加下面两行到 LoadModule的结束部分,我添加到了
	#LoadModule vhost_alias_module modules/mod_vhost_alias.so和
	<IfModule !mpm_netware_module>的中间
      LoadModule dav_svn_module modules/mod_dav_svn.so
      LoadModule authz_svn_module modules/mod_authz_svn.so

  3c. Add the following to end of the file. Note: This Location directive is a
      minimal example with no authentication directives. For other options,
      especially authentication options, see the Subversion INSTALL file,
      the Subversion Book, or the TortoiseSVN Manual.

     	把下面这一段复制到文件的结尾部分,就完成了SVN和Apache的集成。但是要把 your/repository/path改成你的资源库位置。这只是一个最小化的配置,在我的机器上,库名是repo,这样你就可以用http://localhost:8090/svn/repo来访问。
     <Location /svn>
        DAV svn
        SVNPath your/repository/path
      </Location>
我在我的服务器上设置了多项目和权限控制。和以上安装过程不同的部分也只有在资源库设置的不同,配置如下
<Location /svn>
    DAV svn
    SVNParentPath C:\SVNREPO #资源库的父目录,因为要设置多个项目
    AuthType Basic  #验证方式
    AuthName "SVN Reop's Authentication" #输入密码时的提示信息
    AuthUserFile C:\SVNREPO\svn_passwd_file #用户密码文件
    AuthzSVNAccessFile C:\SVNREPO\svn_access_file #用户权限控制文件
    Require valid-user #使用密码验证登录
</Location>



其中C:\SVNREPO的目录结构如下:

Java代码 复制代码
  1.   
  2. C:\SVNREPO   
  3.     ├─svn_passwd_file   
  4.     ├─svn_access_file   
  5.     ├─ChatProject   
  6.     │  ├─conf   
  7.     │  ├─dav   
  8.     │  ├─db   
  9.     │  ├─hooks   
  10.     │  ├─locks   
  11.     │  ├─format   
  12.     │  └─README.txt   
  13.     └─DailyBuildTestProject   
  14.        ├─conf   
  15.        ├─dav   
  16.        ├─db   
  17.        ├─hooks   
  18.        ├─locks   
  19.        ├─format   
  20.        └─README.txt  
C:\SVNREPO
    ├─svn_passwd_file
    ├─svn_access_file
    ├─ChatProject
    │  ├─conf
    │  ├─dav
    │  ├─db
    │  ├─hooks
    │  ├─locks
    │  ├─format
    │  └─README.txt
    └─DailyBuildTestProject
       ├─conf
       ├─dav
       ├─db
       ├─hooks
       ├─locks
       ├─format
       └─README.txt


ChatProject和DailyBuildTestProject是两个repo目录。
可以使用svnadmin create 命令来创建,这样就会创建一个项目。
【图片】创建ChatProject



svn_passwd_file 在密码文件,svn_access_file是权限控制文件。密码文件使用apache的htpasswd.exe来创建,在此不再多说。
svn_access_file文件的创建,原先我一直以为这个文件应该是UTF-8格式的,可是今天测试了一下,发现并不是这样,它是支持ASCII和UTF-8 without signature,也就是不带BOM(Byte Order Mark)的UTF-8格式。有关BOM参见http://wiki.bmforum.com/BOM。
如果你没有特殊的文件编辑器的话,就只能使用ASCII的,用Windows自带的记事本就可以处理,在这里面最好不要写除ASCII以外的字符。用Em-editor可以创建UTF-8 without signature,它可以支持更多的文字,也许我们用不到。关于这个问题我也不太清楚。但是按这种做法是一定可以的。如果出现403错误,大部分的原因是权限文件不正常,如格式不对,或是文件的编码不正确.
【图403错误】



当前,svn_passwd_file,svn_access_file的文件名不是必须这样,它们只是在配置文件中指定的。
svn_access_file 文件格式示例如下
Java代码 复制代码
  1. [groups]   
  2. CML = admin,cml   
  3. everyone = aaa,bbb,ccc,ddd   
  4. PM = aaa   
  5. PG = bbb,ccc   
  6. TESTER = ddd   
  7.   
  8. ChatProject_CML = admin,cml   
  9. ChatProject_ALL = aaa,bbb,ccc,ddd   
  10. ChatProject_SE = aaa   
  11. ChatProject_PG = bbb,ccc   
  12. ChatProject_TESTER = ddd   
  13.   
  14. [/]   
  15. * =    
  16. @everyone = r    
  17.   
  18. [DailyBuildTestProject:/]   
  19. @everyone = r    
  20. @CML = rw   
  21.   
  22. [ChatProject:/]   
  23. @everyone = r    
  24. [ChatProject:/tags]   
  25. @ChatProject_ALL = r   
  26. @ChatProject_SE = rw   
  27. @ChatProject_CML = rw   
  28. [ChatProject:/trunk]   
  29. @ChatProject_ALL = rw   
  30. @ChatProject_SE = rw   
  31. @ChatProject_CML = rw   
  32. [ChatProject:/branches]   
  33. @ChatProject_ALL = rw   
  34. @ChatProject_SE = rw   
  35. @ChatProject_CML = rw  
[groups]
CML = admin,cml
everyone = aaa,bbb,ccc,ddd
PM = aaa
PG = bbb,ccc
TESTER = ddd

ChatProject_CML = admin,cml
ChatProject_ALL = aaa,bbb,ccc,ddd
ChatProject_SE = aaa
ChatProject_PG = bbb,ccc
ChatProject_TESTER = ddd

[/]
* = 
@everyone = r 

[DailyBuildTestProject:/]
@everyone = r 
@CML = rw

[ChatProject:/]
@everyone = r 
[ChatProject:/tags]
@ChatProject_ALL = r
@ChatProject_SE = rw
@ChatProject_CML = rw
[ChatProject:/trunk]
@ChatProject_ALL = rw
@ChatProject_SE = rw
@ChatProject_CML = rw
[ChatProject:/branches]
@ChatProject_ALL = rw
@ChatProject_SE = rw
@ChatProject_CML = rw
  • 39231b0b-61c5-34c2-9d1a-4696e04e9e01-thumb
  • 大小: 72.2 KB
  • 4e1cd295-f65d-3b7e-aa9a-3c31cbb146ec-thumb
  • 大小: 24.5 KB
分享到:
评论

相关推荐

    apache+svnserver配置

    ### Apache + SVNServer 配置详解 #### 一、配置前准备 在开始Apache与Subversion(SVN)服务器的配置之前,确保已正确安装Apache Web服务器和Subversion。本指南将详细介绍如何在Windows环境下配置Apache与...

    再次奉献SVN+apache Server配置

    这篇博客的标题“再次奉献SVN+apache Server配置”提示我们将深入探讨如何将SVN与Apache服务器集成,以实现高效的代码管理和版本控制。 【描述】虽然描述为空,但我们可以推测博主可能分享了他在配置SVN与Apache...

    配置SVNServer环境命令及Apache方式发布SVN的配置文件

    从1.4版开始,Subversion Server就自带Windows服务程序,通过执行简单的命令,即可注册为服务方式...附件中,是【如何将Subversion注册成windows服务】和【如何实现Http方式访问Svn服务器】所使用的命令,及配置文件。

    svn和apache的安装与配置

    ### SVN和Apache的安装与配置 #### 一、概述 版本控制系统在软件开发过程中起着至关重要的作用。Subversion(SVN)作为一种集中式的版本控制系统,广泛应用于项目管理中。而Apache作为一款强大的Web服务器软件,...

    Windows 下面 apache+SVN配置

    在Windows环境下配置Apache服务器与Subversion(SVN)的集成是一项常见的任务,这对于团队协作开发至关重要。Apache作为流行的Web服务器,而SVN则是一个版本控制系统,二者结合可以让开发者通过Web界面进行代码版本...

    svn+apache+trac配置

    以上就是Trac与Apache结合的配置过程,完成后,团队成员就可以通过Web浏览器进行版本控制、问题跟踪和协作工作,极大地提高了项目管理效率。在整个过程中,注意每个步骤的正确性和兼容性,确保所有组件能正常协同...

    Visual SVN Server 4.2.1 x64企业版

    2. **Visual SVN Server**: 这是Visual SVN公司提供的一个基于Windows平台的Subversion服务器,简化了SVN的安装、配置和管理。Visual SVN Server提供了图形化的用户界面,使得设置和维护SVN仓库变得更加容易。 3. *...

    SVN1.4.6、Apache2.2.8安装配置和使用说明

    【SVN1.4.6、Apache2.2.8 安装配置和使用说明】 在本文中,我们将深入探讨如何在Windows环境下安装和配置SVN1.4.6(Subversion)和Apache2.2.8服务器,以及如何有效地使用它们。Subversion是一个开源的版本控制系统...

    SVN1.4.6 + apache2.2.11 + tomcat 6.0.18 集成配置

    SVN1.4.6 + apache2.2.11 + tomcat 6.0.18 集成配置SVN1.4.6 + apache2.2.11 + tomcat 6.0.18 集成配置

    关于svn与Apache整合

    关于svn与Apache整合以及svn一些常用问题的解决,

    svn server 3.5破解版

    svn server 3.5企业版破解工具

    Windows svn server 配置

    本文将详细讲解如何在Windows环境下配置svn服务器,以便团队成员能够有效地管理和协同工作。 首先,我们需要理解svn的基本概念。Subversion是一个开源的版本控制系统,它允许开发者跟踪并管理项目中的文件和目录的...

    Windows7+_SVN+_Apache2+TortoiseSVN配置安装

    2. **配置SVN仓库**:安装完成后,使用Visual SVN Server Manager或者命令行工具`svnadmin`创建一个新的SVN仓库。仓库通常存储在本地磁盘的一个特定目录下,如`C:\SVN\repos`。 3. **安装Apache服务器**:运行`...

    Linux+svn+apache配置方法

    ### Linux下配置SVN与Apache实现版本控制及Web访问 #### 概述 本文将详细介绍如何在Linux环境下配置Subversion (SVN) 和 Apache HTTP Server,以实现版本控制功能,并支持通过SVN客户端和Web浏览器两种方式进行...

    VisualSVN-Server-4.2.2-x64.msi_svnserver_windows_64bit_

    3. 配置服务:安装完成后,启动VisualSVN Server Manager,这是用于管理SVN服务器的图形界面工具。在这里,你可以创建新的SVN仓库,设置用户权限,以及配置服务器的各项参数。 二、创建和管理SVN仓库 1. 创建仓库...

    svn+apache 配置版本管理详细步骤以及安装包

    在IT行业中,版本控制是团队协作开发不可或缺的一部分,而Subversion(简称SVN)与Apache的结合使用,能实现高效且安全的代码版本管理。本文将详细介绍如何在Windows XP和Windows 7系统下配置SVN服务器,利用Apache...

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

    - 文件库与项目的配置方式通常是通过在Apache配置中指定SVNPath或SVNParentPath,然后在文件库中创建项目目录。 - 设定项目的目录结构,以便团队成员按照约定进行版本控制。 6. **访问控制** - 基本(Basic)...

    SVN-Apache2.2.8安装配置说明

    本文将详细介绍如何在Windows环境下安装和配置SVN(Subversion)1.4.6与Apache2.2.8,为您的开发工作提供一个稳定可靠的版本控制系统。 1. 版本控制基础 版本控制是一种系统,用于追踪并管理软件项目中的文件和...

    SVN Server的搭建与配置

    标题中提到的“SVN Server的搭建与配置”意味着将要讨论的是如何设置和配置一个SVN(Subversion)服务器。SVN是一个版本控制系统,允许用户记录文件的历史版本,以便能够恢复到文件的早期版本,或者跟踪和合并代码...

Global site tag (gtag.js) - Google Analytics