当前位置: > Linux服务器 > apache >

CentOS6.4中源码安装Apache-2.2.29

时间:2014-09-27 23:52来源:linux.it.net.cn 作者:it
  1. /** 
  2.  * CentOS-6.4-minimal版中源码安装Apache-2.2.29 
  3.  * ---------------------------------------------------------------------------------------------------------------------- 
  4.  * 源码安装软件时常见的三个步骤 
  5.  * 1)配置环境:通常命令为./configure --prefix=DIR(即指定软件安装目录),如果还想启用其它功能,可在后面接着添加指令 
  6.  *           比如下面的--enable-ssl用于启用Apache的SSL模块 
  7.  *           若不想使用操作系统缺省的SSL库,还可通过--with-ssl=DIR指定自己编译的SSL库 
  8.  * 2)编译源码:通常命令为make 
  9.  * 3)安装应用:通常命令为make install 
  10.  * ---------------------------------------------------------------------------------------------------------------------- 
  11.  * 注意事项 
  12.  * 1)httpd-2.2.29目录下的configure工具是GNU软件基金会推出的专门用于源码发布的工具 
  13.  * 2)配置环境时若出现这个错误[configure: error: no acceptable C compiler found in $PATH],是说明缺少GCC编译环境 
  14.  *   这时执行[yum -y install gcc]命令安装编译源码所需的工具和库就可以了 
  15.  * 3)执行yum命令时若出现这个错误[Error: database disk image is malformed],是说明yum的缓存出错,需要清理缓存 
  16.  *   这时执行[yum clean dbcache]命令即可 
  17.  * 4)配置环境时configure的主要工作就是生成Makefile,编译源码时的make命令就是根据Makefile来进行编译的 
  18.  * 5)最好以root安装和启动Apache,以root运行之后,apache就会把它的派生进程切换到非root用户 
  19.  * ---------------------------------------------------------------------------------------------------------------------- 
  20.  * 安装Perl5 
  21.  * [root@CentOS64 software]# yum -y install wget 
  22.  * [root@CentOS64 software]# wget http://www.cpan.org/src/5.0/perl-5.20.1.tar.gz 
  23.  * [root@CentOS64 software]# tar zxvf perl-5.20.1.tar.gz 
  24.  * [root@CentOS64 software]# cd perl-5.20.1 
  25.  * [root@CentOS64 perl-5.20.1]# ./Configure -des -Dprefix=/app/perl 
  26.  * [root@CentOS64 perl-5.20.1]# make 
  27.  * [root@CentOS64 perl-5.20.1]# make install 
  28.  * [root@CentOS64 perl-5.20.1]# perl -v 
  29.  * ---------------------------------------------------------------------------------------------------------------------- 
  30.  * 安装OpenSSL 
  31.  * [root@CentOS64 software]# tar zxvf openssl-1.0.1i.tar.gz 
  32.  * [root@CentOS64 software]# cd openssl-1.0.1i 
  33.  * [root@CentOS64 openssl-1.0.1i]# ./config --prefix=/app/openssl 
  34.  * [root@CentOS64 openssl-1.0.1i]# make 
  35.  * [root@CentOS64 openssl-1.0.1i]# make install 
  36.  * [root@CentOS64 openssl-1.0.1i]# /app/openssl/bin/openssl version 
  37.  * ---------------------------------------------------------------------------------------------------------------------- 
  38.  * 安装Apache 
  39.  * [root@CentOS64 software]# tar zxvf httpd-2.2.29.tar.gz 
  40.  * [root@CentOS64 software]# cd httpd-2.2.29 
  41.  * [root@CentOS64 httpd-2.2.29]# rpm -qa | grep http 
  42.  * [root@CentOS64 httpd-2.2.29]# ./configure --prefix=/app/apache --enable-ssl --with-ssl=/app/openssl 
  43.  * [root@CentOS64 httpd-2.2.29]# make 
  44.  * [root@CentOS64 httpd-2.2.29]# make install 
  45.  * ---------------------------------------------------------------------------------------------------------------------- 
  46.  * Apache的目录结构 
  47.  * bin------可执行文件(其实apache的可执行文件就一个:httpd,它就是apache的主程序) 
  48.  *          使用[/app/apache/bin/httpd -l]命令可以查看apache编译了多少模块,即列出它支持的所有模块 
  49.  *          如果其中包含[mod_so.c],则说明apache具备了动态加载模块的功能 
  50.  *          比如说想新增加一个模块,那么就不用再编译一次apache了,只要编译一下这个模块,再在配置文件里面load进去就行了 
  51.  * conf-----配置文件(apache只有一个配置文件) 
  52.  * htdocs---缺省的网站根目录(即启动apache后,别人访问apache时,实际访问的就是该目录里面的东西) 
  53.  * include--头文件 
  54.  * logs-----日志 
  55.  * man------手册 
  56.  * manual---联机文档 
  57.  * modules--存放一些编译好的模块,供apache启动时动态加载 
  58.  * ---------------------------------------------------------------------------------------------------------------------- 
  59.  * 访问Apache 
  60.  * 由于/app/apache/bin/目录下的apache主程序httpd支持很多参数,容易搞混 
  61.  * 为了方便用户,apache提供了一个名为apachectl的启动脚本,它也是位于/app/apache/bin/目录下的,通过[vi apachectl]就可以看到脚本内容 
  62.  * 启动apache时,在apache2.0版本中,若想启动支持SSL的apache,则需执行[apachectl startssl]命令 
  63.  * 而在2.2中,直接执行[apachectl start]即可启动并支持SSL.当然前提是在httpd.conf中配置[Include conf/extra/httpd-ssl.conf] 
  64.  * [root@CentOS64 bin]# /app/apache/bin/apachectl start 
  65.  * [root@CentOS64 bin]# /app/apache/bin/apachectl restart 
  66.  * [root@CentOS64 bin]# /app/apache/bin/apachectl stop 
  67.  * ---------------------------------------------------------------------------------------------------------------------- 
  68.  * Apache安装并初次启动后,常见的修改参数 
  69.  * 1)启动或重启apache时,控制台会打印下面的信息 
  70.  *   httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.0.103 for ServerName 
  71.  *   解决办法是修改/app/apache/conf/httpd.conf文件,取消注释[#ServerName www.example.com:80],再重启apache就看到效果了 
  72.  * 2)apache启动后通过电脑访问http://192.168.0.102/,发现无法访问(成功访问时页面会显示"It works!") 
  73.  *   解决办法是修改/etc/sysconfig/iptables文件,增加一行[-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT] 
  74.  *   注意这一样要添加到默认的22端口规则的下面,若添加到iptables文件的尾部,会有可能导致防火墙启动失败 
  75.  *   接着再执行[service iptables restart]命令重启防火墙即可,不需要重启Linux 
  76.  *   详细说明见http://blog.csdn.net/jadyer/article/details/11324237 
  77.  * 3)当/app/apache/htdocs/中默认的index.html不存在时,访问apache会显示htdocs目录下的文件列表,我们可以设置其不显示文件列表 
  78.  *   解决办法是修改/app/apache/conf/httpd.conf文件,注释掉[Options Indexes FollowSymLinks]这一行即可 
  79.  *   然后再访问http://192.168.0.102/,就会看到熟悉的"Forbidden:You don't have permission to access / on this server." 
  80.  * 4)如果想把apache加入系统自启动,常见的方法有两种:修改配置文件和将apache注册为系统服务(还有一种是在ntsysv命令调出的图形界面中操作的) 
  81.  *   修改配置文件的方式最简单,在/etc/rc.d/rc.local文件尾部加入[/app/apache/bin/apachectl start]即可 
  82.  * ---------------------------------------------------------------------------------------------------------------------- 
  83.  * @create Sep 26, 2014 9:14:43 AM 
  84.  * @author 玄玉<http://blog.csdn.net/jadyer> 
  85.  */
(责任编辑:IT)
------分隔线----------------------------