windows下Apache+SVN+Trac安装及配置(一)

虽然原来也在使用Subversion,但使用的不是http服务器,用的是把svnservice.exe安装成window服务的方式。原来的开发环 境配置一直不统一,这次花的功夫好好弄一下,想搭建一个全部基于开源的Apache+SVN+Trac的配置,希望能给自己不一样的感觉。本文先说 Apache和SVN的集成,下一篇再集成Trac。
        安装过程还是有点复杂的,可能是我用的都是最新版本的缘故,网上的好多文章目前没有针对最新版本的,好在大致相当,问题不大。
一.准备安装软件

  • 再下载SVN服务器,官方网站为http://subversion.tigris.org/ ,最新版本为Subversion 1.4.6,可能是才发布,还没有安装程序,只有二进制解压版的,下载时要注意下载和Apache2.2.x版本对应的,我下载的是svn-win32- 1.4.6.zip;同时下载svn-python-1.4.6.win32-py2.5.exe
  • TortoiseSVN,客户端程序。TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录,点鼠标右键即可看到。网址为http://tortoisesvn.tigris.org/ ,我下载的是TortoiseSVN-1.4.6.11647-win32-svn-1.4.6.msi
  • TortoiseSVN的中文语言包,注意这个需要下和客户端程序版本相同的。这个可以在language packs下面下载。
    
二. 安装
       1.先安装Apache服务器。自己手动填写ServerInfo。安装完成之后到安装目录下找到conf目录下的httpd.config文件,搜索 Listen,并将Listen后面的80改为8080(或者你希望的端口),然后重新启动Apache服务器,这时可以用 http://localhost:8080 来测试是否安装正确。
       2.再安装SVN服务器,直接解压即可。
       3.安装TortoiseSVN,很简单,一路安装下去。

三. 集成Apache和SVN
        
  1. 首先将Subversion安装目录bin/下面的两个文件:mod_authz_svn.somod_dav_svn.so复制到Apache安装目录modules/目录下; 再将Subversion安装目录bin/下面的所有.dll文件复制到Apache安装目录bin/目录下                                                                      
  2. 需要再修改httpd.conf,并做如下修改:
    找到Apache安装目录下的conf目录,用文本编辑器打开httpd.conf,找到一下两行:

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

    将每行前面的注释符“#”去掉。再在所有LoadModule语句的最后添加一下几行:

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

    1. 注意下面的状态栏已经是Apache/2.2.6 SVN1.4.6 DAV/2
    2. 建立一个SVN存放文件的目录,我在D盘下创建一个文件夹:D:/svn
    3. 接下来我们必须告诉Apache我们的资源 库所在的路径,可以通过Location指令来完成这个设置。因为不希望为每个单独的项目都进行单独的设置,所以我们把所有项目都存放在统一的资源库目 录,那么可以使用SVNParentPath指令来指定存放所有项目的路径。在httpd.conf文件最后添加下面配置:  
      #SVN
      <Location /svn>
          DAV svn
          SVNListParentPath on
          SVNParentPath "D:/svn"
          #SVNPath "D:/svn/test"
        
          ####################认证的类型
          AuthType Basic
          ####################认证的名称,显示于登录提示框
          AuthName "Subversion 资源库,请登录!" 
          ####################Which password file to use for authentication 存储用户登录信息的文件
          AuthUserFile D:/svn/passwd 
          ####################限定各个用户或组在版本库中目录的访问权限
          AuthzSVNAccessFile D:/svn/svnaccessfile
          ####################让所有用户对版本库都有读的权限而只有特定的用户才有写的权限
          Require valid-user
      </Location>
    4. 在命令行窗口中转到Apache所在的目录,执行下列命令,创建用户及密码
      说明:创建用户zj
      输入:htpasswd –c D:/svn/passwd zj
      说明:使用-c参数来创建一个passwd文件
      输出:
      New password: *****
      Re-type new password: *****
      Adding password for user zj

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

      打开passwd文件,密码使用MD5加密过了,而且同样的密码加密出来的内容却不相同。用TortoiseSVN在D:/svn下创建test和java资源库.(很简单,不多说)

    5. 然后用文本编辑器创建一个Subversion授权文件,文件名为svnaccessfile,内容如下:

      [groups]
      admin = john, kate
      devteam1 = john, rachel, sally
      devteam2 = kate, peter, mark

      # 为所有库指定默认访问规则
      # 所有人可以读,管理员可以写,危险分子没有任何权限,[/]代表根目录
      [/]
      * = r
      @admin = rw
      dangerman =

      # 允许开发人员可以完全访问他们的项目版本库
      [test:/]
      @devteam1 = rw
      [java:/]
      @devteam2 = rw
    6. 保存好上面的所有配置文件之后,重新启动Apache服务器。此时我们就可以在IE里面通过http://localhost:8080/testhttp://localhost:8080/java 来测试用户登录,以及不同用户组权限。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java实现的SVN远程管理WEB应用 源码地址:http://code.google.com/p/jsvnadmin Svn Admin是一个Java开发的管理Svn服务器的项目用户的web应用。安装Svn服务器端好,把Svn Admin部署好,就可以通过web浏览器管理Svn的项目,管理项目的用户,管理项目的权限。使得管理配置Svn简便,再也不需要每次都到服务器手工修改配置文件。 有什么优点 多数据库:Svn项目配置数据保存在数据库,支持所有数据库(默认MySQL/Oracle/SQL Server)。 多操作系统:支持Window,Linux等操作系统。 权限控制:管理员可以随意分配权限、项目管理员可以管理项目成员、成员只能查看和修改自己的密码。 支持多项目、多用户、多用户组Group(默认带有“项目管理组”、“项目开发组”、“项目测试组”)。 安全:密码加密保存。 多协议:支持svn协议和http协议(从2.0开始支持Apache服务器单库方式,从3.0开始支持Apache多库方式) Svnadmin在Java 1.6、Tomcat 6、Subversion 1.6、MySQL 5.1、Apache 2.2、Windows 7上开发测试通过,同时支持其他操作系统和数据库。 支持svn协议 Svn配置信息都在仓库目录的conf下的authz,passwd,svnserve.conf三个文件中,配置用户和权限都是通过修改passwd和authz,立刻就生效。Svn Admin的本质是对这3个文件进行管理,所有成员、权限的数据都保存在数据库中,一旦在Svn Admin的页面上修改,就会把配置信息输出到conf下的那3个配置文件中。 支持http协议 Apache+SVN配置成功后可以有两种方式: 多库方式:SVNParentPath 指定一个父目录,所有仓库在这个父目录下,使用一个密码文件和一个权限配置文件。优点是增加删除仓库不需要改apachehttpd.conf,不需要重启Apache。缺点是项目多会很混乱。 单库方式:SVNPath 每个仓库单独配置各自的密码和权限文件。优点是各自分开,互相不影响,维护方便。缺点是增加或删除仓库需要修改apachehttpd.conf后重启。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值