一、下载安装包

wget http://mirror.bjtu.edu.cn/apache/httpd/httpd-2.4.4.tar.bz2  //apache2.4.4

wget http://mirror.bjtu.edu.cn/apache/apr/apr-1.4.6.tar.bz2  //apr

wget http://mirror.bjtu.edu.cn/apache/apr/apr-util-1.5.1.tar.bz2  //apr-util

wget http://sourceforge.net/projects/pcre/files/pcre/8.32/pcre-8.32.tar.bz2/download  //pcre

APR(Apache portable Run-time libraries,Apache可移植运行库)主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库

PCRE用于提供编译环境的函数库

其实apache有APR绑定的安装包,我没用

 

二、准备安装环境

解包

tar -jxvf apr-util-1.5.1.tar.bz2
tar -jxvf apr-1.4.6.tar.bz2
tar -jxvf httpd-2.4.4.tar.bz2
tar -zxvf pcre-8.32.tar.gz

1.安装C++

yum  install gcc-c++  //安装C++编译环境

2.安装 APR

cd apr-1.4.6/

./configure –prefix=/usr/local/apr-1.4.6  //配置

make    //编译

make test    //测试

make install    //安装

3.安装APR-UTIL

cd ../apr-util-1.5.1/

./configure –prefix=/usr/local/apr-util-1.5.1

./configure –prefix=/usr/local/apr-util-1.5.1 –with-apr=/usr/local/apr-1.4.6/

make

make test

make install

4.安装 PCRE

cd ../pcre-8.32/

./configure

make

make check

make install

5.安装apache

cd ../httpd-2.4.4/

./configure –prefix=/usr/local/apache –enable-mods-shared=all –with-apr=/usr/local/apr-1.4.6/ –with-apr-util=/usr/local/apr-util-1.5.1/    //–prefix指定安装路径,–enable-mods-shared启用所有支持的动态加载模块,–with-apr指定APR路径,–with-apr-util指定APR-util路径

make

make install

/usr/local/apache/bin/apachectl start    //启动apache

 

三、注册apache为系统服务

cp  /usr/local/apache/apachectl /etc/init.d/httpd    //把apache启动脚本复制到系统脚本目录下

vi  /etc/init.d/httpd在第一行下插入# chkconfig: 2345 85 35    //修改脚本用于在运行界别2345下自启动,并指定启动脚本序号为85,关闭脚本序号为35

chkconfig –add httpd    //注册为自启动服务

四、修改防火墙设置

vi /etc/sysconfig/iptables  //编辑iptables配置文件

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT    //在适当位置插入

service iptables restart    //重启防火墙服务

 

 

默认安装在/usr/sbin/下,执行apachectl start时候,提示如下错误:

httpd: apr_sockaddr_info_get() failed for shiwei
httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName

于是上网查了一下,根据前人的经验,问题终于解决了。总结一下,方便以后使用。

原因:这个问题应该是没有在 /etc/httpd/conf/httpd.conf 中设定 ServerName。所以apache会用主机上的名称来取代,首先会去找 /etc/hosts 中有没有主机的定义。

解决办法:

(1)可以设定httpd.conf文件中的 ServerName,如下:ServerName localhost:80                        

(2)在 /etc/hosts 中填入自己的主机名称 bogon,如下:127.0.0.1 shiwei (用户名称)

评论已经关闭。