Apache HTTP Server(简称Apache),是Apache软件基金会的一个开放源代码的网页服务器,可以在大多数电脑操作系统中运行,由于其具有的跨平台性和安全性,被广泛使用,是最流行的Web服务器端软件之一。
Apache、Nginx和Lighttpd,是当前主流的三大Web服务器。
本文主要介绍在Linux环境下用源码安装Apache服务器的步骤。
演示环境:CentOS6.5 + httpd-2.4.29
1. 安装前准备环境
1.1 安装编译Apache所需的相关软件包。
[root@ecs-6cf5src]# yum -y install gcc gcc++ zlib zlib-devel
1.2 卸载系统自带的Apache服务(如果操作系统是最小化安装,则忽略此步骤)。
[root@ecs-6cf5 src]#rpm -qa |grep httpd
[root@ecs-6cf5 src]#rpm -e -- nodepshttpd-2.2.15-29.el6.centos.x86_64
[root@ecs-6cf5src]#rpm -e --nodeps httpd-tools-2.2.15-29.el6.centos.x86_64
2. 下载解压源码包
2.1 源码包下载
[root@ecs-6cf5 ~]# cd /usr/local/src/
[root@ecs-6cf5 src]# wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.29.tar.gz
2.1 解压
[root@ecs-6cf5 src]# tar -xvf httpd-2.4.29.tar.gz
3. 安装Apache
3.1 配置源码
[root@ecs-6cf5 src]#./configure--prefix=/usr/local/apache2 --enable-rewrite --enable-so --enable-headers--enable-expires --with-mpm=worker --enable- modules=most --enable-deflate
配置过程中的错误处理:
(1)APR not found错误
如果在配置这一步遇到报APR not found的错误,则按如下步骤安装APR后重新配置。
[root@ecs-6cf5 httpd-2.4.29]# wget http://mirror.bit.edu.cn/apache/apr/apr-1.6.3.tar.gz
[root@ecs-6cf5 httpd-2.4.29]# tar -xvfapr-1.6.3.tar.gz
[root@ecs-6cf5 httpd-2.4.29]# cdapr-1.6.3
[root@ecs-6cf5 httpd-2.4.29]#./configure --prefix=/usr/local/apr
[root@ecs-6cf5 httpd-2.4.29]# make&& make install
指定刚刚安装的apr路径,再次执行配置的命令:
[root@ecs-6cf5 src]# ./configure--prefix=/usr/local/apache2 --enable-rewrite --enable-so --enable-headers--enable-expires --with-mpm=worker --enable-modules=most --enable-deflate --with-apr=/usr/local/apr
(2)APR-util not found错误
如果遇到报APR-util not found的错误,则按如下步骤安装APR-util
[root@ecs-6cf5 src]# wgethttp://mirror.bit.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
[root@ecs-6cf5 src]# tar -xvfapr-util-1.6.1.tar.gz
[root@ecs-6cf5 src]# ./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config--enable-utf8
[root@ecs-6cf5 src]# make && makeinstall
如果在编译中报xml/apr_xml.c:35:19:error: expat.h: No such file or directory的错误,则指定以下命令安装expat-devel包
yum install expat-devel
指定安装的APR和APR-util路径,再次执行配置的命令
[root@ecs-6cf5 src]# ./configure--prefix=/usr/local/apache2 --enable-rewrite --enable-so --enable-headers--enable-expires --with-mpm=worker --enable-modules=most --enable-deflate --with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util/
(3)pcre错误
如果遇到报pcre的错误,则按如下步骤安装pcre:
[root@ecs-6cf5 src] wgethttps://ftp.pcre.org/pub/pcre/pcre-8.00.tar.gz
[root@ecs-6cf5 src] tar -xvfpcre-8.00.tar.gz
[root@ecs-6cf5 src] cd pcre-8.00
[root@ecs-6cf5 src] ./configure--prefix=/usr/local/pcre
[root@ecs-6cf5 src] make && make install
指定安装的APR、APR-util和pcre路径,再次执行配置的命令,到这里一般都会配置成功。
[root@ecs-6cf5 src]# ./configure--prefix=/usr/local/apache2 --enable-rewrite --enable-so --enable-headers--enable-expires --with-mpm=worker --enable-modules=most --enable-deflate --with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre
3.2 编译并安装Apache
[root@ecs-6cf5 src] make && make install
4. 启动Apache服务
复制启动脚本到/etc/init.d/下
[root@ecs-6cf5 src]# cp/usr/local/apache2/bin/apachectl /etc/init.d/httpd
[root@ecs-6cf5 src]# /etc/init.d/httpdstart
如果在启动时报AH00558错误,修改/usr/local/apache2/conf/httpd.conf文件,把ServerName配置成ServerName localhost:80,然后再次启动成功
查看80端口是否正常监听,查询到80端口正常监听表明Apache服务器运行正常。
[root@ecs-6cf5 src]# netstat -antp |grep :80
至此,Apache服务器安装完成。
关注公众号,了解更多测试技术
领取专属 10元无门槛券
私享最新 技术干货