基于 Apache 的服务器Subversion安装与配置

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

源代码管理, 做为程序员来讲应该是经常使用的.在源代码管理中, 以Apache + Subversion的方式最为方便好用了. 对于这个安装配置, 其实很简单, 但如果是第一次搞, 可能还是会很郁闷的, 有些小细节需要掌握. 下面就以Windows2003上配置Apache + Subversion + TortoiseSVN来讲下如何配置.

一. 安装Apache

1. 在 http://httpd.apache.org/download.cgi 下载2.0以上版本(推荐使用2.0以上的)

2. 下载Windows版本就可以了, 直接安装, 这个一般人都会, 没有什么交待的.

二. 安装Subversion

1. 在 http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100.下载Subversion版本, 下载完后是一个压缩文件, 如是Exe则直接安装就可以了.如果是压缩文件, 则直接解压到某个目录, 然后把环境变量的Path中加上这个目录中Bin目录所在路径就可以了. 安装Subversion成功的标识就是在命令行中敲入svn 回车会得到"使用svn help 得到用法" 的提示即Ok了.

2. 在安装Subversion时(如果是Exe程序的), 会弹出Apache服务器, 根据你前面选择的Apaceh版本选择对应的, 如果是最新的Apache的话, 应该是2.2.X版本的.

3. 双击Apache右下角的Apache Server Monitor 如下图所示, 同为安装成功.

基于 <wbr>Apache <wbr>的服务器Subversion安装与配置

图1

4. 如果没有, 则需要下面的手功操作:

 

  1). 到Subversion的安装目录(通常是c:\program files\Subversion),找到文件/httpd/mod_dav_svn.somod_authz_svn.so,复制这些文件到Apache的模块目录(通常是c:\program files\apache group\apache2\modules 

 

2). 使用记事本之类的文本编辑器修改Apache的配置文件(通常是 C:\Program Files\Apache Group\Apache2\conf\httpd.conf),做出如下修改:

去掉以下几行的注释(删除 '#'标记):

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

将以下两行到 LoadModule 节的末尾。

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

 

 3). 从 Subversion 安装目录bin下的:intl3_svn.dll, libapr-1.dll, libapriconv-1.dll, libaprutil-1.dll, libeay32.dll, ssleay32.dll  复制到 Apache 的 bin 目录(如果不行, 就把所有的DLL到复制过去) 

 4).重新启动Apache, 应该就可以看到图1所示的内容了.

 

三. 安装TortoiseSVN:

TortoiseSVN 是一个开源项目,那意味着你可以访问程序所有的源代码,你可以在http://tortoisesvn.tigris.org/svn/tortoisesvn/ 浏览代码(用户名: guest,密码为空)。
四. 下面进行SVN的配置了.

1. 假设我想把SVN的版本库放在E:\svn目录下, 则新建一个目录: E:\svn, 在这个目录里新建一个用于测试的版本库test, 这样, 就有了一个目录E:\svn\test\, 保证此目录里是空的, 没有任何内容. 然后在目录E:\svn\test目录中,右键菜单中点击TortoiseSVN -> 在此创建版本库. 这样就会生成一堆文件. 或者用命令行方式创建版本库也可以.

2. 编辑 Apache 的配置文件(通常在 c:\program files\apache group\apache2\conf\httpd.conf), 在最后面加上如下内容:

<Location /svn>
  DAV svn
  SVNListParentPath on
  SVNParentPath "E:\svn"
  AuthType Basic
  AuthName "Subversion repositories"
  #AuthUserFile "E:\svn\passwd"
  #AuthzSVNAccessFile "E:\svn\Access.conf"

  Require valid-user
</Location>

重新启动Apache, 在浏览器中直接输入: http://127.0.0.1/svn/test/ 你就可以看到版本库中的文件了, 用TortoiseSVN直接访问版本库, 不用输入任何用户名和密码, 一路确定过去, 也可以看到版本库内容了.

基于 <wbr>Apache <wbr>的服务器Subversion安装与配置

图2

 

3. 下面进行添加用户.

为了创建 passwd 文件,再次打开命令行提示符(DOS 窗口),进入 apache2 目录(通常是 C:\Program Files\Apache Software Foundation\Apache2.2\bin),通过输入下面的命令创建文件:

