注意: subversion, apache 的版本要对应起来,不然架设不起来。  
安装需要的软件包:
  Apr     APR-1.2.12 APR-util-1.2.12
  Apache  httpd-2.2.6.tar.gz
  Subversion subversion-1.4.5.tar.gz subversion-deps-1.4.5.tar.gz

wget http://archive.apache.org/dist/apr/apr-1.2.12.tar.gz
wget http://archive.apache.org/dist/apr/apr-util-1.2.12.tar.gz
wget http: //mirror.bjtu.edu.cn/apache//httpd/httpd-2.2.16.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.11.tar.gz
wget http://subversion.tigris.org/downloads/subversion-1.6.11.tar.gz

 

 
1 、安装 APR-1.2.12 APR-util-1.2.12
1) #  tar zxvf  apr-1.2.12.tar.gz
    #  cd apr-1.2.12
    #  ./configure
    Make;make install
2) #  tar zxvf apr-util-1.2.12.tar.gz
  #  cd apr-util-1.2.12
  #  . /configure --with-apr=/usr/local/apr
  #  make;make install
 
安装apr-util时遇到个错误,Google后找到解决办法

 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-ldap --with-ldap-include=/usr/local/openldap/include/ --with-ldap-lib=/usr/local/openldap/lib --with-berkeley-db=/usr/local/BerkeleyDB.4.3

make

      Note: If you use 64bit OS, it could report this error. Because the libexpat.so is 32bit.

      /usr/lib/libexpat.so: could not read symbols: File in wrong format

      collect2: ld returned 1 exit status

      make[1]: *** [libaprutil-1.la] Error 1

      make[1]: Leaving directory `/home/omni/tools/httpd-2.2.8/srclib/apr-util'

      make: *** [all-recursive] Error 1

      Solution:  rm -fr  /usr/lib/libexpat.so

                      ln -s /lib64/libexpat.so.0.5.0 /usr/lib/libexpat.so

    Then, re-run

    make

    make install

2 、安装 apache 2.2.6
1 )解包  httpd-2.2.6.tar.gz
#  tar xzvf httpd-2.2.6.tar.gz
  2)  生成配置文件
#  ./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
3 )生成 make 文件,并安装
  #  make make  install
4 )编辑配置文件 httpd.conf
  # vi /usr/local/apache2/conf/httpd.conf
(没修改)
保存退出
  5 )启动 Apache 服务:
# /usr/local/apache2/bin/apachectl start
  6 )浏览网站:
用浏览器查看 http://localhost/, 得到 it works ,说明 apache 已经配置成功了。
  7 )停止 Apache 服务:
# /usr/local/apache2/bin/apachectl stop
  8 )设置启动系统后,自启动 Apache 服务
编辑 etc/rc.d/rc.local
# vi /etc/rc.d/rc.local
在最后加上一句:  /usr/local/apache2/bin/apachectl start
3 、安装 subversion
1 )解包
# tar xvzf subversion-1.4.5.tar.gz
# tar xvzf subversion-deps-1.4.5.tar.gz
2 )转入解包目录并生成配置文件
# cd subversion-1.4.5
SVN  依赖的 APR 版本要正确。如果 Apache 2.0.x ,对应的 APR 版本应为 0.9.x Apache 2.2.x ,对应的 APR 版本应为 1.2.x   由于 subversion-deps 包里的 APR 0.9.x 的,因此编译 svn 时要删除从 deps 里解压出来的 apr, apr-util ,改而使用 apache 2.2 里提供的。(这里指定为开始安装的 apr 目录)
如果 apache 不是安装在默认路径, configure 必須加上 --with-apxs 选项 , 如: ./configure --with-apxs=/usr/local/apache2/bin/apxs( 此目录为我的 apache 安装目录 )
# 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-ssl --with-zlib --enable-maintainer-mode
3 )编译安装
  # make make install
4 )查看 subversion 两个动态库有没有安装成功
    # vi /usr/local/apache2/conf/httpd.conf
   看到下面两个模块说明安装成功
LoadModule dav_svn_module    modules/mod_dav_svn.so
LoadModule authz_svn_module  modules/mod_authz_svn.so
)配置 apache  支持 svn
  # vi / usr/local/apache2/conf/httpd.conf
   在文件末尾加上
例子:
  <Location /svn>
  DAV svn
      SVNParentPath /subversion/project  ( 此处配置你的版本库根目录
      AuthType Basic
      AuthName "Subversion repository"   (此处字符串内容修改为提示对话框标题)
    AuthUserFile /subversion/passwd    ( 此处修改为访问版本库用户的文件,用 apache   htpasswd 命令生成 )
      AuthzSVNAccessFile /subversion/auth  (此处修改为访问版本库权限的文件)
      Require valid-user
  </Location>
 
我的修改:
  <Location /svn>
  DAV svn
      SVNParentPath /home/nuptsoft/subversion_project  ( 此处配置你的版本库根目录
      AuthType Basic
      AuthName "Subversion repository"   (此处字符串内容修改为提示对话框标题)
    AuthUserFile /home/nuptsoft/passwd    ( 此处修改为访问版本库用户的文件,用 apache   htpasswd 命令生成 )
      AuthzSVNAccessFile /home/nuptsoft/auth  (此处修改为访问版本库权限的文件)
      Require valid-user
  </Location>
)建立版本库
   先创建版本根目录
  # mkdir  -p  /home/nuptsoft/subversion_project
  /usr/local/subversion/bin/svnadmin create /subversion/project/test
   更改版本库权限,这样通过 apache 服务访问 svn 的客户就有权限来编辑版本库文件
  chown –R apache:apache  /home/nuptsoft/subversion_project/test
   进入到版本库  test 中执行 ls
  # cd  /home/nuptsoft/subversion_project/test
  # ls   后看到以下文件夹及文件,则表示建库成功
conf  dav  db  format  hooks  locks  README.txt
 
7 )  建立访问库用户文件
# /usr/local/apache2/bin/htpasswd –cm /home/nuptsoft/passwd king (第一次添加用户需先创建文件,所以有参数 -c ,以后添加用户可以不用添加参数 -c
按照提示输入密码
)建立访问库权限文件
# vi /home/nuptsoft/auth
内容按照以下格式
[groups]
Tester=test,king
Developer=king
[test:/]
@Tester = rw
king= rw
9)  浏览器 + 权限   访问版本库
重起 apache
在浏览器中输入 http://servername/svn/test servername 为你的服务器的 ip
输入拥有访问权限的用户名,密码登陆,