Apache安装

Apache是一个基金会的名字,httpd才是我们要安装的软件包,早期它的名字就叫apache

Apache官网www.apache.org 
#cd /usr/local/src                                   //进入src目录

#wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.27.tar.gz 
#wget http://mirrors.hust.edu.cn/apache/apr/apr-1.6.2.tar.gz 
#wget http://mirrors.hust.edu.cn/apache/apr/apr-util-1.6.0.tar.gz 

apr和apr-util是一个通用的函数库,它让httpd可以不关心底层的操作系统平台,可以很方便地移植(从linux移植到windows)

#tar -zxvf httpd-2.4.27.tar.gz 
#tar -zxvf apr-util-1.6.0.tar.gz                                 //解压缩解包文件
#tar -zxvf apr-1.6.2.tar.gz

#cd /usr/local/src/apr-1.6.2                                   //进入当前目录

#./configure --prefix=/usr/local/apr                    //定义安装目录

#make &&make install

#cd /usr/local/src/apr-util-1.6.0                                   //进入apr-util目录

#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr        //定义安装目录

#make &&make install
[root@localhost apr-util-1.6.0]# make && make install
make[1]: 进入目录“/usr/local/src/apr-util-1.6.0”
/bin/sh /usr/local/apr/build-1/libtool --silent --mode=compile gcc -g -O2 -pthread   -DHAVE_CONFIG_H  -DLINUX -D_REENTRANT -D_GNU_SOURCE   -I/usr/local/src/apr-util-1.6.0/include -I/usr/local/src/apr-util-1.6.0/include/private  -I/usr/local/apr/include/apr-1    -o xml/apr_xml.lo -c xml/apr_xml.c && touch xml/apr_xml.lo
xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录
#include 
出现这种问题是缺少expat-devel安装包,yum install -y expat-devel

#cd /usr/local/src/httpd-2.4.27         //进入httpd-2.4.27目录

#./configure \   //这里的反斜杠是脱义字符,加上它我们可以把一行命令写成多行
--prefix=/usr/local/apache2.4 \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr-util \
--enable-so \                                                 //支持动态扩展模
--enable-mods-shared=most                      //指定支持哪些动态模块

checking for pcre-config... false
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/        
出现此种错误后,是缺少pcre包,yum list |grep pcre  -->yum list -y pcre-devel

#make 
make[2]: *** [htpasswd] 错误 1 make[2]: 离开目录“/usr/local/src/httpd-2.4.27/support”
 make[1]: *** [all-re
出现这种原因是因为apr,apr-util缺失,只需要把/usr/local/src下的apr和apr-util拷贝到./srclib下
#cd /usr/local/src/
#cp -r apr-1.6.2  /usr/local/src/httpd-2.4.27/srclib/apr
#cp -r apr-util-1.6.0  /usr/local/src/httpd-2.4.27/srclib/apr-util
#./configure --with-included-apr --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
#make &&make install

#ls /usr/local/apache2.4
[root@localhost apache2.4]# ls
bin    cgi-bin  error   icons    lib   man     modules
build  conf     htdocs  include  logs  manual

bin/:可执行文件,下面有个httpd文件,是核心的二进制文件
conf/:配置文件所在的目录
htdocs:默认网页存放
logs:日志

#ls /usr/local/apache2.4/modules

#/usr/local/apache2.4/bin/httpd -M //查看加载的模块
  /usr/local/apache2.4/bin/apachectl 是一个shell脚本,默认调用httpd

#/usr/local/apache2.4/bin/apachectl  start      //启动apache