您的位置:首页 > 运维架构 > Apache

Linux下源码安装Apache+SVN详解

2013-04-01 21:13 351 查看

准备安装环境

  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,编译完整后会自动增加如下两行

查看SVN需要的模块

定义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输入用户名密码

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

安装TortoiseSVN测试

测试成功!

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: