随笔-20  评论-35  文章-0  trackbacks-0


1.概述

  • 下面介绍的安装配置是我个人的经验,可能与其它很多成功的配置方式有不同,仅次声明,只供参考。
  • 采用linux操作系统做为基础环境,安装配置为了介绍简单,全部操作系统root账户操作


    2.环境准备
    操作系统:redhat AS 4或5
    SVN软件:采用subversion.1.4.0,当然你可以使用其它版本,基本一样。
                        下载地址:http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz (官方)
    APACHE:本文采用APACHE2.2 : http://labs.xiaonei.com/apache-mirror/httpd/httpd-2.2.11.tar.gz (官方)
    说明:虽然AS5中自带了SVN和APACHE,但是我没有做采用,觉得自己编译设置比较稳妥和习惯。

    3.安装APACHE
    为什么要先安装APACHE?因为我们全部采用源代码编译方式,而SUBVERSION的编译要依赖APACHE的相关组件,所以我先安装APACHE(当然,这是我的方式,也有其它配置方式的哈)。

    3.1.编译安装

    # wget http://labs.xiaonei.com/apache-mirror/httpd/httpd-2.2.11.tar.gz 
    # tar -xzvf httpd-2.2.11.tar.gz
    # cd httpd-2.2.11
    # ./configure -prefix=/usr/local/apache2 -enable-so -enable-dav
    # make
    # make install


    执行完成,就安装完成了.
    3.2.检查测试
    启动服务器
     # /usr/local/apache2/bin/apachectl start
    访问 http://localhost/,如果显示:It working 那就OK了

    4.安装subversion
    因为选择的是使用apache代理方式访问subversion,所以编译前需要指定APACHE的相关组件LOCATION.

    # wget http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz
    # tar -xzvf subversion-1.4.0.tar.gz
    # cd subversion-1.4.0
    #./configure -with-apxs=/usr/local/apache2/bin/apxs -with apr=/usr/local/apache2/ -prefix=/usr/local/subversion1.4
    # make
    # make install

    好了,安装完成,简单检查下/usr/local/apache2/modules/下面应该有两个文件:
    mod_authz_svn.so  mod_dav_svn.so

    如果你安装AS5操作系统并选择安装系统自带的SVN,请建立连接以便后续命令操作。

    # ln -s /usr/local/subversion1.4/bin/svn /usr/bin/svn
    # ln -s /usr/local/subversion1.4/bin/svnadmin /usr/bin/svn


    4.创建和设置SVN仓库

    我采用的是每个项目一个仓库的方式管理,采用统一的认证和授权配置文件(auth.conf,user.conf)管理所有的仓库。优点在于配置管理简单,每个项目完全独立,迁移方便;缺点是我还没有找到好的办法实现直接浏览所有仓库的方法。废话不说了,正题~~
     
    所有仓库的父目录
    SVNParentPath /data/svnroot/repository/
    所有仓库的访问权限设置文件
    /data/svnroot/repository/authz.conf
    所有用户信息
    3.AuthUserFile /data/svnroot/repository/userfile

    5.1.创建SVN用户组和用户
    SVN用户组是SVN仓库的宿主,SVN用户才可以对SVN仓库操作(基本系统安全考虑),也要用于后面APACHE启动用户组和用户。

    # groupadd svn
    # useradd svnroot -G svn -g svn -M

    5.2.创建SVN主仓库
    创建SVN仓库主目录

    # mkdir /data/svnroot/repository
    # cd /data/svnroot/repository

    5.3.创建SVN仓库
    这里使用testproject作为演示的项目进行操作。

    # cd /data/svnroot/repository
    # svnadmin create testproject

    建立好了项目仓库,后续项目仓库的目录结构可以后面服务启动后,通过客户端动态添加和管理,个人觉得这样比较容易,不用先导入初始化结构。推荐使用小乌龟(TortoiseSVN)。

    5.4.建立用户和权限控制文件
    待续。。



    5.配置APACHE整合Subversion
    主要就是配置APACHE的httpd.conf,使用mod_authz_svn.so  mod_dav_svn.so集成Subversion的功能了。

    LoadModule dav_svn_module     modules/mod_dav_svn.so
    LoadModule authz_svn_module   modules/mod_authz_svn.so
    <VirtualHost *:80>
        ServerAdmin xxxx@gmail.com
        DocumentRoot /data/www/
        ServerName www.xxxx.org
        ErrorLog logs/xxxx.org-error_log
        CustomLog logs/xxxxx.org-access_log common
     
            <Location /svn>
             DAV svn
             SVNListParentPath on
             SVNParentPath /data/svnroot/repository/
             AuthzSVNAccessFile /data/svnroot/repository/authz.conf
             AuthUserFile /data/svnroot/repository/userfile
     
             AuthType Basic
             AuthName "qy Subversion repository"
     
             #<LimitExcept GET PROPFIND OPTIONS REPORT>
             Require valid-user
             #</LimitExcept>
             #Options Indexes FollowSymLinks
             #AllowOverride None
             #Order allow,deny
             #Allow from all
            </Location>
    </VirtualHost>




  •  

  • posted on 2009-05-22 18:07 coolies 阅读(1155) 评论(0)  编辑  收藏 所属分类: 配置管理JAVA-Team研发环境

    只有注册用户登录后才能发表评论。


    网站导航: