• Windows 2003下面Apache+SVN配置


      8月又快到了,忙的连写文章的时间都没有了,也该写写了。本来这篇应该是6月写的,因为这件事很早就做完了。之前就建议领导找个专人负责配置管理,但领导不怎么重视,从而使项目组的配置管理一直没用起来,导致代码的版本无法控制,并且多个人在扩展功能的时候,集成非常麻烦,偶尔还会带来不必要的风险,有时都不清楚最新的代码在哪,一旦人员拿着最新代码离职,后果不堪设想。

             看来这件事还得自己亲自下手,这也是没办法的办法了。首先的把环境搭起来,至于后面使用到什么程度就是另外一回事了,因为好多人都不会使用SVN,就连自己也就会一些简单的,复杂的还真不懂,公司也不提供培训。

    第一步:下载ApacheSVN软件

    Apache webserver http://httpd.apache.org/download.cgi

    SVN Server http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91

    TortoiseSVN 1.7 http://tortoisesvn.net/

    两者之间版本搭配要注意,最好下载最新版,下载SVN的时候后面的描述注明了支持的Apache版本。

    第二步:安装程序

    1)      安装Apache,安装的时候注意一下是否开有IIS、迅雷、QQ音乐等可能占用80端口的软件,安装过程一直Next,然后可以在httpd.conf文件里面修改Listen 9000(端口号),做一些基本的设置就可以了,安装完成浏览器中访问http://loaclhost:9000 ,页面出现It works!表示安装成功!

    2)      安装SVNSVN可能是.exe或者其他压缩方式打包的软件包,直接安装或者解压到某个目录即可。

    3)      安装TortoiseSVN 1.7客户端

    第三步:配置ApacheSVN

    1)         C:\Program Files\Subversion\bin目录下的mod_dav_svn.somod_authz_svn.so libdb44.dll ,拷贝出来放在C:\Program Files\Apache Software Foundation\Apache2.2\modules目录下。

    2)         修改D:\Program Files\Apache Software Foundation\Apache2.2\conf \httpd.conf文件

    3)         去掉以下行的注释

    #LoadModule dav_fs_module modules/mod_dav_fs.so

    #LoadModule dav_module modules/mod_dav.so

    4)         LoadModule节的最后添加以下两行:

    LoadModule dav_svn_module modules/mod_dav_svn.so

    LoadModule authz_svn_module modules/mod_authz_svn.so

    ***注意: 这两行的代码顺序不能错,以免带来不必要的麻烦。

    重启Apache,当Apache无法启动,或者无法加载某个动态库的时候,一般先检查该动态库的关联情况。

    5)         然后在该文件末尾进行相应的配置,以便客户端TortoiseSVN和浏览器知道如何访问:

    # 可以通过像这样的URL(http://10.122.88.24:9000/SvnRoot/)来访问Subversion版本库

    <Location /SvnRoot>

    告诉Apache哪个模块负责服务像那样的URL--在这里就是Subversion模块

    DAV svn

                       # 告诉Subversion在目录F:\SvnRoot下寻找版本库

    SVNParentPath F:\SvnRoot

                       # 启用基本的验证,使用用户名/密码验证

    AuthType Basic

                       # A2, ProjectWeekSystem,……为版本库

    AuthName "A2,Project,WeekSystem, CodePro,DevelopDoc,PorblemDoc"

                       # passwd密码和用户文件,用来验证用户的用户名及密码

    AuthUserFile F:\SvnRoot\passwd

                       # authz 权限控制文件,限定各个用户或组在版本库中目录的访问权限

    AuthzSVNAccessFile F:\SvnRoot\authz

                       # 限定用户只有输入正确的用户名及密码后才能访问这个路径

    Require valid-user

    </Location>

    第四步:创建用户密码passwd文件

    打开命令行(DOS窗口),将当前目录切换到Apache2目录(通常为C:\Program Files\Apache Software Foundation\Apache2.2\bin),然后打入以下命令以创建文件:

    htpasswd -c passwd <username>

     

    比如: htpasswd -c F:\SvnRoot\passwd admin

    将会在: F:\SvnRoot目录下创建一个passwd文件,admin表示用户名

    第五步:权限控制文件authz创建

    1)         第一种方法:命令行下面转到到SVN的安装BIN目录。运行:svnadmin create F:\SvnRoot\Project

    2)         第二种方法:在F:\SvnRoot\文件里面新建文件夹Project,然后右键TortoiseSVN——>Create repository here创建版本库,目录里面将会生成配置文件,将conf文件夹里的authz复制到F:\SvnRoot\目录下

    然后打开authz进行配置,可以参照下面的示例:

    #组配置   = 用户名
    [groups]        
    @admin = admin #admin
    用户

    @user = test  #test用户还需要按照上面步骤来创建它和它的密码

    为所有库指定默认访问规则
    所有人可以读
    [/]
    * = r

    Project版本库制定权限
    #admin
    组拥有读写权限
    #user
    组只有读取权限
    [
    Project:/]
    @admin = rw
    @user = r

     

    一切准备工作已经完成了,你就可以用URLhttp//IP:9000/ SvnRoot /Project)来访问版本库了!

    好了,现在你就应该可以去体会一下你的劳动成果咯!

     

      虽然可以使用,但是还是存在一个问题,到现在也没有解决,就是如何配置一个用户通过http//IP:9000/ SvnRoot / 访问里面所有的版本库,希望高手能指点一下,在这里非常感谢了。

     

  • 相关阅读:
    GridView与ArrayAdapter的结合
    翻翻git之---闪烁动画的TextView RevealTextView
    希捷硬盘扩容软件-----DiscWizard
    项目管理的酸甜苦辣
    【转】Bootloader之uBoot简介(转)
    【转】uboot移植(一)BootLoader基本概念
    【转】U-boot分析与移植(1)----bootloader分析
    【转】MIPS交叉编译环境的建立
    【转】RTSP实例解析
    【转】Eclipse快捷键 10个最有用的快捷键----不错
  • 原文地址:https://www.cnblogs.com/ZHF/p/2119596.html
Copyright © 2020-2023  润新知