• ubuntu下安装基于Apache的SVN服务器


    Subversion是一个自由,开源的版本控制系统。在Subversion管理下,文件和目录可以超越时空。
    Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以
    记录每一次文件和目录的修改情况。这样就可以藉此将数据恢复到以前的版本,并可以查看数据的
    更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”[1] 。
    subversion(svn)是近年来崛起的版本管理软件,是cvs的接班人。目前,绝大多数开源软件都使用
    svn作为版本管理软件。 本文的操作系统为ubuntu12.X以上版本。

    一、安装所需要的库
    1、sudo -s

    apt-get install build-essential automake autoconf libtool libssl-dev libserf-1-1

    2、下载所需下载源码
    httpd-2.2.19.tar.gz         http://httpd.apache.org/download.cgi
    subversion-1.6.6.tar.gz         http://archive.apache.org/dist/subversion/
    expat-2.2.0.tar.bz2         https://sourceforge.net/projects/expat/
    apr-1.4.5.tar.gz         http://apr.apache.org/
    apr-util-1.3.12.tar.gz           http://apr.apache.org/
    zlib-1.2.5.tar.gz           http://zlib.net/fossils/
    neon-0.28.2.tar.gz          http://www.webdav.org/neon/

    二、安装apache
    1、安装所需要的插件
    tar zxvf apr-1.3.5.tar.gz
    cd apr-1.3.5
    ./configure --prefix=/usr/local/apr && make && make install
    cd ../


    tar jxvf apr-util-1.3.7.tar.gz2
    cd apr-util-1.3.7
    ./configure --with-apr=/usr/local/apr && make && make install
    cd ../

    tar jxvf expat-2.2.0.tar.bz2
    cd expat-2.2.0
    ./configure && make && make install
    cd ../

    tar zxvf zlib-1.2.8.tar.bz
    cd zlib-1.2.8
    ./configure --prefix=/usr/local/zlib && make && make install
    cd ../


    2、安装apache
    tar jxvf httpd-2.2.11.tar.gz2
    cd httpd-2.2.11
    ./configure --prefix=/usr/local/apache2 --enable-dav --enable-modules=so --enable-maintainer-mode --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config && make && make install
    cd ..
    启动Apache服务:
    /usr/local/apache2/bin/apachectl start

    用浏览器查看http://localhost/,得到It works!
    说明apache已经配置成功了。

    3 安装neon-0.28.2.tar.gz
    tar zxvf neon-0.28.2.tar.gz
    cd neon-0.28.2
    ./configure --prefix=/usr/local/neon

    此时需修改Makefile文件:
    配置./src/Makefile,将CFLAGS = -g -O2 改成 CFLAGS = -fPIC -g -O2

    make && make install
    cd ../

    4 安装Subversion
    tar jxvf subversion-1.5.0.tar.gz2
    tar jxvf subversion-deps-1.5.0.tar.gz2
    tar zxvf openssl-1.0.1o.tar.gz
    cd subversion-1.5.0
    rm -rf apr
    rm -rf apr-util

    ./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-neon=/usr/local/neon --enable-maintainer-mode --with-zlib=/usr/local/zlib --with-openssl=/data/soft/openssl-1.0.1o

    注:--with-openssl=/data/soft/openssl-1.0.1o 指向的是源码包解压的路径,而不是安装的路径,否则会报错。

    make && make install

    注:
    1) 由于subversion-deps包里的APR是0.9.x的,因此编译svn时要删除从deps里解压出来的apr, apr-util,改而使用apache 2.2里提供的;
    2) ./configure的时候必须加上–with-neon=/usr/local/neon,否则会提示错误(安装neon的时候强调过);
    3) 查看Apache的配置文件:/usr/local/apache2/conf/httpd.conf
    看到下面两个模块说明安装成功

    LoadModule dav_svn_module modules/mod_dav_svn.so
    LoadModule authz_svn_module modules/mod_authz_svn.so

    3.1
    添加apache用户
    /usr/sbin/groupadd apache
    /usr/sbin/useradd -g apache -s /usr/sbin/nologin apache

    配置Apache的配置文件httpd.conf,
    修改httpd.conf文件,将

    User daemon
    Group daemon

    修改为

    User apache
    Group apache

    修改svn站点的路径

    DocumentRoot "/usr/local/apache2/htdocs"
    

    修改为

    <Directory "/usr/local/apache2/htdocs">

    修改为

    <Directory "/data/svnroot">

    查找

    Options Indexes FollowSymLinks

    修改为

    Options -Indexes FollowSymLinks
    

      


    按shift+g至httpd.conf最尾部,添加内容

    <Location /svn>
    DAV svn
    SVNParentPath /data/svnroot
    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile /data/svndataconf/passwd
    AuthzSVNAccessFile /data/svndataconf/auth
    Require valid-user
    </Location>
    

      


    打开apache站点配置文件extra/httpd-vhosts.conf
    vi extra/httpd-vhosts.conf,到页面最底部,删除初始站点配置信息
    输入以下内容

    <VirtualHost *:80>
    ServerAdmin admin@abc.com
    DocumentRoot "/data/svnroot"
    ServerName svn.abc.com
    ErrorLog "logs/svn.log"
    </VirtualHost>
    

      

    3.2 创建passwd文件和auth文件
    mkdir /data/svndataconf/
    chown -R apache:apache /data/svndataconf/
    vi /data/svndataconf/auth
    输入以下内容

    [groups]
    
    [cms:/]
    user1 =rw
    

      

  • 相关阅读:
    201571030142 四则运算
    略读《构建之法》
    基于原型的软件需求获取
    Java实现小学四则运算练习系统(UI)
    Java实现小学四则运算练习
    201571030104+ 快速通读教材《现代软件工程——构建之法》
    对pow函数的思考
    mysql转移后,启动失败问题
    递归
    requests+re(正则)之猫眼top100排名信息爬取
  • 原文地址:https://www.cnblogs.com/cnsong/p/7656027.html
Copyright © 2020-2023  润新知