`
zhaoshijie
  • 浏览: 2261842 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SVN安装配置之HTTP协议

阅读更多
为彻底解决SVN客户端和服务器版本之间的不一致(公司原本使用的是Subversion-server-1.5.3+TortoiseSVN-1.6.2)而引起的CruiseControl自动从SVN上获取代码的版本冲突,我特地从SVN官网上下载了同是1.6.6-win32的客户端和服务器安装包.

在网上找了安装配置说明,具体配置记录如下:

1.Subversion1.6.6版本的安装包自带了Apache2.2.13,所以无需额外安装Apache服务器。下载地址是(需要注册后再下载)

2.一路默认安装,如果需要修改仓库根目录或者Apache2.2.13端口可以自行修改为自己想要的,Apache默认端口为80,Subversion默认仓库存储路径为C:\svn_repository。安装的过程中会自动将Subversion和Apache注册成服务,安装完成后重启一下电脑,运行services.msc查看服务,可以看到“CollabNet Subversion Apache”和“CollabNet Subversion svnserve”两个服务已经自动启动,如果不想让他们自动启动,可以修改为手动启动。

注:安装结束时没有提示重启电脑,但重启之前Apache服务无法启动,提示“The requested operation has failed!”。

3.重启电脑后运行C:\Program Files\CollabNet\Subversion Server\httpd\bin的“ApacheMonitor.exe”打开Apache控制台,可以看到控制台的状态栏有如下内容:
Apache/2.2.13(Win32) DAV/2 SVN/1.6.6

4.运行命令提示符cmd
cd C:\Program Files\CollabNet\Subversion Server
svnadmin create c:\rep
//用svnadmin命令创建名为rep的仓库(这条命令成功后,在rep下会出现很多文件夹和文件)
cd C:\Program Files\CollabNet\Subversion Server\httpd\bin
htpasswd -cm c:\rep\user.txt admin
//用htpasswd命令创建用户(admin),同时生成密码认证文件,c参数为create,m参数为MD5加密方式
New password: ******
Re-type new password: ******
Adding password for user admin  //加入用户成功
htpasswd -m c:\rep\user.txt test
//用htpasswd命令创建用户(test),注意如果在这时加入c参数会覆盖掉之前创建的用户及文件。
New password: ******
Re-type new password: ******
Adding password for user test   //加入用户成功

5.在C:\rep下新建文本文件access.txt。建议用UtralEdit或EditPlus编辑工具打开,若用记事本打开,注意不要勾上“格式”里的“自动换行”,输入以下内容:
[/]
admin = rw
test = r
* =

6.用UtralEdit或EditPlus编辑工具打开C:\Program Files\CollabNet\Subversion Server\httpd\conf下的httpd.conf文件,
找到115行和116行的代码如下:
115 LoadModule dav_module       modules/mod_dav.so
116 LoadModule dav_svn_module     modules/mod_dav_svn.so

在116行下面加入如下一行代码,这行代码就成为了117行:
LoadModule authz_svn_module   modules/mod_authz_svn.so

文件最后面的信息如下:
<Location /svn>
DAV svn
SVNParentPath C:\svn_repository
</Location>

修改为:<Location /rep>
DAV svn
SVNPath C:\rep
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile "C:\rep\user.txt"
AuthzSVNAccessFile "C:\rep\access.txt"
Require valid-user
</Location>

7.通过ApacheMonitor控制台在任务栏右下角的图标的Restart命令重新启动apache,用IE打开http://localhost/rep,输入用户名admin与密码,这时应该可以看到
rep - Revision 0: /
----------------------------------
//说明经配置成功了

以上内容摘录至http://bbs.pmlife.net/viewthread.php?tid=20219



作为初次配置带有apache的SVN的新人,我在过程中犯了以下几个错误:

1.    没有正确理解apache在安装SVN中的作用。

正解:网上查询得到的结果如下

      Subversion有两种运行方式,一种是基于Apache Http Server,另外一种是Subversion Standalone Server。下面我讲解的是基于ApacheHttp Server的Subversion,这样做几个好处
A.能使用WebDAV协议。
B.能使用浏览器作为客户端工具浏览源码仓库。
C.可以很容易的支持到SSPI(Windows域认证)和LDAP(AD?),这些都是Apache本身就支持的。
D.能得到比较完善的Apache安全认证系统,比如SSL加密连接。

2.    在修改httpd.conf文件中的SVNPath路径时没有正确加以理解,错误地理解成了安装过程中默认的C:\svn_repository。

正解:我实际创建的文件库路径是C:\rep。

3.    采用了手工的方式启动了SVN服务(svnserve –d –rC:\rep)

正解:实际上SVN安装完成并重启后,“CollabNet Subversion Apache”和“CollabNet Subversion svnserve”两个服务已经自动启动了,可以直接使用客户端或浏览器进行访问。如:http://192.168.3.99:80/rep/

因此之后对SVN使用中,系统报出“authentication failed.”以及后来出现的"Could not open the requested SVN filesystem"错误。



(2009-10-29上午)

今天又碰到一个新的问题,本机访问SVN正常,但内网其他机子无法访问,提示OPTIONS of 'http://xxxx/rep': could not connect to server (http://xxxx)。

正解:查了一个多小时的原因,最后才经同事提醒,防火墙影响了访问,关闭防火墙后就能正常访问了。
分享到:
评论

相关推荐

    SVN安装配置教程(带视频教程)

    4. **设置URL**: 配置完成后,可以通过HTTP/HTTPS协议访问SVN仓库,如`http://yourserver/svn/reponame`。 **三、SVN客户端使用** 1. **检出(Checkout)**: 使用`svn checkout URL`命令获取仓库中的代码到本地...

    SVN的安装和配置 SVN的安装和配置

    在本篇文章中,我们将详细探讨如何安装和配置SVN,以便于团队有效地管理和共享代码资源。 **1. 安装SVN服务器** 在Windows系统上,通常使用VisualSVN Server作为SVN服务器。首先,访问VisualSVN官网下载安装包,...

    如何通过公网以http方式访问单位的svn.让svn支持http协议

    1. **SVN与HTTP协议** SVN是一种分布式版本控制系统,它允许团队成员在同一项目中同时工作并管理各自的更改。默认情况下,SVN使用自己的协议svn://进行通信,但这种方式通常不能穿透防火墙,对于公网访问不友好。...

    svn安装配置步骤及详细操作图片

    【SVN安装配置步骤及详细操作图片】 SVN(Subversion)是一款开源的版本控制系统,用于管理和跟踪项目源代码的变化。在开发环境中,如MyEclipse,安装SVN插件可以方便地进行版本控制,与团队协作。以下是在...

    win下的svn安装工具及安装步骤

    按照向导的提示进行操作,通常包括接受许可协议、选择安装类型(默认的“标准”即可)以及设置安装路径。 3. **配置SVN服务** 在安装过程中,可以选择安装SVN服务器组件,如VisualSVN Server,用于托管代码仓库。...

    SVN安装和采用http或https访问

    以下是从给定文件内容中提取的知识点,分别介绍了SVN的安装、配置、使用http和https协议访问SVN资源库的过程。 ### SVN安装 1. **安装SVN** - 使用yum安装SVN: `yum install subversion` - 验证安装: `svnserve ...

    svn服务器的安装与配置

    3. **安装依赖**:为了配置HTTP/HTTPS访问,需要安装Apache HTTP Server(Apache2)和mod_dav_svn模块,如`sudo apt-get install apache2 libapache2-svn`或`sudo yum install httpd mod_dav_svn`。 4. **创建仓库*...

    Debian下svn服务器的安装与配置

    Debian 下 SVN 服务器的安装与配置 本文将详细介绍 Debian 环境下 Subversion 服务器的安装和配置过程。Subversion 是一种版本控制系统,允许多用户共同协作开发项目。本文将从安装 Subversion 开始,到配置 SVN ...

    CentOS下安装apache和svn并为svn配置http支持

    在CentOS环境下安装Apache服务器和Subversion(SVN)版本控制系统,并配置Apache来支持HTTP协议的SVN服务,是常见的软件部署与配置任务。以下知识点会详细阐述整个过程中涉及的步骤、组件以及潜在的配置问题。 ### ...

    配置SVN服务器 svn配置

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

    配置管理工具SVN 安装程包

    本篇文章将详细介绍如何安装和使用配置管理工具SVN的安装程序——VisualSVN Server。 **1. SVN的基本概念** SVN的核心功能是版本控制,它可以记录每一次对文件或目录的修改,以便于团队成员可以查看历史变更、回滚...

    SVN的安装和配置教程资料

    - **Apache HTTP Server**:与SVN服务器集成,提供WebDAV协议,允许通过HTTP/HTTPS访问版本库。 - **VisualSVN Server**:在Windows上简化Apache和SVN的配置,提供图形化管理界面。 - **svnserve**:轻量级的SVN...

    SVN远程配置说明文档

    SVN远程配置说明文档 本文档旨在帮助用户配置SVN远程连接,以便于在家工作更加方便。SVN(Subversion)是一个自由/开放源码的版本控制系统,可以管理随时间改变的文件,并将其放在一个中央仓库中,使得用户可以恢复...

    svn服务器配置教程全

    确保SVN服务器监听正确的端口(默认为3690),并根据需求选择HTTP/HTTPS协议。HTTPS提供加密传输,有助于保护数据安全。配置SSL证书可以增强安全性,防止中间人攻击。 为了方便团队成员使用,我们可以创建SVN服务并...

    linux svn安装手册

    13. 设置SVN服务器,如使用HTTP/HTTPS协议,可能需要配置Apache或lighttpd等Web服务器,并安装mod_dav_svn模块。 14. 创建SVN仓库,使用`svnadmin create`命令创建一个版本库,然后设置仓库的权限和访问控制。 15....

    Svn安装配置与使用

    【SVN安装配置与使用】 SVN(Subversion)是一种版本控制系统,用于管理代码和文档的变更历史。本文将详细介绍如何在服务器端安装配置SVN,以及如何在客户端进行基本的使用。 一、服务器端安装配置 1. 选择安装包...

    SVN服务端配置手册

    在本文中,我们将重点介绍如何配置SVN服务端,包括VisualSVN Server的安装、客户端TortoiseSVN的安装,以及权限配置。 首先,让我们详细了解一下VisualSVN Server的安装步骤: 1.1 VisualSVN Server安装 - 最新...

Global site tag (gtag.js) - Google Analytics