htpasswd -c passwd <username>

在这里以用户名为tianjp为例, 则输入htpasswd -c passwd tianjp 回车

这时, 在C:\Program Files\Apache Software Foundation\Apache2.2\bin\目录下会多出一个文件passwd, 把此文件复制到E:\svn\ 目录下, 用UE打开看看, 发现是这样的:

tianjp:$apr1$4gDi43NL$yTTrdUFmDUST44DuBRbSj0

很明显, 是用户名: 后面是经过加密后的密码了.

好了, 现在有了用户名了, 我们可以把上面的配置改成如下了:

<Location /svn>
  DAV svn
  SVNListParentPath on
  SVNParentPath "E:\svn"
  #SVNIndexXSLT "/svnindex.xsl"
  AuthType Basic
  AuthName "Subversion repositories"
  AuthUserFile "E:\svn\passwd"
  #AuthzSVNAccessFile "E:\svn\Access.conf"
  Require valid-user
</Location>

再次用户TortoiseSVN浏览时, 就要输入用户名和密码了.

 

基于 <wbr>Apache <wbr>的服务器Subversion安装与配置

图3

基于 <wbr>Apache <wbr>的服务器Subversion安装与配置

图4

基于 <wbr>Apache <wbr>的服务器Subversion安装与配置

图5

 

4. 管理版本库;

自然有了用户后, 就要进行一些限制, 比如谁可以访问, 谁可以提交代码等权限管理.

这时我们又要做一件事情. 用记事本编辑如下内容:

[groups]
AdminGroup = tianjp, test
CodeGroup = qicf,zhoub,wusy,mitj,xiezj,wanggc,yangming,linxx,yangc,gaozw,luochl,tansd,qicf,zhuhl,gbq
GuestGroup = guest

[/]
* = r
@AdminGroup = rw
@GuestGroup = r

[test:/]
* = r
@AdminGroup = rw
@CodeGroup = rw

 

另存为到E:\svn\Access.conf 文件上(文件名随便取, 不一定非要叫access.conf的).这样tianjp所在的AdminGroup组在test版本库下是具有rw权限的了. 相信上面的配置很简单, 大家一看就明白.

别忘了, 把配置文件里的这一行: #AuthzSVNAccessFile "E:\svn\Access.conf" 注释去掉

这样, 最后就变成了:

<Location /svn>
  DAV svn
  SVNListParentPath on
  SVNParentPath "E:\svn"
  #SVNIndexXSLT "/svnindex.xsl"
  AuthType Basic
  AuthName "Subversion repositories"
  AuthUserFile "E:\svn\passwd"
  AuthzSVNAccessFile "E:\svn\Access.conf"
  Require valid-user
</Location>

到此, 完成了SVN服务器的搭建工作.

 

下面介绍下关于域控制下的SVN权限设置. 很多公司现在是基于域来管理用户的. 用上面的方式来管理版本库有个问题, 就是用户的密码要想改的话, 自己没办法修改, 必须要到管理员那去, 很不方便. 这样用域来管理用户密码不矢为良策.

使用 Windows 域认证

在这里, 我们需要一个模块: mod_auth_sspi

到这里下载 http://sourceforge.net/projects/mod-auth-sspi/  下载此匹配你的 Apache 版本的模块,将文件mod_auth_sspi.so复制到 Apache 的 modules 目录, 编辑 Apache 的配置文件: 增加一行

LoadModule sspi_auth_module modules/mod_auth_sspi.so

 

到 LoadModule 节。确认你在下行之前插入此行
LoadModule auth_module modules/mod_auth.so
为了让 Subversion 领域使用此认证类型,你需要将
AuthType Basic
修改为
AuthType SSPI

修改后的配置如下:

<location />
  # how to authenticate a user
  AuthType SSPI
  AuthName "Grandsoft SVN repository"
  SSPIAuth On
  SSPIAuthoritative On

  #SSPIDomain <你的域名称> 在这里是GRANDSOFT

  #如果你没有域控制器,可以将域控制器的名称置为 <domaincontroller>
  SSPIDomain GRANDSOFT
  SSPIOmitDomain on
  SSPIUsernameCase lower
  SSPIPerRequestAuth on
  SSPIOfferBasic On
  require valid-user
