Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

Apache 的安装无外乎两种方式:源代码安装和二进制包安装。这两种安装类型各有特色,二进制包安装不需要编译,而源代码安装则需要先配置编译再安装,二进制包安装在一个固定的位置下,选择固定的模块,而源代码安装则可以让你选择安装路径,选择你想要的模块。本文主要介绍源代码安装。

系统环境:Red Hat Enterprise Linux 6.5        主要配置文件:httpd.conf

获取源代码包    httpd-2.4.23.tar.bz2      apr-1.5.2.tar.gz     apr-util-1.5.4.tar.gz

安装之前需要将以上三个源代码包导入Linux系统内

Apache服务源码安装开始

root@localhost ~]#tar xzvf apr-1.5.2.tar.gz -C /opt/

[root@localhost ~]#tar xzvf apr-util-1.5.4.tar.gz -C /opt/
[root@localhost ~]#tar xjvf httpd-2.4.23.tar.bz2 -C /opt/                                   //将源码包解压

[root@localhost ~]#cd /opt/                                                                                 //切换到源码包解压目录

[root@localhost opt]#cp -r apr-1.5.2/ httpd-2.4.23/srclib/apr
[root@localhost opt]#cp -r apr-util-1.5.4/ httpd-2.4.23/srclib/apr-util              //将apr源码注入httpd-2.4.23/srclib/apr目录中

[root@localhost opt]# mount /dev/cdrom /mnt/                                                 //挂载光盘搭建yum仓库

[root@localhost opt]# vi /etc/yum.repos.d/rhel-source.repo                           //通过vi编辑器编辑yum仓库源

[rhel-source]

name=Red Hat Enterprise Linux $releasever – $basearch – Source
baseurl=file:///mnt
enabled=1
gpgcheck=0                                                                                                         //编辑完毕wq保存退出编辑

[root@localhost opt]#cd /mnt                                                                             //搭建yum仓库优化编译语言

[root@localhost mnt]# yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel

[root@localhost mnt]# cd /opt/httpd-2.4.23/

[root@localhost httpd-2.4.23]#./configure \                                                     //整合编译源码
–prefix=/usr/local/apache \
–enable-so \
–enable-rewrite \
–enable-mods-shared=most \
–with-mpm=worker \
–disable-cgid \
–disable-cgi

[root@localhost httpd-2.4.23]# yum remove httpd                                        //编译安装之前将系统本身自带的web服务器卸载

[root@localhost httpd-2.4.23]# make                                                             //编译

[root@localhost httpd-2.4.23]# make install                                                  //编译安装

[root@localhost httpd-2.4.23]# ln -s /usr/local/apache/bin/* /usr/local/bin/                                              //建立软链接

[root@localhost httpd-2.4.23]# grep -v “#” /usr/local/apache/bin/apachectl > /etc/init.d/httpd              //以apachectl脚本为模板生成Apache服务控制脚本

[root@localhost httpd-2.4.23]#vi /etc/init.d/httpd

在文件最前面插入下面的行,使其支持chkconfig命令:
#!/bin/sh
# chkconfig: 2345 85 15
# description: Apache is a World Wide Web server.                                     //编辑完成wq保存退出编辑

 

[root@localhost httpd-2.4.23]# chmod +x /etc/init.d/httpd

[root@localhost httpd-2.4.23]# chkconfig –add httpd                                     //将httpd加入services管理器

[root@localhost httpd-2.4.23]# vi /usr/local/apache/conf/httpd.conf              //编辑Apache主配置文件

只需修改下面这两行配置

ServerName  localhost.localdomain                                                                //设置成hostname显示的名称

Listen 192.168.10.20:80                                                                                //192.168.10.20为服务器ip地址

[root@localhost httpd-2.4.23]#service httpd start                                           //启动服务

查看httpd的80端口是否处于监听状态,如果没有处于监听状态,就是Linux防火墙的原因,可以清除防火墙规则重新启动服务即可

[root@localhost httpd-2.4.23]# netstat -antp | grep httpd

[root@localhost httpd-2.4.23]#service iptables stop

[root@localhost httpd-2.4.23]#service httpd restart