`
ningwuyu
  • 浏览: 49130 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

svn 与 apache 整合

    博客分类:
  • java
阅读更多
整理了一些步骤,大部分还算是转载吧 哈哈

官方配置地址:http://www.subversion.org.cn/tsvndoc/tsvn-serversetup.html#tsvn-serversetup-apache

简单点说了哦:
一、准备
1,apache_2.0.63-win32-x86-no_ssl.msi, svn-1.4.5-setup.exe(据说这个版本的组合比较好)

二、先安装 Apache 一般来说直接点下一步就可以了,在设置domain以及host的时候,设置为localhost就可以了,Email可以填自己的Email,也可以随便填一个.安装apache要注意的是,电脑上80端口不能被占用(占用了也没事 可以安装完后修改位置在conf/httpd.conf文件里改 Listen 80 把这个改为其他端口就行了);装好apache以后,它已经在运行了,可以在浏览器的地址栏输入 http://localhost看看,是否安装成功,如果安装成功的话,这个时候浏览器里面应该是可以看到一个正确页面的;

再安装svn-1.4.5-setup.exe,一步一步点下步就可以了,在安装的过程中,它会默认选中一些选项,其中就有一个是是否对 apache的HTTP服务器提供支持的选项,这个默认是勾上的,不要去反选它,装完可以到CMD下面去试一下svn这个命令,如果有输出,则说明安装成功了,如果(情况很少的呵呵)提示svn 不是内部或外部命令,也不是可运行的程序或批处理文件。那就说明没有装好.可以手动有把这个环境变量加入到path中 (也就类似于java 的环境变量一样 到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]
admin=admin
test=123456
这个的话,我们就启动了两个用户前面是名字后面是密码

然后我们保存passwd文件.然后,我们再建一个文件,叫access.auth(可以换其他名称的),这个文件是设置访问权限的,里面内容如下:

注意哦 这个 admin用户名前面是不能有空格的
[MyProject:/]
admin = rw
[MyProject:/module1]
test=rw

注:
read ('r') access, read-write ('rw') access
这表示,MyProject下面的所有子目录hadeslee都是有权限读写的,但是tom只有权限读写此项目下面的module1目录,这个各自的访问权限就分的更细致了

四、整合 apache svn
一般如果是安装svn时选择了自动整合的话 这个拷贝就不用了 因为已经配好了 可以在httpd.conf 里看到的

首先来到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>

其中 users.auth 需要用下面的方法生成一下
进入apache的安装目录的bin文件夹,输入如下命令:

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

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

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

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里面就可以了.
当然,验证文件,访问权限文件,还有访问SVN的密码都要自己按上面的方法再设一遍

-------说明
<Location /svn>
意思是Subversion版本库的URL是http://地址(ip)/svn/
<Location /project/svn>这样URL是http://地址(ip)//project/svn

DAV svn
告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。

SVNPath
SVNPath "D:/var/svnhome/projects"
告诉Subversion需要查看的版本库位于D:/var/svnhome/projects之下


SVNParentPath 代替 SVNPath 来指定多个版本库的父目录时 也就是 SVNParentPath目录里可以放好几个版本库

AuthType Basic
激活基本认证,就是用户名/密码

AuthName
AuthName "Subversion repositories"
用来说明弹出要求输入认证信息的对话框信息,可以使用中文.这里弹出框上就是Subversion repositories


AuthUserFile

AuthUserFile " D:/var/svnhome/projects/conf/passwordflie"
指定使用认证密码的文件

AuthzSVNAccessFile

AuthzSVNAccessFile "D:/var/svnhome/projects/conf/svnaccessfile"
位置Subversion版本库的访问控制权限的路径文件

Require valid-user
指定只有输入了正确的用户/密码的用户可以访问URL

分享到:
评论

相关推荐

    关于svn与Apache整合

    关于svn与Apache整合以及svn一些常用问题的解决,

    svn与apache整合

    svn与apache整合的具体过程描述,并提供相应的详细图解流程。

    SVN+apache整合

    ### SVN与Apache整合知识点详解 #### 一、SVN简介及数据存储方式 **SVN**(Subversion)是一种广泛使用的版本控制系统,它管理着项目的源代码历史,使得开发者能够追踪每一项修改,回滚到任意历史版本,以及并行开发...

    svn+apache+ssl整合

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

    Trac+SVN+Apache安装笔记

    **步骤5:整合SVN和Apache** 将SVN的模块复制到Apache的modules目录,将所有`.dll`文件复制到Apache的bin目录。接着,编辑Apache的`httpd.conf`,加载SVN相关的模块,并配置SVNPath。重启Apache后,访问`...

    SVN 整合apache

    NULL 博文链接:https://yanfei133.iteye.com/blog/586146

    rehl5(64位)系统安装SVN详细操作文档及相应安装包

    这是我整理的SVN版本控制软件在REHL5(64位)上的安装文档,里面有详细...安装之后可以通过apache浏览器直接访问,里面有将SVN与apache整合的配置说明。 注:文档中红色的为特别注意的。 另外权限问题也需要留意一下。

    Linux整合Apache和SVN

    将Apache与SVN整合,可以创建一个高效、安全的Web访问源代码仓库的解决方案。以下是对"Linux整合Apache和SVN"这一主题的详细讲解。 首先,了解SVN的基本概念。Subversion是一个集中式的版本控制系统,它记录了文件...

    svn1.44 apache2.06 整合

    将Apache 与SVN 进行整合,这样以后在输入SVN 服务器地址时就会形如http://形式,比如我们访问JBOSS 等网站时,用的svn服务器地址。 要使apache 和svn 整合,两个的版本一定要兼容,不然就是无法整合,切记

    windows下apache+svn

    **三、配置 Apache 与 SVN 整合** 1. 安装 DAV_SVN 模块:下载对应 Apache 版本的 `mod_dav_svn` 和 `mod_authz_svn` 模块,放入 Apache 的 `modules` 目录。 2. 启用模块:在 `httpd.conf` 中添加以下行,启用这两...

    Trac+SSPI+SVN+Apache

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

    CentOS 6.5搭建Apache整合SVN 1.8.5服务器(多版本库权限配置)

    通过以上步骤,你就成功地在CentOS 6.5上搭建了Apache整合SVN 1.8.5的服务器,并且配置了多版本库的权限。这样,用户就可以通过WebDAV协议访问和管理SVN仓库,实现团队协作和代码版本控制。记住,安全性和权限控制是...

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

    搭建一个SVN(Subversion)服务器,整合Apache作为前端HTTP服务器,可以实现高效且安全的代码版本控制。这个过程涉及到多个组件的安装和配置,包括Apache、Subversion、SSL加密以及必要的依赖库。以下是详细步骤: ...

    mac下svn与svk整合

    在Mac操作系统中,整合SVN(Subversion)与SVK是一项常见的任务,特别是对于开发者而言,这能够提供灵活的版本控制和备份方案。SVN是一个成熟的版本控制系统,而SVK则是一个分布式版本控制系统,它利用SVN的仓库作为...

    关于subversion架设外网apache的教程

    3. **SVN与Apache整合**:将Subversion安装目录下的`mod_authz_svn.so`和`mod_dav_svn.so`复制到Apache的`modules`目录下,并将所有`.dll`文件复制到Apache的`Bin`目录下。在`httpd.conf`文件中添加SVN相关的模块...

    珍藏版svn与apahce整合

    当与 SVN 整合时,Apache 可以作为一个安全的接口,允许用户通过 Web 浏览器进行版本控制操作。 **Ubuntu Apache2 + Subversion 配置** 是在 Ubuntu 操作系统上安装和配置 Apache2 和 Subversion 的过程。这个过程...

    apache2.2 与 svn1.6 整合所需要的 svn module 文件

    1 假设安装Apache至D:\Apache2 (%Apache_HOME%) 2 复制附件解压后里面的*.dll和*.so到%APACHE_HOME%\modules 3 修改%APACHE_HOME%\conf\httpd.conf,增加或修改: LoadModule dav_module modules/mod_dav.so ...

Global site tag (gtag.js) - Google Analytics