zoukankan      html  css  js  c++  java
  • 在RHEL4上安装subversion1.4.2

    在RHEL4上安装subversion1.4.2

    windows上使用svn已经有一阵子了,最近在准备svn备份策略,想配置一台linux作为svn的备份,先拿个虚拟机做实验,搞定了再实战。

    1、在vmware 5上安装RHEL4U2
    安装过程中什么组件都不选,像apache、ftp、smb这些。主要想安装好系统后手动安装最新版本,反正在定制软件时什么勾勾都不选,包括图形界面,装完后发现进入kde桌面了,可能是漏选了,也罢,有个图形也好。

    2、安装Apache2.2.3
    在http://httpd.apache.org上看到2.2.3是最好的版本,于是下载下来安装

      tar -zxvf httpd-2.2.3.tar.gz
      cd cd httpd-2.2.3最初用下面的命令进行配置,结果subversion装好后不能造成apache启动
      ./configure --prefix=/usr/local/apache --enable-module=most --enable-shared=max
    后来改为
    ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite=share --enable-proxy=share --enable-proxy-ajp=share --enable-dav=share --enable-dav-fs就没有问题了

    运行后发现报错,找不到编译器,这才想起没有安装gcc,于是mount上光盘,先把gcc装了再说 rpm -ivh /media/cdrom/RedHat/RPMS/gcc*.rpm,安装gcc时也遇到一些包的依赖关系,逐一解决,主要是以下几个rpm的依赖
    rpm -ivh /media/cdrom/RedHat/RPMS/zlib-devel-1.2.1.2-1.2.i386.rpm
    rpm -ivh /media/cdrom/RedHat/RPMS/libstdc++-devel-3.4.4-2.i386.rpm
    rpm -ivh /media/cdrom/RedHat/RPMS/libgcj-devel-3.4.4-2.i386.rpm
    装好gcc之后再运行上面的apache的configure命令,然后make,再make install

    装好apache后,测试一下看apache能否运行
    /usr/local/apache/bin/apachectl start
    浏览器访问,看到it works字样,说明apache成功了

    3、安装subversion1.4.2
    一开始我是准备用rpm方式安装的,下载的1.4.0的rpm包,安装时报告apr版本太低,刚好看到subversion的下载目录里有
    apr-0.9.12-2.i386.rpm和apr-util-0.9.12-1.i386.rpm,这两个包以-U方式安装后,subversion就可以装上去了
    rpm -U apr-0.9.12-2.i386.rpm
    rpm -U apr-util-0.9.4-21.i386.rpm
    rpm -ivh subversion-1.4.2-1.i386.rpm

    之后建个资料库测试一下
    svnadmin create /svn_repo/test 成功

    但是我把1.4.0卸载了,准备安装1.4.2的tar.gz的包
    rmp -e subversion

    下载的是subversion1.4.2.tar.gz
    还是先解压
    tar -zxvf subversion-1.4.2.tar.gz
    cd subversion-1.4.2
    开始配置
    ./configure --prefix=/usr/local/svn
    报告说apr找不到,qq群里问了老大,又在论坛里找,最后下面的命令不会有错
    ./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2
    然后make 再make install

    再看apache的配置文件,已经自动加上了如下两行
    LoadModule dav_svn_module     modules/mod_dav_svn.so
    LoadModule authz_svn_module   modules/mod_authz_svn.so
    这两个so文件也被copy到相应的modules目录了。

    现在apache和subversion都成功了,接下来就是建立配置文件

    4、权限配置
    我在/svn_repo下建了个conf文件夹,专门用于存放用户信息、权限配置信息
    mkdir /svn_repo/conf
    建立一个用户名密码文件
    /usr/local/apache2/bin/htpasswd -cm /svn_repo/conf/users.conf yourname
    根据屏幕提示输入两次密码
    zaiconf目录下再建test资料库的权限文件和组文件(个人觉得组文件没有用)
    mkdir /svn_repo/conf/test
    cd /svn_repo/conf/test
    vi testAccess.conf
    输入如下配置信息,最简单的权限配置
    [groups]
    admin = wangdm,zhugang,yinfei,zhumz
    [/]
    @admin = rw

    vi testGroup.conf
    输入ms:ligw wanghj
    这里是组名+冒号+以空格分隔的用户名列表

    保存退出

    创建svnadmin用户,用户名可以随便取
    useradd svnadmin

    编辑/usr/local/apache2/conf/httpd.conf文件
    把user daemon和group daemon中的daemon换成svnadmin
    在文件尾部输入和此项目配置库的访问信息

    <Location /svn/test>
        DAV svn
        SVNPath /svn_repo/test

        # our access control policy
        AuthzSVNAccessFile /svn_repo/conf/test/testAccess.conf

        # how to authenticate a user
        AuthType Basic
        AuthName "Test SVN"
        AuthUserFile /svn_repo/conf/users.conf
        AuthGroupFile /svn_repo/test/testGroups.conf
        Require group test
    </Location>
    我个人喜欢每一个资料库单独配置一个访问路径,每个资料库都使用同一个用户文件,但权限文件是独立的,这样不像svnparentpath那种方式,权限文件看上去很复杂,不好管理

    注意,还要把/svn_repo整个目录的属主设为svnadmin用户
    chown -R svnadmin:svnadmin /svn_repo

    重新启动apache,到此一个项目的svn就完成了。下一步配置ssl,实现了再发帖。

    重启apache后即可
  • 相关阅读:
    iPhone X 适配手机端 H5 页面通用解决方案
    创建cordova项目
    UltraEdit mac破解版
    ionic 和cordova的区别是什么
    还在为AndroidStudio的Gradle版本配置头疼?看看老司机的解决方法吧
    java final
    死锁产生的条件+排除死锁的方法
    String str=new String("a")和String str = "a"有什么区别?
    重载和覆盖的区别?(overload vs override)
    深拷贝和浅拷贝
  • 原文地址:https://www.cnblogs.com/licheng/p/1329645.html
Copyright © 2011-2022 走看看