`

svn1.6+apache2.2+ssl配置之Apache集成

阅读更多

软件准备

svn-win32-1.6.1.zip(http://subversion.tigris.org/files/documents/15/45600/svn-win32-1.6.1.zip)和apache_2.2.11-win32-x86-no_ssl.msi注意版本要匹配,否则可能会报错误12(见下面)

软件安装:
1. 安装svn

1.1 直接解压下载的svn压缩包即可

1.2%svn%svn的主目录)使用%svn%/bin下的svnadmin命令创建工程:

      svnadmin create d:/svn/myproject

     注释:d:/svnsvn的根目录,myproject是我们的工程

2.安装apache
2.1 按照提示安装即可

   2.2 关于80端口是否被占用

2.2.1 使用命令
netstat -ano|findstr ".*:80.*:.*" 即可查看80端口是否被使用,一般安装iis以及迅雷等软件有可能把端口占用,如果80被占用的话,最后一列的数字即为占用80端口软件的pid;当然您可以把该软件关闭,也可以修改apache的端口
   2.2.2%apache%apache的主目录)修改apache的端口可以修改%apache%/conf/httpd.conf

把里面的Listen 80修改为:

    Listen 81
    这样您的apache的端口就变成81了,不会与80冲突啦,修改后端口再按照2.1重新安装一次即可

2.3在浏览器里输入http//localhost:81正常显示说明安装成功。(81是端口号)

3.svnapache结合
3.1拷贝%svn%下的文件到%apache%

3.1.1%svn%\bin\下的
mod_dav_svn.somod_authz_svn.so%apache%\modules目录下
3.1.2%svn%\bin\下的九个dll文件intl3_svn.dll,libapr-1.dll,libapriconv-1.dll,libaprutil-1.dll,libdb44.dll,libsvn_delta-1.dll,libsvn_fs-1.dll,libsvn_repos-1.dll,libsvn_subr-1.dll拷贝到%apache%\bin目录下(建议全部copy过去,否则容易报错误2,见下面)

3.2修改%apache%/conf/httpd.conf文件

3.2.1把在httpd中找到以下2行,并把前面的注释符#删除:

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

     如果不删除容易报错误3,见下面

3.2.2LoadModule结尾处添加以下2行:

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

3.2.3http.conf文件的结尾处添加以下配置行:

<Location /svn>
    DAV svn
    SVNParentPath D:\svn
    AuthType Basic
    AuthName "Subversion repositories"
    AuthUserFile D:\svn\passwd
    #AuthzSVNAccessFile D:\svnaccessfile
    Require valid-user
</Location>
注释:1. SVNParentPath D:\svn svn的主目录,参加1.2中设置

        2 .AuthUserFile D:\svn\passwd 密码存储文件,(下面要使用)
说明:
<Location /svn/>
   意味着可以通过像这样的URL(http://MyServer/svn)来访问Subversion版本库
DAV svn
   告诉Apache哪个模块负责服务像那样的URL--在这里就是Subversion模块
SVNListParentPath on
   在Subversion 1.3及更高版本中,这个指示器使得Subversion列出由SVNParentPath指定的目录下所有的版本库
SVNParentPath F:\svnROOT
   告诉Subversion在目录F:\svnROOT下寻找版本库
AuthType Basic
   启用基本的验证,比如用户名/密码对
AuthName "Subversion repositories"
   当一个验证对话框弹出时,告诉用户这个验证是用来做什么的
AuthUserFile F:\svnROOT\htpasswd
   指定F:\svnROOT\htpasswd用为密码文件用来验证用户的用户名及密码
AuthzSVNAccessFile F:\svnROOT\authz
   指定F:\svnROOT\authz来限定各个用户或组在版本库中目录的访问权限
Require valid-user
   限定用户只有输入正确的用户名及密码后才能访问这个路径(此项表示,无论是IE还是Tortoise,只有通过密码验证才能访问)。
下面表示允许匿名访问,对于读操作,不需要用户验证。
#<LimitExcept GET PROPFIND OPTIONS REPORT>
#Require valid-user
#</LimitExcept>
    AuthUserFile和AuthzSVNAccessFile 的工作原理是,先使用Apache用户机制进行验证,通过之后将请求提交给mod_authz_svn.so进行认证,最后使用mod_dav_svn.so提供的功能。    

3.3
创建passwd文件来管理svn的访问权限
3.3.1 使用%apache%\bin\
htpasswd.exe来创建密码
    第一个用户的命令:
htpasswd -c D:\svn\passwd %username%
    第二个用户的命令:
htpasswd D:\svn\passwd %username%
    注释:1.-c是创建新文,%username%是用户名,输入命令后还会提示输入密码二次。

          2.D:\svn\passwd3.1.3中设置的路径文件
上面的配置仅仅是一个简单的示例。你还可以对Apache进行许许多多的配置。
1.如果你想让所有用户对版本库都有读的权限而只有特定的用户才有写的权限,你可以将这行
CODE:
Require valid-user
改为
CODE:
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
2.上面的配置使用了passwd文件将你所有的版本库作为一个单元来限定访问权限。如果你想获得更多的控制,如限定某个用户可以访问版本库中的哪个目录,可以把下面这行的#去掉:
CODE:
#AuthzSVNAccessFile D:\svnaccessfile
然后用文本编辑器创建一个Subversion授权文件。Apache将确保只有有效的用户可以访问你的/svn位置,然后将用户名传到 AuthzSVNAccessFile模块,这样可以依据Subversion授权文件得到更精细的权限控制。注意,路径将被指定为[库:路径]或者简单 的[路径]。如果你不明确指定一个库,访问规则将应用到由SVNParentPath指定的目录下所有的版本库中。一个授权文件例子可能像这样:
CODE:
[groups]
admin = john, kate
devteam1 = john, rachel, sally
devteam2 = kate, peter, mark
docs = bob, jane, mike
training = zak
# 为所有库指定默认访问规则
# 所有人可以读,管理员可以写,危险分子没有任何权限
[/]
* = r
@admin = rw
dangerman =
# 允许开发人员可以完全访问他们的项目版本库
[proj1:/]
@devteam1 = rw
[proj2:/]
@devteam2 = rw
[bigproj:/]
@devteam1 = rw
@devteam2 = rw
trevor = rw
# 文档编写人员对所有的docs目录有写权限
[/trunk/doc]
@docs = rw
# 培训人员可以完全访问培训版本库
[TrainingRepos:/]
@training = rw

Svnapache结合容易产生的错误
    1.httpd.exe: Syntax error on line 86 of D:/Program Files/Apache Software Fou
n/Apache2.2/conf/httpd.conf: API module structure 'dav_svn_module' in file
ogram Files/Apache Software Foundation/Apache2.2/modules/mod_dav_svn.so is
ed - expected signature 41503232 but saw 41503230 - perhaps this is not an
e module DSO, or was compiled for a different Apache version?
Note the errors or messages above, and press the <ESC> key to exit. 3....
解决办法就是使用2.0版本的apache

 

 

    2.httpd.exe: Syntax error on line 86 of D:/Program Files/Apache Software Foundatio
n/Apache2.2/conf/httpd.conf: Cannot load D:/Program Files/Apache Software Founda
tion/Apache2.2/modules/mod_dav_svn.so into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\
xb8\xb6\xa8\xb5\xc4\xb3\xcc\xd0\xf2\xa1\xa3
Note the errors or messages above, and press the <ESC> key to exit. 16...
可以看到已经说明了是2.2.9以上的apache

3.Syntax error on line 487 of D:/Program Files/Apache Software Foundation/Apache2.
2/conf/httpd.conf:
Invalid command 'DAV', perhaps misspelled or defined by a module not included in
the server configuration
Note the errors or messages above, and press the <ESC> key to exit. 25...

LoadModule dav_module modules/mod_dav.so 前的注释去掉


分享到:
评论

相关推荐

    Trac0.12+SVN1.6+Apache2.2在windows下的配置说明

    在本文档中,我们将探讨如何在Windows环境下配置Trac 0.12、Subversion (SVN) 1.6和Apache 2.2。Trac是一个开源的项目管理工具,它集成了版本控制系统(如SVN)和一个Web界面,提供了问题跟踪、文档管理和源代码...

    ubuntu linux 配置svn+apache+ssl

    【概述】 ...以上就是Ubuntu环境中配置SVN+Apache+SSL的详细步骤,包括安装、配置、权限设置以及SSL安全连接的建立。通过这样的设置,你的团队可以安全地协作开发项目,同时确保代码仓库受到保护。

    svn+apache+ssl整合

    【svn+apache+ssl整合】是指将Subversion(SVN)版本控制系统与Apache HTTP服务器结合,并启用SSL(Secure Sockets Layer)加密通信,以便提供安全的HTTPS访问方式。这一过程通常涉及以下步骤: 1. **环境准备**: ...

    再次奉献SVN+apache Server配置

    3. **SVN与Apache集成**:配置SVN在Apache上运行,通常需要安装mod_dav_svn模块,该模块使得Apache能够支持SVN的WebDAV协议。这一步骤包括编译和安装mod_dav_svn,然后在Apache的配置文件(如httpd.conf)中添加相应...

    linux下apache2.2.23+svn1.6

    在Linux环境下,构建一个SVN(Subversion)代码服务器,特别是使用Apache2.2.23作为前端Web服务器,Subversion1.6作为版本控制系统,是开发者常用的实践。以下是搭建这个环境的详细步骤: 首先,确保你的Linux系统...

    Ubuntu+svn+ssl+ldap

    【Ubuntu+svn+ssl+ldap】的安装及集成是一个复杂的过程,涉及到Ubuntu操作系统、Subversion (SVN) 版本控制系统、SSL安全套接层以及Lightweight Directory Access Protocol (LDAP) 用户认证。以下是对这些技术的详细...

    Windows7+_SVN+_Apache2+TortoiseSVN配置安装

    4. **配置Apache**:编辑Apache的配置文件`httpd.conf`,添加SVN模块`mod_dav_svn`和`mod_authz_svn`,并配置SVN仓库路径。同时,设置用户认证,例如使用Basic认证,并创建一个简单的用户数据库。 5. **安装...

    SVN+apache

    ### SVN+Apache服务器端配置及权限设置详解 #### 一、概述 SVN(Subversion)是一种开源的版本控制系统,广泛应用于软件开发过程中对代码版本的管理。而Apache是一款非常强大的Web服务器,能够提供多种服务支持,...

    winxp+svn+apache安装配置全说明

    【winxp+svn+apache安装配置全说明】 在Windows XP SP3环境下,搭建Subversion(SVN)版本控制系统,通常需要结合Apache HTTP Server作为前端Web服务器。以下是详细的安装配置步骤: 1. **下载所需软件** - ...

    svn+apache+trac配置

    在本配置中,我们将通过Apache web服务器来部署Trac,实现通过Web访问项目管理和版本控制的功能。 1. **总体说明** Trac环境的搭建主要涉及以下组件: - Apache HTTP Server:作为Web服务器,负责处理HTTP请求并...

    Apache+MySQL+SVN+SSL(最终文档)

    接着是Apache、MySQL、SVN及SSL相关组件的安装配置。文档中还提供了指向Subversion官方文档的链接,供用户深入了解SVN的高级配置和使用技巧。 ### 结论 这份文档不仅涵盖了在RHEL 5.5上部署关键IT基础设施所需的...

    SVN+Apache+Trac安装配置

    ### SVN+Apache+Trac 安装配置指南 本文档主要介绍了如何在 RedHat EL4 系统上搭建一个完整的 SVN+Apache+Trac 的软件开发环境。这将包括所有必要的软件及其支持包的安装与配置流程。通过遵循本文档中的步骤,您将...

    Trac+SSPI+SVN+Apache

    【Trac+SSPI+SVN+Apache 集成详解】 在Windows环境下,整合Apache、SVN(Subversion)和Trac是一项常见的任务,尤其是对于企业内部的版本控制系统和项目管理工具。以下是一个详细的集成步骤,以实现使用域账号进行...

    官网Apache2.2

    4. **安装Subversion (SVN)**:下载并安装SVN 1.6.6的Windows版本,配置SVN服务器与Apache集成,将SVN作为Apache的一个模块运行。 5. **配置mod_dav_svn模块**:在Apache的配置文件中添加mod_dav_svn模块的相关配置...

    Linux+svn+apache配置方法

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

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

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

    Linux-RedHat9上配置svn+apache服务器

    在Linux RedHat9系统上配置SVN(Subversion)与Apache服务器的集成是开发者和系统管理员常用的操作,以便实现版本控制系统和Web服务器的完美融合,提供便捷的代码管理和Web访问功能。以下是一份详细的配置指南: ...

    linux+svn+apache安装配置部署

    需要在Apache的配置文件中添加以下内容来指定SVN版本库的位置、身份验证等设置。 ``` LoadModule dav_module modules/mod_dav.so LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_...

    windows下svn+apache搭建svn服务器.docx

    #### 三、配置SVN和Apache 为了让Apache能够代理SVN服务,还需要进行一些必要的配置工作: 1. **复制必要的库文件**: - 将`Subversion\bin`目录下的`mod_authz_svn.so`、`mod_dav_svn.so`、`libdb44.dll`、`...

Global site tag (gtag.js) - Google Analytics