</location>

<location /svn>
  DAV svn
  SVNParentPath "E:\svn"
  SVNListParentPath on

# our access control policy
  AuthzSVNAccessFile "E:\svn\Access.conf"                           
</location>

 

OK, 到此你可以使用域账号登陆了.

 

其它疑难杂症:

1. 我在经过上面的配置后, 发现在用浏览器访问版本库时没有问题, 但在用TortoiseSVN访问时, 老是报405的一个错误:

服务器发送了意外的返回值(405 Method not Allowed), 在响应"PROPFIND"的请求 "/svn/test" 中

, 郁闷了很久, 最后终于有牛人告诉我, 把Apache配置里的

LoadModule dir_module modules/mod_dir.so 这名给注释掉就OK了. 结果果然是这样, 为什么? 不知道.

2. 多重认证源问题: 有兴趣的可以自己再学习下了.

3. 还是那名话, 知之为知之, 不知为不知, 是知也. 很简单的问题, 会者不难, 难者不会.真是有道理啊.

Linux CentOS 8 编译安装Apache Subversion 简单记录一下Linux CentOS 8下搭建SVN服务器的过程 阅读详情

相关推荐

SVN:自己搭建源代码的版本控制系统(服务端VISUALSVN+客户端TortoiseSVN安装和使用)模拟客户使用的过程(使用大全)

Apache Subversion 通常被缩写成 SVN,是一个开放源代码的版本控制系统,Subversion 在 2000 年由 CollabNet Inc 开发,现在发展成为 Apache 软件基金会的一个项目,同样是一个丰富的开发者和用户社区的一部分。SVN相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion

2401_84046895的博客 2000

Apache-Subversion-1.14.0.zip

subversion命令行工具。配置方法 https://blog.csdn.net/sayyy/article/details/109027382

Apache subversion 编译流程

Apache subversion 编译流程

逆风飞翔的博客 1464

