CentOS6中使用源代码编译Apache HTTP Server

一、配置编译环境

实验环境:

操作系统:CentOS6.8

Apache HTTP Server版本:2.2.32

GCC版本:4.4.7

试验机IP:192.168.235.132

安装相关软件包:

从源代码编译需要安装开发环境,执行:

yum -y groupinstall "Development tools"

二、下载源代码

从Apache官方网站下载源代码,执行如下命令:

wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.2.32.tar.gz

解压源代码,执行如下命令:

tar -xvf httpd-2.2.32.tar.gz

三、编译Apache HTTP Server

执行如下命令:

cd cd httpd-2.2.32/ //进入源代码目录 
./configure --prefix=/usr/local/httpd2 --enable-so --enable-rewrite --enable-charset-lite --enable-cgi //配置编译时的一些功能选项 
#--prefix 修改安装目录位置 
#--enable-so 开启动态加载模块支持 
#--enable-rewrite 开始rewrite支持 
#--enable-charset-lite 启动字符集支持 
#--enable-cgi 启动CGI脚本支持 
make //开始编译 
make install //编译完成安装

如果一切顺利,Apache HTTP Server会被安装到/usr/local/httpd2目录。

四、执行优化并安装HTTPD服务

与使用rpm或yum安装不同,从源代码安装并不会默认安装HTTPD服务脚本,我们需要对安装好的httpd软件进行一些设置使得我们能够使用chkconfig管理HTTPD服务。

配置过程如下:

ln -s /usr/local/httpd2/bin/* /usr/local/bin/ //为安装的可执行文件设置软连接,使得通过PATH变量可以直接调用 
cp /usr/local/httpd2/bin/apachectl /etc/init.d/httpd //移动服务脚本到init.d目录

默认的apachectl脚本中并不含有chkconfig控制选项,所以我们需要修改它以使得我们可以用chkconfig安装和管理服务。

使用编辑器打开/etc/init.d/httpd文件,并在第二行加入:

#chkconfig: 35 85 15

以上语句表示使用chkconfig管理服务,后面的三个数字分别是:运行级别、启动顺序、关闭顺序。

至此,我们就可以使用chkconfig管理httpd服务。

chkconfig --add httpd 
chkconfig --list httpd

可以看到:

httpd 0:off 1:off 2:off 3:on 4:off 5:on 6:off

启动服务:

service httpd start

检查服务运行状态:

netstat -anpt | grep 80

如果一切顺利,我们会看到httpd服务运行,监听在tcp的80端口。

打开浏览器,在地址栏中输入http://http://192.168.235.132/

会看到下图,证明服务启动成功!

上一篇
下一篇