`
laotu5i0
  • 浏览: 143692 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Apache http server + Subversion 打造版本控制(windows)

    博客分类:
  • svn
阅读更多
如果事先知道版本控制服务器是window下的,建议用VisualSVN,配置很简单,没必要去捣鼓apache+subversion来费神。当然如果一定要学习下apache+svn(比如我),下面是我学习的一个过程总结,也参考了许多大侠的类似的帖子,但是还是花了将近两天时间才配出来,并对配置内容有一定的理解。
注:windows下的配置,主要是搞清楚配置的步骤,和每个步骤的大概意思。

废话不说了开始。


操作系统:windows  xp

软件环境:apache_2.2.14-win32-x86-openssl-0.9.8k.msi安装包、

               Subversion-1.6.6.msi 安装包、

               TortoiseSVN 1.6.7(用于客户端)
1.安装apache
  apache默认的端口是80端口,大家都知道这个端口很多程序使用的,如果修改,可以到  你的安装路径/Apache2.2\conf\httpd.conf    找到Listen 80    进行修改
  完成后运行 http://localhost:端口
  显示“It works!”,表示安装成功
2.安装Subversion
  按提示操作,一路"next"

3.组装apache和subversion

    在C:\Program Files\Subversion\bin\目录下复制下面两个文件  
     mod_authz_svn.so 
     mod_dav_svn.so 
     粘帖到C:\Program Files\Apache Software Foundation\Apache2.2\modules
  然后我们再打开C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf文件.  
找到   
   #LoadModule dav_module modules/mod_dav.so  
   #LoadModule dav_fs_module modules/mod_dav_fs.so  
   去掉前面的注释符号#  
   然后再下面添加  
    LoadModule dav_svn_module modules/mod_dav_svn.so  
    LoadModule authz_svn_module modules/mod_authz_svn.so  
    注意不要随意改变顺序。可能出现其它错误。
    这样apache和svn基本上就联系起来了,当然,下面还有一个关于库的管理的配置。

4.建立svn库
   利用命令行:svnadmin create E:\svnroot\myproject (区分大小写),也可以利用tortoiseSVN来建库。
   建完后,大家会发现\myproject 下会多出一些文件来,特别是\myproject\conf下有svnserve.conf、authz、passwd有三个文件,这个svn的权限控制文件,如果是纯的svn,这里是需要配置的,如果是apache+svn,这里的三个文件几乎可以不要,因为我们有apache有配置自己的权限控制文件,下面有讲解。

5.把库配置给apache来代管

    下面我们要设置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

上面是一个单库模式的Demo,这样,这里涉及到两个文件access.auth、users.auth,文件名不是固定的,主要是配置的时候要路径指对。users.auth配置用户  access.auth配置允许用户访问的路径,下面会对这两个文件进行解释。
users.auth介绍,看下面命令
命令行模式下,到apache安装目录下的bin目录下 操作如下  
C:\Program Files\Apache Software Foundation\Apache2.2\bin>htpasswd -cb users.auth admin admin    

为admin用户设置好密码,创建第一个用户时创建文件,添加第二个用户则不用创建,具体命令参数有细微区别,请注意-cb  

C:\Program Files\Apache Software Foundation\Apache2.2\bin>htpasswd -b users.auth tom 123456 
 
此时把C:\Program Files\Apache Software Foundation\Apache2.2\bin 目录下的 users.auth 复制粘贴到 E:\svnroot\myproject\conf 目录下 ,不用多解释,大家大概可以明白,这里创建了两个用户admin(密码:admin)、tom(密码:123456)
我们打开users.auth文件,可以看见内容:
admin:$apr1$CS5eF5c5$xpESjPnD9TSLrmJZVBhs80
tom:$apr1$ckg8mclH$jlP/L.LENqtdvfie2rSHK0
这是加密过的,E:\svnroot\myproject\conf 这个路径就是上面提到过的svn权限管理路径,这就是我为什么说apache有自己的权限配置,原因就在这里,事情还没完,我们在E:\svnroot\myproject\conf 下面还要建立一个路径访问权限控制文件
我们再建一个文件,叫access.auth,这个文件是设置访问权限的,里面内容如下:  
[myproject:/]  
admin = rw  
[myproject:/module1]  
tom=rw  
admin=rw

rm表示可读可写,这表示,myproject下面的所有子目录admin都是有权限读写的,但是tom只有权限读写此项目下面的module1目录,这个各自的访问权限就分的更细致了.这里面还有其他的设置,比如分组等,它和svn自带的/conf下的authz文件的配置大致相同,可以参考其例子.

重新启动apache服务,通过http://localhost:端口号/svn/myproject/  
看见:"myproject - Revision 0: /  "字样表示成功

6.向svn提交代码

  在cmd命令行里输入:  svn import E:\test\file:///E:/svnroot/myproject/ -m "test import"  
注意:  
1.(E:\test\ ) 是你要部署的项目  
2.(file:///E:/svnroot/myproject/)这是你建立版本控制的仓库路径  
--- 里面的 / 千万注意别写成 \  ,否则会操作失败。---  

或者通过tortoiseSVN的"Import"

刷新 http://localhost:端口号/svn/myproject/
可以看见类似的版本信息,如下:
myproject - Revision 1 /
.classpath
.cvsignore
.project
.settings/
.tomcatplugin
web/
work/

ok,如果看到这些就表示成功了.

apache2.0和2.2的配置方法据说不太一样,我还没有试过,所以说一下,帖子的本义是帮助有缘人少走弯路,如果因为我没说明白给网友带来麻烦就不好了。所以上面的内容仅供参考,不过,至少我这里是成功过了。

参考的比较好的帖子:http://www.iteye.com/topic/577704
0
1
分享到:
评论

相关推荐

    Apache HTTP Server + SVN 版本控制方案(一)

    总结来说,"Apache HTTP Server + SVN 版本控制方案"是一个有效的代码管理和协作工具,它利用Apache的Web服务功能,配合SVN的版本控制特性,为开发者提供了一个便捷的远程访问和协作环境。通过深入理解Apache的配置...

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

    Apache HTTP Server 提供了Web服务,而Subversion作为一个版本控制系统,允许团队成员跟踪代码变更并协作。TortoiseSVN则是一个与Windows Explorer集成的图形化客户端,方便用户进行版本控制操作。 安装Apache 2.2 ...

    Apache+ subversion+tortoiseSVN安装手册

    Apache、Subversion 和 TortoiseSVN 是用于版本控制系统的重要组件,尤其在软件开发团队中广泛使用,便于协作和代码管理。下面将详细介绍这三个组件以及如何进行安装。 **Apache Subversion (SVN)** Apache ...

    xp+apache2.2+subversion1.6.17搭建版本控制服务器

    本教程将详细讲解如何在Windows XP操作系统上,利用Apache2.2和Subversion 1.6.17搭建一个版本控制服务器。 首先,我们需要安装Subversion。文件"Setup-Subversion-1.7.5.msi"是一个Subversion的安装程序。运行这个...

    Apache2.4.2+Subversion1.7.4

    apr-1.4.6.tar.gz apr-util-1.4.1.tar.gz httpd-2.4.2.tar.gz subversion-1.7.4.tar.gz pcre-8.30.tar.gz sqlite-autoconf-3071100.tar.gz

    subversion+apache+TortoiseSVN安装说明

    Subversion 是一个开源的版本控制系统,Apache 是一款广泛应用的Web服务器,TortoiseSVN 是一个 Windows shell 接口,用于 Subversion。以下是对安装过程的详细说明: 1. **安装 Subversion 和 Apache** - 下载并...

    linux + apache + subversion安装和基本配置

    本文将详细讲解如何在Linux系统上安装和配置Apache Web服务器以及Subversion版本控制系统。 首先,Linux作为开源操作系统,是许多服务器的基础,其稳定性和安全性深受开发者喜爱。在本案例中,我们将使用它作为平台...

    apache+subversion配置说明 v1 8

    Apache Subversion(简称SVN)是一种版本控制系统,常与Apache Web服务器结合使用,提供Web访问方式的源代码管理和协作功能。本配置说明主要针对Apache 2.2.29和Subversion 1.8.13版本进行安装和配置,以实现SVN仓库...

    linux下subversion+apache server搭建

    用户可以使用Subversion客户端(如TortoiseSVN for Windows)进行版本控制操作,如checkout、commit、update等。 总之,搭建Linux下的Subversion服务器需要对Apache服务器的配置和Subversion的工作原理有深入理解。...

    Apache2.2.22+Subversion1.5.3+TortoiseSVN1.5(apache SVN部署全套包)

    Apache2.2.22+Subversion1.5.3+TortoiseSVN1.5(apache SVN部署全套包),博客在http://blog.csdn.net/kimizhou_blog/article/details/7481959

    svn+apache+完整图解+配套软件(Subversion+apache)

    svn+apache+完整图解+配套软件(Subversion+apache)

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

    SVN 版本管理系统的安装(CentOS+Subversion+Apache+Jsvnadmin)安装步骤 本标题描述了本文档的主要内容,即 SVN 版本管理系统的安装过程,该过程包括安装 CentOS、Subversion、Apache 和 Jsvnadmin 等组件。 描述...

    apache2.2.25+Subversion1.8.16

    但是这两个软件的版本必须匹配才能安装成功,否则会一直.so文件找不到的错误,小编在这方面吃尽了苦头,折腾几天试了n个版本后才找到匹配成功的两个软件,另外将安装过程中不好找的插件也附上,免得大家走弯路,插件...

    用 Apache 和 Subversion 搭建安全的版本控制环境

    ### 用 Apache 和 Subversion 搭建安全的版本控制环境 #### Subversion 简介 Subversion 是一种开源版本控制系统,它以其强大的特性和灵活性,在开源软件开发领域获得了广泛的认可。相比于早期流行的版本控制系统 ...

    rhel6.9编译安装apache+subversion

    rhel6.9下编译安装apache+subversion详细安装文档,及其所需安装包。

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

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

    HOWTO: Subversion for Windows with Apache server

    本指南将详细介绍如何在Windows环境下配置Subversion与Apache服务器的集成,以实现高效、安全的代码版本管理。 ### 1. 安装Apache服务器 首先,我们需要下载并安装Apache HTTP Server。访问Apache官方网站...

Global site tag (gtag.js) - Google Analytics