待全面验证:

准备安装环境


  1. yum -y install gcc* openssl-devel expat-devel openssl openssl-devel libxml2-devel glibc-common gd-devel

下载源码包


  1. wget http://subversion.tigris.org/downloads/subversion-1.6.20.tar.gz;  

  2. wget http://subversion.tigris.org/downloads/subversion-deps-1.6.20.tar.gz;  

  3. wget http://mirror.bjtu.edu.cn/apache/httpd/httpd-2.2.23.tar.gz;  

  4. wget http://archive.apache.org/dist/apr/apr-1.4.6.tar.gz

  5. wget http://archive.apache.org/dist/apr/apr-util-1.5.1.tar.gz

安装apr


  1. tar zxvf apr-1.4.6.tar.gz  

  2. cd apr-1.4.6  

  3. ./configure --prefix=/usr/local/apr  

  4. make  

  5. make install

如果在编译中出现如下报错


  1. /bin/rm: cannot remove `libtoolT': No such file or directory  编辑文件:vim configure--->将 RM='$RM'修改为 RM='$RM -f'即可。

安装apr-util


  1. tar zxvf apr-util-1.5.1.tar.gz  

  2. cd apr-util-1.5.1  

  3. ./configure --with-apr=/usr/local/apr  

  4. make  

  5. make install

安装apache


  1. tar zxvf httpd-2.2.23.tar.gz  

  2. cd httpd-2.2.23  

  3. ./configure --prefix=/usr/local/apache --enable-dav --enable-so --enable-maintainer-mode --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config  

  4. make  

  5. make install

安装SVN


  1. tar zxvf subversion-1.6.20.tar.gz  

  2. tar zxvf subversion-deps-1.6.20.tar.gz(subversion-deps中的目录和文件会自动解压到subversion-1.6.20目录下,所以就不用费心再去找subversion-deps-1.6.20这个目录了)  

  3. ./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr  

  4. make  

  5. make install

查看配置文件/usr/local/apache/conf/httpd.conf,编译完整后会自动增加如下两行

话说Linux下源码安装Apache+SVN_Linux

查看SVN需要的模块

话说Linux下源码安装Apache+SVN_安装Apache+SVN_02

定义Apache访问SVN配置信息,在/usr/local/apache/conf/httpd.conf中任意位置添加如下内容:


  1. #SVN Configuration  

  2. <Location /svn>

  3. DAV svn  

  4. SVNParentPath /svn/repos  (SVN服务器的根目录路径)

  5. AuthType Basic  

  6. AuthName "Subversion repository"  

  7. AuthUserFile /svn/repos/svnpasswd  (SVN服务器的本地访问控制文件路径)

  8. AuthzSVNAccessFile /svn/repos/svnaccessfile  (SVN服务器的项目控制文件路径)

  9. Require valid-user  

  10. </Location>

定义Apache的服务器名称,即在/usr/local/apache/conf/httpd.conf中任意位置添加如下内容:


  1. ServerName node.mydomain.com:80  

接着配置SVN服务器,主要内容包括创建SVN服务器的根目录路径以及生成上面所配置的用户管理文件和访问权限文件。

创建SVN服务器的根目录


  1. mkdir -p /svn/repos/project  


  2. chown daemon.apache /svn/repos/project  


  3. chmod 755 /svn/repos/project

创建本地访问控制文件,添加用户admin的用户名和密码,需要输入两次密码确认


  1. /usr/local/apache/bin/htpasswd -cm /svn/repos/svnpasswd admin

  2. (第一次创建本地访问控制文件时需要加 -c 参数,表示创建该文件,之后不再加该参数,-m MD5加密方式)

创建本地项目控制文件,添加访问项目的用户组、用户以及访问权限,因为上面仅添加了admin用户,所以这里只添加amdin用户组的访问权限,内容如下:


  1. #vim /svn/repos/svnaccessfile  

  2. [/]  

  3. admin = rw

  4. * = r  

创建一个新的代码库repos


  1. /usr/local/svn/bin/svnadmin create /svn/repos/project/

启动svn服务器


  1. /usr/local/svn/bin/svnserve -d -r /svn/repos/

  2. 如果出现apache的error_log出现Can't open file '/svn/repos/project/db/txn-current-lock': Permission denied  [500, #13]

  3. 修改如下权限

  4. chmod 777 project/db

  5. chown -R daemon.apache project/db

启动apache服务器


  1. /usr/local/apache/bin/apachectl start

网页测试,浏览器访问url输入用户名密码

话说Linux下源码安装Apache+SVN_Linux_03

初次建立是Revision 0,我这里之前更新过版本了

话说Linux下源码安装Apache+SVN_Linux_04

安装TortoiseSVN测试

话说Linux下源码安装Apache+SVN_Linux_05

话说Linux下源码安装Apache+SVN_Linux_06

测试成功!