• [原创]在windows下搭建基于apache的SVN环境


    [原创]在windows下搭建基于apache的SVN环境

    1 软件下载:

    http://httpd.apache.org/download.cgi,下载:

    apache_2.2.14-win32-x86-openssl-0.9.8k.msi

    http://subversion.tigris.org/,下载:

    Setup-Subversion-1.6.6.msi

    http://tortoisesvn.net/downloads,下载:

    LanguagePack_1.6.3.16613-win32-zh_CN.msi

    TortoiseSVN-1.6.3.16613-win32-svn-1.6.3.msi

    备注:apache与svn安装时,需要注意一点版本是否兼容,注意查下版本匹配情况;

    2 安装apache

    安装apache 按照提示安装,可以自定义安装目录,如我安装在D:\Program Files\Apache下;

    修改apache端口,在D:\Program Files\Apache\conf下的httpd.conf将listen 80 更改为listen 8000,保存,然后重启apache

    检查apache是否安装成,访问http://localhost:8000,如果显示”it works”则表明安装成功;

     

    备注:默认情况下apache是80端口,但是80端口经常会让其它服务占用,建议最好更改访问端口

    3 安装svn服务端

     安装svn服务端,按照提示安装,可以自定义安装目录,如我安装在D:\Program Files\Svn下;

    4 安装svn客户端及汉化包

     安装svn安户端及汉化包,按照提示安装即可,如我安装在D:\Program Files\TortoiseSVN

     

    5 集成svnapache

      将Svn环境下bin目录中的mod_dav_svn.so和mod_authz_svn.so复制到Apache环境下modules目录下;

     配置apache环境下的httpd.conf,去掉前面的#号;

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

    将下面几行添加到LoadModule部分的最后注意svn的环境目录更改,需符号要求;

    LoadModule dav_svn_module "d:/Program Files/svn/bin/mod_dav_svn.so"  

    LoadModule authz_svn_module "d:/Program Files/svn/bin/mod_authz_svn.so"

     保存重启下apache,可以看到如下图所示:

    6 配置apachesvn,让apache告诉svn如何工作

    以下是我的具体配置情况可以参考下

    <Location /svn> 

    #引用远程访问模块

    DAV svn   

    #版本库路径

    SVNListParentPath on

    SVNParentPath   d:/Svn/Project

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

    AuthType Basic

    #用来说明何时弹出要求用户输入认证信息的认证对话框

    AuthName "Subversion repositories"

    #指定使用的认证密码文件

    AuthUserFile d:/Svn/conf/passwd.ini  

    #位置Subversion版本库的访问控制文件的路径

    AuthzSVNAccessFile d:/Svn/conf/authz.ini

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

    Require valid-user

    </Location>

    更为详细的解释设置 Apache httpd.conf

    设置

    解释

    <Location /svn>

    意思是Subversion版本库的URL是http://MyServer/svn/

    DAV svn

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

    SVNListParentPath on

    对于Subversion1.3或者更高版本,这个指示表示显示所有SVNParentPath下的版本库。

    SVNParentPath D:\SVN

    告诉Subversion需要查看的版本库位于D:\SVN之下

    SVNIndexXSLT "/svnindex.xsl"

    使用它可以在用浏览器浏览时更好看。

    AuthType Basic

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

    AuthName "Subversion repositories"

    用来说明何时弹出要求用户输入认证信息的认证对话框

    AuthUserFile passwd

    指定使用的认证密码文件

    AuthzSVNAccessFile

    位置Subversion版本库的访问控制文件的路径

    Require valid-user

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

     

    7 创建passwd文件来管理svn的访问权限

    在开始菜单下,“运行”输入cmd,然后切换到apache/bin目录下:

     

     

     第1个用户创建时用:htpasswd -c D:\svn\conf\passwd.ini yb.ma //其中passwd.ini为文件名,yb.ma为用户帐号

     

    第2个用户创建时用:htpasswd D:\svn\conf\passwd.ini y.fan

     

     

    可以找到具体的目录查看,如下图所示,验证是否创建成功:

     

    8 SVN版本库及登录访问权限设置

    D:\Svn\Project\目录下创建test1文件,然后通过svn客户端右键在此创建版本库;

    将会得到如下效果图,则表明创建成功:

     

    D:\Svn\TempProjcet\test1创建如下配置库目录结构图,如我创建如下(可以根据自己实际情况定制)

    导入配置库结构到版本库中,如右键导入,填写具体的地址:

     

    备注:要导入的版本库必须在authz.ini文件中配置

     D:\Svn\conf创建authz.ini文件,然后文件中填写如下设置

     #建立分组:admin, developerpm,testers

    [groups]

    admin=yb.ma

    pm=yb.ma

    developers=yb.ma  

    testers=yb.ma

    #预置设置

    [/]

    *=r

    @admin=rw

    dangerman=

    #多个项目配置,一级目录权限

    [test1:/]

    @developers=rw

    #branches二级目录权限

    [/branches]

    @testers=r

    @developers=rw

    #tags二级目录权限

    [/tags]

    @admin=rw

    @pm=rw

    #trunk二级目录权限

    [/trunk]

    @admin=rw

    @developers=rw

  • 相关阅读:
    C#ActiveX控件开发学习
    SPFA最短路算法
    用宏实现C/C++从非零整数开始的数组
    mysql学习笔记
    python学习笔记(多进程并发)
    python学习笔记(socket模块)
    jQuery学习笔记
    python学习笔记(IO模型)
    Django学习笔记
    导入Excel时启动Excel.exe进程出错
  • 原文地址:https://www.cnblogs.com/mayingbao/p/1755757.html
Copyright © 2020-2023  润新知