注意:subversion,apache的版本要对应起来,不然架设不起来。 
安装需要的软件包:
  Apr    APR-1.2.12APR-util-1.2.12
  Apache httpd-2.2.6.tar.gz
  Subversionsubversion-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.12APR-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文件,并安装
  #  makemake  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版本要正确。如果Apache2.0.x,对应的APR版本应为0.9.xApache2.2.x,对应的APR版本应为1.2.x 由于subversion-deps包里的APR0.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)编译安装
  # makemake 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/testservername为你的服务器的ip
输入拥有访问权限的用户名,密码登陆,