`

Apache和Subversion集成安装与配置

阅读更多
1: 下载 Apache Http Server  下载地址:
http://httpd.apache.org/

2: 下载 Subversion 服务器端: 下载地址:
http://subversion.apache.org/docs/release-notes/
1.6版本下载地址:
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=11151&expandFolder=11151&folderID=91(Setup-Subversion-1.6.6.msi


好了,准备的两个软件都下载下来以后,就可以开始安装了.
首先安装apache,一般来说直接点下一步就可以了,在设置domain以及host的时候,设置为localhost就可以了,Email你可以填你自己的Email,也可以随便填一个.安装apache要注意的是,你的电脑上80端口不能被占用,否则你的http服务是启动不起来的,我就遇到过这事,因为我用了skype,它在本机上打开了80和443端口来监听,搞得我一开始装不好,总是启动不起来,后来才发现是skype占用了80端口,于是把skype的设置改了以后,重装apache才成功.装好apache以后,这个时候,它已经在运行了,你可以在浏览器的地址栏输入http://localhost看看,是否安装成功,如果安装成功的话,这个时候浏览器里面应该是可以看到一个页面的.
然后,再安装svn-1.4.5-setup.exe,也很简单,一步一步点下步就可以了,在安装的过程中,它会默认选中一些选项,其中就有一个是是否对apache的HTTP服务器提供支持的选项,这个默认是勾上的,不要去反选它,其它的你可以反选掉.然后svn就宣布安装成功了.你可以到CMD下面去试一下svn这个命令,如果有输出,则说明安装成功了,如果提示svn 不是内部或外部命令,也不是可运行的程序或批处理文件。那就说明没有装好.或者没有把这个命令加入到path中,所以最好的办法是到svn的安装目录下的bin里面去看一下.
两者都装好了以后,就开始配置,当然,配置也是最重要的.
首先要建立一个数据仓库,我们假设建在E盘,数据仓库最好不要建在C盘,因为C盘重装系统以后就格了.我们先在E盘下面建立一个目录叫svnroot,然后在svnroot下面再建立一个我们专门放我们工程的目录,比如叫MyProject.于是我们在E盘下面就有了这个一个文件夹:E:\svnroot\MyProject,然后我们用svnadmin的命令,使这个文件夹变成我们的数据仓库,命令如下:
svnadmin create E:\svnroot\MyProject
如果运行成功的话,什么也没有输出,这个时候,我们再来到MyProject文件夹下面,我们会发现多了几个文件夹和文件,我们打开conf文件夹,然后再打开svnserve.conf文件,找到如下行# password-db = passwd,然后把它前面的#去掉,表示MyProject是需要密码验证的.但是我们密码设在哪里呢,这个时候我们再打开conf文件夹下面的passwd文件,用文本编辑器打开,在[users]下面加上我们需要启动的人员的用户和密码,比如
[users]
hadeslee=hadeslee1234
tom=123456
这个的话,我们就启动了两个用户,一个叫hadeslee,密码是hadeslee1234,一个叫tom,密码是123456.然后我们保存passwd文件.然后,我们再建一个文件,叫access.auth,这个文件是设置访问权限的,里面内容如下:
[MyProject:/]
hadeslee = rw
[MyProject:/module1]
tom=rw
hadeslee=rw
这表示,MyProject下面的所有子目录hadeslee都是有权限读写的,但是tom只有权限读写此项目下面的module1目录,这个各自的访问权限就分的更细致了.有关于MyProject文件夹下面的设置,我们就告一段落了,我们现在开始设置apache,使它能和subvertion一起工作.

首先来到Subersion的安装目录,进入它的bin目录,我们会发现如下两个文件:
mod_authz_svn.so
mod_dav_svn.so
我们把这两个文件复制一下,粘帖到apache的安装目录下的modules文件中,然后我们再打开apache安装目录下的conf文件夹,打开httpd.conf文件.增加如下两行:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
注意,由于dav_svn需要dav_module的支持,所以要确保下面这一行没有被注释,并且保证在dav_svn之前加载:
LoadModule dav_module modules/mod_dav.so
然后模块的设置就完成了,下面我们要设置SVN的目录,以使我们的apache能知道访问不同的URL的时候,它去哪里寻找这个URL所对应的SVN目录.
在httpd.conf文件中,增加如下内容:
<Location /svn/MyProject>
DAV svn
SVNPath E:/svnroot/MyProject

AuthzSVNAccessFile E:/svnroot/MyProject/conf/access.auth
Satisfy Any
Require valid-user

AuthType Basic
AuthName "Subversion repositories"
AuthUserFile  E:/svnroot/MyProject/conf/users.auth
Require valid-user
</Location>

添加完上面这些,我们会发现access.auth是我们刚才新建的,可是users.auth我们并没有新建啊.怎么就把它加进去了.不要急,现在我们就来生成users.auth文件.

进入apache的安装目录的bin文件夹,输入如下命令:

D:\Program Files\Apache Group\Apache2\bin>htpasswd -cb users.auth hadeslee hadeslee1234
Automatically using MD5 format.
Adding password for user hadeslee

D:\Program Files\Apache Group\Apache2\bin>

我们就会发现在bin目录生成了users.auth,我们可以看到,hadeslee用户名已经被添加进去了,密码是用MD5加密过的.然后我们还要增加用户呢,可以用如下方法:
D:\Program Files\Apache Group\Apache2\bin>htpasswd -b users.auth tom 123456
Automatically using MD5 format.
Adding password for user tom

D:\Program Files\Apache Group\Apache2\bin>

只是在生成密码的时候,小了一个c的参数,因为c表示重新生成一个这样的文件,我们第一次的时候是要加的,后面我们要添加用户的时候,就不用这个c了.然后打开users.auth,会发现两个用户都已经在里面了,这个时候,我们把users.auth移到E:/svnroot/MyProject/conf/里面去,使我们上面的设置生效.

这个时候,我们的设置就完成了.可以在浏览器里面输入http://localhost/svn/MyProject试试看.

如果以后我们还要加入其它的项目呢,可以有两点解决方式
1,把以后的项目也导入到我们的MyProject的仓库中,这个的话,就不用改什么配置了
2,新建一个数据仓库,然后只要按上面的步骤,把新的<Location...>设置放到httpd.conf里面就可以了.可以防止多个 <Location ...>节点
当然,验证文件,访问权限文件,还有访问SVN的密码都要自己按上面的方法再设一遍.
第二步需要注意的是:
(1):要把svnserve.conf中的realm = 数据仓库名称.
(2):把 access.auth 中的 [数据仓库名称:/] 数据仓库名称 改下
常见问题:
问题可以在 D:\Program Files\Apache Software Foundation\Apache2.2\logs\error.log文件中看到:
如果遇到 Cannot load D:/Program Files/Apache Software Foundation/Apache2.2/modules/mod_dav_svn.so into server的问题:
则将 httpd.conf文件中的以下两行:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
改为Subversion中的绝对路径:
LoadModule dav_svn_module "E:/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "E:/Subversion/bin/mod_authz_svn.so"
如果还不行,则应该是 Subversion或 Apache服务器安装目录有中文或空格导致.


精简版:

0:

ApacheHttpServer下载地址: http://httpd.apache.org/
Subversion 服务器端下载地址:http://subversion.apache.org/docs/release-notes/

下载后安装地址不要有空格,否则会有莫名其妙的错误.

以下配置Apache安装路径为D:\Program Files\Apache Software Foundation\Apache2.2\
Subversion 服务器安装路径为D:/Programming/Programs/Subversion

1:

修改 D:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf
取消注释一行:LoadModule dav_module modules/mod_dav.so
且在下方增加两行:
LoadModule dav_svn_module D:/Programming/Programs/Subversion/bin/mod_dav_svn.so
LoadModule authz_svn_module D:/Programming/Programs/Subversion/bin/mod_authz_svn.so

及增加以下内容:

#Subversion与TortoiseSVN集成配置
<Location /svn/svn_sample_code>
DAV svn
SVNPath D:/Programming/svnlib/svn_sample_code
AuthzSVNAccessFile D:/Programming/svnlib/svn_sample_code/conf/access.auth
Satisfy Any
Require valid-user
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile D:/Programming/svnlib/svn_sample_code/conf/users.auth
Require valid-user
</Location>


2:


D:/Programming/svnlib/svn_sample_code/conf/目录下
修改:
passwd文件,内容为以下:配置用户(一行一个):用户名=密码
admin=admin
javase=javase
javaee=javaee

新建:
access.auth 文件作为 Subversion的授权文件
内容为:
[svn_sample_code:/]
admin=rw
[svn_sample_code:/JavaSE]
javase=rw
[svn_sample_code:/JavaEE]
javaee=rw

3:

进入
D:\Program Files\Apache Software Foundation\Apache2.2\bin目录
键入如下命令:
htpasswd -cb users.auth admin admin
回车
htpasswd -b users.auth javase javase
回车
htpasswd -b users.auth javaee javaee
回车
后发现
在D:\Program Files\Apache Software Foundation\Apache2.2\bin目录
下生成 users.auth文件,作为用户文件

其中第一次为创建文件且 第一个admin为用户名,第二个 admin为密码

剪切此 users.auth 文件到 D:/Programming/svnlib/svn_sample_code/conf/ 目录

4:

启动Apache服务器,访问 http://localhost/svn/svn_sample_code/ 即可

5:

与svn共享 passwd文件,其他文件不共享,svn使用(authz,passwd文件),apache使用(passwd,access.auth,users.auth)文件

常见问题:
Apache2.2 Cannot load mod_dav_svn.so:

E:\Apache2.2\bin>httpd -k start
httpd: Syntax error on line 131 of E:/Apache2.2/conf/httpd.conf: Cannot load
E:/Apache2.2/modules/mod_dav_svn.so into server: \xd5\xd2\xb2\xbb\xb5\xbd\x
d6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3

httpd.conf配置如下:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

解决方法:
将httpd.conf配置改为绝对路径:
LoadModule dav_svn_module "E:/Subversion/bin/mod_dav_svn.so"
LoadModule authz_svn_module "E:/Subversion/bin/mod_authz_svn.so"

分享到:
评论

相关推荐

    apache和Subversion及TortoiseSVN安装配置

    如果选择与Apache结合,你需要在Apache的配置文件中加载`mod_dav_svn`模块,并配置相应的Repository路径,以便Apache能访问和管理Subversion仓库。 TortoiseSVN的安装相对简单,它是Subversion的GUI客户端,提供了...

    Apache+ subversion+tortoiseSVN安装手册

    2. **安装 Subversion**: 获取适用于您操作系统的 Subversion 安装包,安装过程中注意配置选项,确保与 Apache 版本兼容。 3. **配置 Apache**: 打开 Apache 的配置文件(通常为 httpd.conf),添加 SVN 相关模块。...

    持续集成-Subversion+Apache+Jsvnadmin+jenkins

    总结起来,持续集成-Subversion+Apache+Jsvnadmin+Jenkins的搭建涉及到多个组件的配置和集成,每个环节都需要细致入微的操作,以确保整个流程的顺畅。通过这个系统,开发者可以实现快速反馈,提高代码质量和团队协作...

    Apache-Subversion-1.14.0.rar

    Apache Subversion(简称SVN)是一个开源的版本控制系统,用于管理软件项目的源代码和其他文件的变更。这个"Apache-Subversion-1.14.0.rar"文件是Apache Subversion 1.14.0版本的压缩包,适用于在网络环境不理想时...

    Apache-Subversion.zip

    本压缩包文件“Apache-Subversion.zip”包含了在Windows环境下安装和使用SVN命令行工具所需的基本组件。下面我们将详细探讨SVN的核心概念、安装步骤以及如何在Windows上使用其命令行工具。 1. **SVN核心概念** - *...

    linux下subversion+apache server搭建

    Apache是常用的Web服务器,通过与Subversion集成,可以提供WebDAV协议来访问版本库,实现远程访问和版本控制。 **1. Subversion独立服务器搭建** 在Linux系统中,Subversion可以通过独立的svnserve服务进行部署。但...

    Subversion 1.6.6+ Apache 2.2.14+ TortoiseSVN 1.6.6 安装配置总结版

    总结,配置Subversion 1.6.6 + Apache 2.2.14 + TortoiseSVN 1.6.6的关键步骤包括安装Subversion服务器组件,配置Apache的`httpd.conf`以启用DAV和SVN支持,创建用户认证文件,以及安装TortoiseSVN客户端。...

    SVN版本管理系统的安装(CentOS+Subversion+Apache+Jsvnadmin)安装步骤

    本标签列出了与 SVN 版本管理系统安装相关的关键词,包括开发工具、apache、SVN 版本管理系统、SVN 和 SVN 版本管理等。 主要内容解释 1. 安装 CentOS 安装 CentOS 是 SVN 版本管理系统的基础操作系统,本文档未...

    Apache 2.2 + Subversion 1.6.5 版本控管安裝筆記

    Apache 2.2 + Subversion 1.6.5 是一个经典的版本控制系统组合,用于管理和协同开发源代码。Apache HTTP Server 提供了Web服务,而Subversion作为一个版本控制系统,允许团队成员跟踪代码变更并协作。TortoiseSVN则...

    subvision 64位

    svn的安装主要分为三步: 1,Apache和Subversion集成安装与配置 2,Subversion的server安装 3,Subversion的client安装(我是直接在myeclipse上集成了客户端)

    subversion edge 安装配置使用手册

    Subversion Edge是一款强大的工具,用于管理和配置Subversion版本控制系统,集成了CollabNet Subversion和Apache HTTP Server,提供了一个用户友好的Web界面,使得在Windows和Linux(CentOS)平台上安装、配置和管理...

    subversion-1.9.5+apache-2.4.25安装步骤及安装包

    2. **编译和安装**:解压源代码,使用`./configure`来配置编译选项,然后运行`make`和`make install`进行编译和安装。 3. **配置Subversion**:创建一个SVN仓库,设置权限和访问控制,并创建必要的目录结构。 4. **...

    搭建SVN服务器(整合Apache+Subversion)

    解压、配置、编译和安装Subversion。 5. **配置SSL(OpenSSL)**: 使用HTTPS访问SVN服务器需要SSL加密,`openssl-1.1.1.tar.gz`提供了OpenSSL的源码。安装并生成所需的证书。 6. **配置Apache与Subversion**: ...

    CollabNet Subversion1.5安装配置.pdf

    本文将详细介绍如何在 Windows 32 位操作系统上安装并配置 CollabNet Subversion Server 1.5.0,以及如何将其与 Apache 2.2.8 整合,并实现一系列高级功能,如SSL加密、Web界面管理及用户密码自修改等。 #### 二、...

    subversion安装和配置

    配置SVN与Apache的集成 - **配置文件**:编辑`conf\httpd.conf`,添加以下内容: ```apache DAV svn SVNParentPath "D:/svnroot" AuthType Basic AuthName "Subversion Repository" AuthUserFile "D:/...

    svn和apache的安装与配置

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

    Centos下Subversion 服务器安装配置

    在CentOS上,这些依赖包括`httpd`(Apache HTTP服务器)和`mod_dav_svn`模块,它们允许Subversion与Web服务器集成。安装这些依赖项: ```bash sudo yum install httpd -y sudo yum install subversion mod_dav_svn ...

    Subversion服务器端安装及配置手册

    - 在安装配置时,需注意选择安装模块,务必包含`mod_dav_svn`和`mod_authz_svn`,这两个模块是SVN与Apache集成的关键。 2. **Subversion安装** - 下载并安装Subversion服务器软件,如VisualSVN Server,它提供了...

Global site tag (gtag.js) - Google Analytics