为梦而活

发布新日志

  • SVN安装配置

    2007-08-23 11:39:35

    1         引言

    1.1         编写目的

    本文档致力于介绍subversion(以下简称svn)的安装及权限配置方法。为建立svn配置管理库提供一个可执行的方案,供有需要的读者使用。

    服务器的管理员应该根据自身建设服务器的方式有选择的学习部分第三部分。客户端的使用直接参考部分内容。

    1.2         相关网站

    Subversion官方网站

    Subversion插件资源

    Subversion中文站

    iusesvn

    1.3         参考资料

    版本控制软件SubVersion 入门

    SVN服务器搭建完全手册

    ApacheSubversion 搭建安全CVS

    利用 svnserve.exe 实现精细的目录访问控制(v1.0)

    RHEL(AS4)上安装apache2.2.3 + svn1.4 + 自动邮件通知(超完整版)

    CVS迁移到SVN

    2         安装服务器

    Subversion可以运行在linux平台中也可以运行在windows平台中。相对而言,在linux环境中,运行良好,性能稳定,是配置管理库的首选方案。以下将分别介绍在不同的平台中使用不同方式架设svn服务器的步骤。可以根据实际部署环境有选择的分块阅读。

    2.1         下载软件

    http://subversion.tigris.org/downloads/subversion-1.4.3.tar.gz

    http://subversion.tigris.org/downloads/subversion-deps-1.4.3.tar.gz

    http://apache.justdn.org/httpd/httpd-2.2.3.tar.gz

    site-1.2.0.zip subclipseeclipse插件)

    tortoisesvn 下载

    svn-importer-1.1-M8.tar.gz svn转换工具)

    或者访问共享目录:\\10.130.32.16

    2.2         架构部署

    图表 21   subversion体系构架

    Subversion的设计包括一个抽象的网络层,版本库可以通过各种服务器进程访问,而且客户端“版本库访问”的API允许程序员写出相关协议的插件,Subversion可以使用无限数量的网络协议实现,目前实践中存在着以下两种服务器。

    Apache是最流行的web服务器,通过使用mod_dav_svn模块,Apache可以访问版本库,并且可以使客户端使用HTTP的扩展协议WebDAV/DeltaV进行访问,另一个是svnserve:一个小的,独立服务器,使用自己定义的协议和客户端,下面的表格比较了这两种服务器。

    表格 21   <网络服务器比较>

    特性

    Apache + mod_dav_svn

    svnserve

    认证选项

    HTTP(S) basic authX.509 certificatesLDAPNTLM或任何Apache httpd已经具备的方式

    CRAM-MD5SSH

    用户帐号选项

    私有的'users'文件

    私有的'users'文件,或存在的系统(SSH)帐户

    授权选项

    整体的读/写访问,或者是每目录的读/写访问

    整体的读/写访问,或者是使用pre-commit钩子的每目录写访问(但不是读)

    加密

    通过选择SSL

    通过选择SSH通道

    交互性

    可以部分的被其他WebDAV客户端使用

    不能被其他客户端使用

    Web浏览能力

    有限的内置支持,或者通过第三方工具,如ViewVC

    通过第三方工具,如ViewVC

    速度

    有些慢

    快一点

    初始化配置

    有些复杂

    相当简单

     

    2.3         安装apache+svn

    本例将安装在服务器10.130.33.119上。安装AS4的时候曾经安装了apache,但不是最新版本,我们将首先安装apache2

    下载httpd-2.2.3.tar.gzhttp://apache.justdn.org/httpd/httpd-2.2.3.tar.gz

    2.3.1        操作步骤

    第一步、              安装编译apache[1][2]

    # chmod a+x httpd-2.2.3.tar.gz   //添加可执行权限

    # tar zxvf httpd-2.2.3.tar.gz   //解压缩安装包

    # cd httpd-2.2.3   //进入安装目录

    # ./configure --enable-module=so --enable-dav --enable-dav-fs --enable-dav --enable-so --prefix=/usr/local/apache2   //--enable-module=so配置Apache支持Dynamic Shared Objects (DSO)模式,--enable-dav即添加mod_dav.so模块,--enable-dav-fs即添加mod_dav_fs.so模块,--prefix=/usr/local/apache2是所需要安装到的目录位置。

    # make install   //编译后进行安装

    安装完毕,进行测试。

    # vi /usr/local/apache2/conf/httpd.conf   //修改apache配置文件  ServerName 修改为ServerName 10.130.33.119:80

    # cd /usr/local/apache2/bin   //进入apache控制脚本目录

    # ./apachectl start   //启动apache

    IE打开http://10.130.33.119, 可以看到It works!说明apache已经可以正常工作了。

     

    第二步、              安装编译subversion

    # tar zxvf subversion-1.4.3.tar.gz                //解压缩安装包

    # tar zxvf subversion-deps-1.4.3.tar.gz            //解压缩安装包

    # cd subversion-1.4.3   //进入安装目录

    # ./configure --prefix=/usr/local/subverion \--with-apxs=/usr/local/apache2/bin/apxs \--with-apr=/usr/local/httpd-2.2.3/srclib/apr/  \--with-apr-util=/usr/local/httpd-2.2.3/srclib/apr-util \--with-ssl[3]      //--with-apxs指定apxs的安装的目录,可以在安装过程中自动生成两个必要的模块文件mod_dav_svn.somod_authz_svn.so以及能够支持它们可以正常地工作。其中/usr/local/httpd-2.2.3apache的源代码的目录,请根据实际情况修改。

    # make install   //编译后进行安装

    # svnadmin –-version     //检验subversion是否安装成功,查看subversion的版本

     

    第三步、              配置管理区库

    # mkdir /svndata   //创建SVN根目录svndata

    # ./svnadmin create --fs-type fsfs /svndata/test[4]   //SVN根目录下创建一个名叫test的仓库,--fs-type为指定仓库的文件格式为fsfs

    # vi /usr/local/apache2/conf/httpd.conf

    检查是否添加了以下两行(一般会自动加入,如果没有则可能是subversion编译没有成功,需要进一步检查)

    LoadModule dav_svn_module modules/mod_dav_svn.so

    LoadModule authz_svn_module modules/mod_authz_svn.so

    先修改版本库的权限:

    User nobody

    Group #-1

    //把上述内容改成:

    User apache

    Group apache

    //(我的系统在安装apache的时候,自动增加了apache用户和apache,如果你系统没有这个用户和组,则请自己添加该用户和组)

     

    在末尾加上以下参数

    <Location /svn>

    DAV svn

    SVNPath /svndata/test

    AuthType Basic

    AuthName "UBSOSS's SVN"

数据统计

  • 访问量: 2994
  • 日志数: 4
  • 建立时间: 2007-07-27
  • 更新时间: 2007-08-23

RSS订阅