SVN( Apache Subversion

开放源代码的版本控制数据库 部分概念: repository(源代码库):源代码统一存放的地方; checkout(提取):没有源代码的时候,需要从repository checkout一份; commit(提交):修改了代码,需要从commit到repository; update(更新):得到了checkout的一份源代码,update一下可以和repository上的源代码同步,自己手上的代码会有最新的变更; 如果修改的是同一个文件的同一行,SVN会提示文件conflict冲突,需要手动确认; .

m0_52113402的博客 910

CentOS安装apachesubversion

/usr/sbin/httpd -k start # 因为是在容器里面,所以不能用systemctl start httpd.service ,也可以通过/usr/sbin/httpd -f /etc/httpd/conf/httpd.conf来启动。# vi /etc/httpd/conf.modules.d/10-subversion.conf # 只需要添加一个虚拟站点,并指定svn版本库/svn/repos,以及相应的本地用户文件passwd和权限文件authz。

xc_gxf的专栏 619

在Ubuntu上安装配置Subversion + Apache + SSL以及权限设置服务器

Apache是一个广泛使用的Web服务器,在Ubuntu上安装Apache可以为Subversion提供HTTP/HTTPS访问。本文将指导您在Ubuntu上安装配置SubversionApache以及SSL证书,同时设置适当的权限。如果您计划使用HTTPS访问Subversion仓库,您需要配置SSL证书。现在,您已经成功安装配置SubversionApache和SSL,并设置了适当的权限。为了确保Subversion仓库的安全性,我们需要调整仓库所在目录的权限。您将被要求输入密码。

YbeCoder的博客 342

windows安装基于ApacheSubversion服务器(包括SSL配置)

翻译整理: PCplayer关键词:subversion 安装 服务器 配置 apache ssl最后更新时间:2006-10-16版本:v0.26修改历史:v0.1 2006-08-06 v0.2 2006-09-10 加入ssl的配置v0.21 2006-09-13 修正2.3配置中一个错误(由blair1978 报告)v0.23 2006-09-26 在附件1中添加两个必要文件,不然

1463

linux安装svn server errors,Linux配置SVN服务器(subversion+apache)

1:环境及相关服务检查确认是否安装apache,没有请yum 安装apache一般情况下,centos自带了svnserver,如果没有运行:yum install subversion2: 相关软件包检查请确认下面软件包有没有安装,如果没有安装,请yum 安装subversionmod_dav_svn如果安装正常的话,应该在/etc/httpd/modules目录下能找到这些模块mod_aut...

weixin_39857211的博客 145

RedHat AS4 下Apache Subversion安装/服务器配置及其问题详解

给一台旧的服务器配置环境,实践了一下Apache Subversion的详细安装过程 1. 准备工作 首先准备好两个文件httpd-2.3.8.tar.gz和subversion-1.6.13.tar.gz,单击可直接下载。2.编译安装httpd//解压apache安装包 # tar xvzf httpd-2.3.8.tar.gz //进入解压后的目录 # cd h...

weixin_34111819的博客 108

Linux下安装配置 subversion1.8+apache+nginx服务器详解

SVN+Apache+Nginx,其实也不是那么难以整合安装

ccren的专栏 1178

subversion(svn)服务器安装配置(apachesvn集成安装配置)

最近工作需要,装了svn服务器,在网上找了很多,都不是太全太详细,故整理了一下安装过程供大家参考。     svn(subversion)是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。如前面文章提到的spring。   svn服务器有2种运行方式:独立服务器和借助apache,本文介绍第二种方式的,这种方式无论何时何地都能访问服务器

留住流失的记忆 897

Subversion for Windows 安装手册

所使用的软件及其版本 l         系统环境Windows XP SP1  关掉IIS l         Apache HTTP Server v2.0.53l         Subversion v1.1.4l         系统环境Windows XP SP1  关掉IIS l         Apache HTTP Server v2.0.53l        

GZ_wish的专栏 1868

windows安装基于ApacheSubversion服务器(包括SSL配置)[2006-10-16更新]

翻译整理: PCplayer关键词:subversion 安装 服务器 配置 apache ssl最后更新:2006-10-16版本:v0.26修改历史:v0.1 2006-08-06 v0.2 2006-09-10 加入ssl的配置v0.21 2006-09-13 修正2.3配置中一个错误(由blair1978 报告)v0.23 2006-09-26 在附件1中添加两个必要文件,不然无法创建SS

866

基于Apache+Subversion安装配置管理

基于Apache+Subversion安装配置一、安装apache: $ tar zxvf httpd-2.2.23.tar.gz$ cd httpd-2.2.23$ mkdir –p/usr/local/app/apache2$ ./configure --prefix=/usr/local/app/apache2--enable-dav --enable-so --...

weixin_34216036的博客 173

Linux环境下ApacheSubversion的集成安装配置指南

mod_dav_svn模块是ApacheSubversion的桥梁,它实现了WebDAV协议(Web-based Distributed Authoring and Versioning),让Apache能够通过HTTP直接访问Subversion仓库。这意味着用户可以通过标准的WebDAV客户端进行版本控制操作,如检出、提交、分支和合并等。mod_dav_svn模块将Subversion仓库映射为一个远程文件系统,使得仓库的内容可以通过HTTP(S)进行访问。

weixin_42443533的博客 970

RHEL 环境下 Subversion 服务器部署配置

SVN支持钩子脚本,可以在仓库的。# 加载Subversion模块。文件夹中找到相关模板。

weixin_49452223的博客 1111

Apache+subversion配置

Apache+subversion配置过程。一、工具准备Apache Web服务器:httpd-2.0.61.tar.gz Subversion源码包及依赖包:subversion-1.4.3.tar.gz ,subversion-deps-1.4.3.tar.gz都放到/home/project1下。 二,安装ApacheApache安装要记得打开dav模块和动态模块选

一蓑烟雨 928

Subversion安装和使用

一、环境 1、操作系统:Windows XP 2、JDK:JDK 1.6.0 二、下载和安装 相关软件已经相应的网址: 软件 网址 备注 apache_2.2.14-win32-x86-openssl-0.9.8k.msi http://archive.a

dajuezhao的专栏 5万+
上一篇: Apache在windows下的安装与配置
下一篇: JAVA读取文件夹大小的几种方式
vanseparis
博客等级 码龄15年 6粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值