zoukankan      html  css  js  c++  java
  • Apache Httpd + Subversion 搭建HTTP访问的SVN服务器

    最近要搭建一个SVN服务器。简单安装之后,本地访问没有问题,但作为服务器肯定是需要HTTP访问。搜索之后,以下是我按照网上的资料搭建的过程,以备后用和参考。(所有软件安装步骤略,没有特殊的,如果没有特殊要求,默认下一步执行完即可,后面再搭建环境的时候,再截图补充。软件都已经安装,全部再重新安一遍比较费时,看客请谅解!)

    所需软件:

    Subversion:Setup-Subversion-1.7.9.msi

    TortoiseSVN:TortoiseSVN 1.7.11

    Apache httpd:httpd-2.2.22-win32-x86-openssl-0.9.8t.msi

    1,安装安装Subversion,TortoiseSVN ,Apache httpd步骤略,执行“”,下一步即可。

    2,配置SVN

    生成配置库:

    在一个空目录里的任意空白位置,选择右键,在弹出的右键菜单中选择

    创建仓库

    创建成功将收到如下提示。

    2

    可以选择“Create folder structure”,工具会自动生成“trunk”,“tags”,“branches”三个空目录。

            trunk--内容主目录,用于存放主版本文件

            tags—标签主目录,用于版本基线

            branches--分支主目录,可将主版本切出多个分支同时进行,各分支完成后,合入主版本

    在另一个本地空白位置,可以选择右键—“SVN CheckOut”,生成本地拷贝。

    3

    设置用户验证

    配置SVN鉴权(默认SVN是关闭鉴权的)

    打开上一步创建的SVN仓库,进入conf目录,打开svnserver.conf文件,找到

    svnserver.conf#[general] 
    #password-db=passwd 
    改为: 
    [general] 
    password-db=passwd

    配置用户必须登录才能访问

    svnserver.conf### "none"--禁止读写
    ### "read"--只读
    ### "write"--读写
    # anon-access = read   ###未登录
    # auth-access = write  ###已登录

    启动密码文件,并修改passwd文件,添加用户或用户组

    passwd### This file is an example password file for svnserve.
    ### Its format is similar to that of svnserve.conf. As shown in the
    ### example below it contains one section labelled [users].
    ### The name and password for each user follow, one account per line.
    
    [users]
    # harry = harryssecret
    # sally = sallyssecret
    admin = adnin

    并配置权限文件authz,配置目录权限

    authz### 定义名称的别名
    [aliases]
    # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
    
    ### 定义一些用户组
    [groups]
    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    
    ### 指定路径下,哪些用户或组的读写权限
    # [/foo/bar]
    # harry = rw
    # &joe = r
    # * =
    
    ###
    # [repository:/baz/fuz]
    # @harry_and_sally = rw
    # * = r

    配置httpd服务及集成SVN

    1.运行“Monitor Apache Servers”(安装后默认已运行,执行文件在“%Apache2.2%inApacheMonitor.exe”),启动httpd服务。

    image

    2.在浏览器中输入“http://localhost”,显示如下图,表示服务里其中成功(此页面文件在“%Apache2.2%htdocsindex.html”)。

    image

    3.使用文本编辑工具(尽量不适用记事本,会修改文件编码格式为DOS)打开“%Apache2.2%confhttpd.conf”,做如下修改后保存。(注意文件中不能包含汉字)

    httpd.conf### 将以下两行内容去掉注释:
    # LoadModule dav_module modules/mod_dav.so 
    # LoadModule dav_fs_module modules/mod_dav_fs.so
    
    ### 在LoadModule区的最后附加下面这两行内容: 
    LoadModule dav_svn_module modules/mod_dav_svn.so 
    LoadModule authz_svn_module modules/mod_authz_svn.so
    
    ### 在文件最后加上以下内容:
    <Location /wl>      # svn路径(http://server:port/wl)
    DAV svn             # 默认,使用svn
    SVNPath E:
    epositorywl   # SVN的仓库位置
    AuthType Basic             # 使用基础的鉴权类型
    AuthName "test"            # 鉴权名称,此名称会在提示用户输入用户名和密码时显示
    AuthUserFile E:
    epositorywlhttpdpasswd    # 用户及密码文件位置
    AuthzSVNAccessFile E:
    epositorywlhttpdauthz    # 权限文件位置
    Require valid-user     # 是否必须鉴权 http方式模式必须鉴权
    </Location>

    4.将”%Subversion%in”下的dll文件拷贝至“%Apache2.2%in”下。(开始按网上的方案,拷贝了1个文件,服务一直起不来,后来将所有dll拷贝过去成功了。)

    5.生成passwd和authz文件。

    passwd和authz### 生成密码文件命令
    %Apache2.2%inhtpasswd -c passwd_url <username>
    
    ### authz文件内容
    [aliases]
    # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
    
    [groups]
    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    admin = admin,zwh
    users = @admin,test
    
    # [/foo/bar]
    # harry = rw
    # &joe = r
    # * =
    
    # [repository:/baz/fuz]
    # @harry_and_sally = rw
    # * = r
    [test:/svn/test]
    @admin = rw
    @users = r

    至此,重启一下httpd服务,在浏览器中输入“http://localhost/wl”,有如下提示,表示整个过程成功。

    image

    由于第一次搭建,也犯了一些低级错误。整个过程因为是搭建成功后写的,一些过程没有图片。后期再搭建时再补充。

  • 相关阅读:
    HDOJ/HDU 1015 Safecracker(枚举、暴力)
    nodejs之入门
    git错误收集总结
    git基本操作
    git使用前配置
    花开花落花非花、缘起缘灭缘随缘
    js之定时器
    js之Date(日期对象)
    es5严格模式简谈
    try...catch
  • 原文地址:https://www.cnblogs.com/nimorl/p/5089178.html
Copyright © 2011-2022 走看看