Centos 6 上安装Apache Subversion(SVN)

      本章中我们来学习如何在CentOS 6.4上安装Apache + Subversion服务。
     
      安装Apache Server
      我们先来安装Apache Server,首先来下载httpd的tar文件,当然也可意识用yum来安装:
引用

    
     # yum install httpd //使用这种方式安装的话,用户不能控制httpd的版本
     # wget http://101.44.1.8/download/20269194/25106146/4/gz/81/111/1362718624849_111/httpd-2.2.24.tar.gz
     # chmod +x httpd-2.2.24.tar.gz
     # tar xzvf httpd-2.2.24.tar.gz
     # cd httpd-2.2.24
     # ./configure --prefix=/opt/apache2 --enable-modules=so --enable-so --enable-rewrite --with-mpm=worker --enable-mem-cache --enable-disk-cache --enable-cache --enable-file-cache --enable-cgi --enable-headers --enable-deflate --enable-ssl --enable-suexec --with-suexec-caller=daemon --enable-auth-digest --with-suexec-docroot=/opt/apache2/htdocs --enable-mods-shared=all --enable-proxy --enable-charset-lite --with-suexec-bin=/usr/sbin/suexec --with-ipv6 --enable-threads
     # make
     # make install
    

    

     在上面的一系列安装命令没有出错的情况下就表明apache http已经安装好了,接下来我配置随机启动:
引用

     # vi /ect/rc.d/local
        /opt/apache2/bin/apachectl start  //添加该内容会在系统启动的时候启动apache httpd
     # /opt/apache2/bin/apachectl start //启动服务
    

    

     如果接下来在浏览器地址栏中输入http://127.0.0.1/出现如下页面就说名apache httpd已经才成功了:

     Apache的默认文档根目录是在CentOS上的/var/www/html 目录 ,配置文件是/etc/httpd/conf/httpd.conf。配置存储在的/etc/httpd/conf.d/目录。

     安装Subversion Server服务器
     用户有两种方式来安装,一种是使用yum命令来安装:
引用

     # yum install subversion
     # yum install mod_dav_svn

    

     使用yum来安装SVN比较简单,但是用户不能控制Subversion的版本,在这里我们还是先下载Subversion文件然后手工安装。
     不过在安装之前需要先安装sqlite3.c这个文件需要先下载sqlite的tar文件并将之解压,然后降至拷贝到subversion-1.8.0/sqlite-amalgamation目录下,subversion-1.8.0下没有sqlite-amalgamation目录的话就创建一个:
引用

    # wget http://www.sqlite.org/2013/sqlite-autoconf-3071700.tar.gz
     # chmod +x sqlite-autoconf-3071700.tar.gz
     # tar xzvf sqlite-autoconf-3071700.tar.gz
     # ./configure
     # make
     # make install
   
    

     下面我们开始来安装SVN:
引用

     # wget http://mirrors.tuna.tsinghua.edu.cn/apache/subversion/subversion-1.8.0.tar.gz
     # chmod +x subversion-1.8.0.tar.gz
     # tar xzvf subversion-1.8.0.tar.gz
     # cd subversion-1.8.0
     # mkdir sqlite-amalgamation
     # cp /usr/local/sqlite-autoconf-3071700/sqlite3.c /usr/local/subversion-1.8.0/sqlite-amalgamation
     # ./configure --with-apxs=/opt/apache2/bin/apxs --prefix=/opt/subversion --with-apr=/opt/apache2 --with-apr-util=/opt/apache2 --with-ssl --with-zlib --enable-maintainer-mode
     # make
     # make install
     # yum -y install mod_dav_svn

    

     好了,到这里就按装好了Subversion(SVN)了。接下来我们来验证一下:
引用

     # svn --version
     svn,版本 1.6.11 (r934486)
     编译于 Apr 11 2013,16:13:51

    

     我们看上免得显示,我们明明安装的是Subversion 1.8.0,怎么上面会显示版本是1.6.11呢?经过研究发现原来我们使用的是服务器内置的svn,我们先将原来的版本的软链接改为我们刚才安装的版本的软链接:
引用

     # mv /usr/bin/svn /usr/bin/svn.old
     # ln -s /opt/subversion/bin/svn /usr/bin/svn

    

     接下来我们再执行svn --version看一下结果:


     配置Apache + Subversion
    
引用

     # mkdir -p /data/svnroot
     # /opt/subversion/bin/svnadmin create --fs-type fsfs /data/svnroot/repos //建立svn版本库
     //添加访问svn的账号和密码
     # /opt/apache2/bin/htpasswd -c /data/svnroot/passwd admin #第一次加用户名需要带上-c,然后输入两次密码
     # /opt/apache2/bin/htpasswd /data/svnroot/passwd jackychen

     //添加用户权限
     #vi /data/svnroot/authz

        
         [groups]
         admin=admin,jackychen
         //以后可以给用户创建的项目赋予用户,如用户创建一个project1项目,可以给jackychen用户赋予管理员权限
         [project1:/]
         @admin = rw
        

    
     //将svn中的libexec目录下的mod_dav_svn.so和mod_authz_svn.so复制到apache下的modules目录
     # cp /opt/subversion/libexec/mod_dav_svn.so /opt/apache2/modules
     # cp /opt/subversion/libexec/mod_authz_svn.so /opt/apache2/modules   

     //配置apache的httpd.conf
     # vi /opt/apache2/conf/httpd.conf
    

       //在httpd.conf加入一下两行内容
       LoadModule dav_svn_module     modules/mod_dav_svn.so 
       LoadModule authz_svn_module   modules/mod_authz_svn.so                 
    
       //集成svn
       <Location /svn>
          DAV svn
          SVNPath /data/svnroot/repos
          AuthzSVNAccessFile /data/svnroot/authz

          AuthType Basic
          AuthName "Welcome to SVN"
          AuthzSVNAccessFile /data/svnroot/authz
          AuthUserFile /data/svnroot/passwd
          Require valid-user
       </Location>

    


     最后再次启动apache:
    
引用
/opt/apache2/bin/apachectl restart

     如果报出如下错误:
引用

     httpd: Could not reliably determine the server's fully qualified domain name
    

     那就在/opt/apache2/conf/httpd.conf配置文件中添加 ServerName localhost:81,然后重启apache,输入
引用

     # http://127.0.0.1:81/svn/
    

     验证配置,如果显示用户账户输入就证明已经配置好了!
    


    
    

猜你喜欢

转载自flyingdutchman.iteye.com/blog/1896695