`
PBFox
  • 浏览: 66327 次
  • 性别: Icon_minigender_1
  • 来自: China
文章分类
社区版块
存档分类
最新评论

Apache+SVN实现对代码的管理

阅读更多

安装Apache和subversion

Apache官方网站上下载2.0.59版的msi安装包,执行即可。为方便起见,建议将Apache安装到根目录下,例如 D:\Apache。安装时的一些细节可以参考这篇文章。把端口号改为8080。安装完毕后用浏览器访问 http://localhost:8080/ ,如能看到Apache的起始页面即安装成功。

subversion上下载zip包解压缩即可,下载svn-win32-1.4.3.zip版本。假设解压到 D:\svn下。

然后将subversion与Apache集成在一起(也可参考这篇文章)。将 D:\svn\bin 下的以下文件复制到 D:\Apache\modules 目录下:

  • mod_authz_svn.so
  • mod_dav_svn.so

将 D:\svn\bin 下的以下文件复制到 D:\Apache\bin 目录下:

  • libdb44.dll
  • intl3_svn.dll

然后建立代码仓库目录 D:\repos。

然后修改 D:\Apache\Apache2\conf\httpd.conf,查找下面这一行,去掉前面的 # 号。

 LoadModule dav_module modules/mod_dav.so

然后在其附近添加以下这一行:

 LoadModule dav_svn_module modules/mod_dav_svn.so

之后在 httpd.conf 的末尾添加以下内容:

 <Location /repos>
DAV svn
SVNParentPath D:/repos
</Location>

然后重新启动Apache。之后试着访问一个不存在的页面,如 http://localhost:8080/abc,你会看到Not Found页面下方的内容如下:

 Apache/2.0.59 (Win32) SVN/1.4.3 DAV/2 Server at localhost Port 8080

如果这里显示了 SVN/1.4.3 则说明安装成功。


建立项目

下面我们要建立一个实际开发中使用的项目。我们为这个项目命名为 trustee。

首先要建立一个代码仓库。打开命令行,输入以下命令:

 D:
cd D:\repos
md trustee
cd trustee
D:\svn\bin\svnadmin create .

然后打开浏览器,访问 http://localhost:8080/repos/trustee/ 。如果你上面的设置都正确,你将会看到下面的内容:

 Revision 0: /
----------------------------------------------
Powered by Subversion version 1.4.3 (r23084).

即说明代码仓库建立成功,而 http://localhost:8080/repos/trustee 就是代码仓库的 URL。


加入用户身份验证:


在确定对访问用户的权限控制之前,你必须规划好是对整个资源库中的所有项目还是单独的某一个项目进行统一的身份验证, 也就是我们前面讲到的是使用SVNParentPath还是SVNPath的问题。

最 简单的身份验证方式是使用Basic HTTP Authentication机制,该方式通过用户名和口令对访问用户进行身份验证。我们可以直接通过Apache提供的支持进行设置。Apache提供 一个htpasswd工具来管理用户名和口令。接下来我们利用这个工具来添加两个用户。

在命令行窗口中转到Apache所在的目录,执行下列命令

说明:创建用户admin
输入:htpasswd –c D:\repos\svn_auth_passwd admin
说明:使用-c参数来创建一个passwd文件
输出:
New password: *****
Re-type new password: *****
Adding password for user admin

再创建用户的时候就不用-c参数,而是用-m参数,因为文件svn_auth_passwd 已经创建。

打开svn_auth_passwd文件,密码使用MD5加密过了,而且同样的密码加密出来的内容却不相同

接下来我们必须告诉Apache服务器如何使用这个passwd文件,打开httpd.conf找到刚才我们添加的Location配置的位置,修改如下:
<location svn=""></location>
#
# SVN
#
<location svn=""><br> DAV svn<br> SVNParentPath "D:/repos"<br><br># how to authenticate a user<br>AuthType Basic<br>AuthName "Subversion repository"<br>AuthUserFile "D:/repos/svn_auth_passwd"<br><br> # only authenticated users may access the repository<br>Require valid-user<br></location>

重新启动Apache HTTP服务器,使用浏览器打开 http://localhost:8080/repos/trustee你将会看到要求登录的对话框,输入你刚设置的用户名和口令即可。

这样Apache和SVN的集成就基本告成了
分享到:
评论

相关推荐

    在Eclipse中使用SVN与CVS代码管理工具管理项目

    它与Eclipse配合,基本上Java的代码编写,代码管理和版本管理都可以“免费”搞定了。SVN(Subversion)是近年来崛起的版本管理工具,被誉为cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。虽然在...

    Web方式的SVN全文搜索功能实现

    Web方式的SVN全文搜索功能实现 基于SVN的全文检索功能

    SVN服务器搭建以及Eclipse作为SVN客户端配置

    SVN 服务器搭建和 Eclipse...SVN 服务器搭建和 Eclipse 配置为 SVN 客户端的优点是可以实现代码版本控制,提高开发团队的协作效率。同时,SVN 服务器搭建和 Eclipse 配置为 SVN 客户端也可以提高代码的安全性和可靠性。

    svn-1.4.3-setup.exe.7z

    mod_authz_svn 模块可以根据用户名和路径实现细粒度的权限控制,它对 Apache 服务器有效,在 Subversion 1.3 以上版本的 svnserve 中也实现了基于路径的授权。 一个可能的例子: [groups] admin = john, kate ...

    VisualSVN在线修改密码补丁

    VisualSVN已经集成apache和Subversion,所以我们只需要使用VisualSVN作为版本服务器即可, Apache的功能时提供web浏览代码的能力,让开发人员不用每次为了获取一个文档而去更新整个目录,当然,基于web在线修改密码...

    TortoiseSVN 1.5.2.13595版(Windows下的SVN客户端)

     某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性 - 比如,对编程语言的支持,或者提供程序构建工具。不过 Subversion 并不是这样的...

    TortoiseSVN 1.5.2.13595(SVN客户端)

     某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性 - 比如,对编程语言的支持,或者提供程序构建工具。不过 Subversion 并不是这样的...

    TortoiseSVN-1.6.4.16808-cn(SVN客户端1.6.4中文版)

     某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性 - 比如,对编程语言的支持,或者提供程序构建工具。不过 Subversion 并不是这样的...

    TortoiseSVN客户端程序

    然而,Subversion不是这样一个系统,它是一个通用系统,可以管理任何类型的文件集,对你这可能是源代码,对别人,可能是一个货物报价单或者是书稿等。 2.3、版本库(repository) Subversion 的核心就是 ...

    使用Subversion进行版本控制(针对 Subversion 1.4)

    Subversion对区域设置的支持 使用外置比较工具 外置 diff 外置 diff3 8. 嵌入Subversion 分层的库设计 版本库层 版本库访问层 客户端层 进入工作拷贝的管理区 条目文件 原始拷贝和属性文件 使用API Apache可移植运行...

    Tomcat汤姆猫

    Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制...

    VisualSVN 64位

    使用 VisualSVN Server来实现主要的 SVN功能则要比使用原始的 SVN和 Apache相配合来实现源代码的 SVN管理简单的多,上手也没有那么复杂。

    ThinkAndroid是简易的、遵循Apache2开源协议发布的Android开发框架.zip

    通过集成Git、SVN等版本控制系统,支持团队成员间的代码共享、分支管理、合并请求和冲突解决。 可视化设计与原型制作: 对于UI/UX设计,有界面设计工具,如Sketch、Adobe XD,可以帮助设计师快速构建应用程序...

    TortoiseSVN-1.7.10.23359-x64-svn-1.7.7

    某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性 - 比如,对编程语言的支持,或者提供程序构建工具。不过 Subversion 并不是这样的...

    巨人在线报修系统 v1.0.rar

    巨人在线报修系统是巨人软件公司自主研发的小型应用软件,可以实现报修单的管理,维修情况的登记,维修单的管理,客户评价的管理等.并且提供了丰富的报表功能,让你随时随地了解,工程师的工作效率,客户的满意度等.强大的...

    EasyDev绿色php开发环境部署包 V2.1.rar

    【基本介绍】 ... 本软件是国内较早的PHP套件PHP Server Builder...数据库管理:Navicat for Mysql(CS结构图形化mysql管理软件中文版) 版本控制:TortoiseSVN(SVN客户端中文版) 浏览器:Chrome12、Firefox4、IE8

    单点登录源码

    微信公众号管理平台,除实现官网后台自动回复、菜单管理、素材管理、用户管理、消息群发等基础功能外,还有二维码推广、营销活动、微网站、会员卡、优惠券等。 &gt; zheng-wechat-app 微信小程序后台 ## 环境搭建...

    流行的博客平台 WordPress 5.7.2 中文正式版发布.zip

    WordPress 是一种使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设属于自己的网站。也可以把 WordPress ...Apache mod_rewrite模块(可选,用于支持“固定链接”和“站点网络”功能)

    t淘淘商城项目 商城项目 视频和源码教程 详细

    SVN(版本管理) 2.5. 人员配置 产品经理:3人,确定需求以及给出产品原型图。 项目经理:1人,项目管理。 前端团队:5人,根据产品经理给出的原型制作静态页面。 后端团队:20人,实现产品功能。 测试团队:5...

Global site tag (gtag.js) - Google Analytics