(一)办理apache安装依赖包 apr、apr-util、pcre。APR(Apache portable Run-time libraries,Apache可移植运行库),紧张为上层的运用程序供应一个可以超过多操作系统平台利用的底层支持接口库。完全的APR实际上包含了三个开拓包:apr、apr-util以及apr-iconv
apr中包含了一些通用的开拓组件,包括mmap,DSO等等
apr-util该目录中也是包含了一些常用的开拓组件。这些组件与apr目录下的比较,它们与apache的关系更加密切一些。比如存储段和存储段组,加密等等。apr-iconv包中的文件紧张用于实现iconv编码。目前的大部分编码转换过程都是与本地编码干系的。在进行转换之前必须能够精确地设置本地编码。

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。PCRE编译安装之后,以一个lib库的办法供应给用户程序进行利用,PCRE lib 供应了一组API,通过这一组API可以实现类似于Perl语法的正则表达式查找和匹配的功能。
libtool 是一个通用库支持脚本,将利用动态库的繁芜性隐蔽在统一、可移植的接口中,也便是说,你可以在不同平台上创建并调用动态库,我们可以认为libtool是gcc的一个抽象,它包装了gcc或者其他的任何编译器,用户无需知道细节,只要见告libtool说我须要要编译哪些库即可,并且,它只与libtool文件打交道,例如lo、la为后缀的文件。
OpenSSL是一个SSL协议的开源实现,采取C措辞作为开拓措辞,具备了跨平台的能力,支持Unix/Linux、Windows、Mac OS等多种平台。密码算法库、SSL协议库、运用程序
下载源:
扩展库Apr、Apr-Util: http://apr.apache.org
扩展库Pcre:http://www.pcre.org
先装gcc和make
yum -y install gcc
yum -y install make
yum -y install gcc-c++ 没有这个gcc-c++一会编译不prce
yum -y install expat-devel 这个不装apr-util无法利用make
yum install pcre-devel -y
1.apr的安装
先安装:yum install automake autoconf libtool
cd apr
./configure --prefix=/usr/local/apr
make
make install
2.apr-util的安装
cd apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make
make install
3.pcre的安装
cd /pcre
./configure --prefix=/usr/local/pcre
make
make install
坑1:缺libtool
apt-get install libtool
坑2:缺expat
yum install expat-devel expat
坑3:yum install perl
不安装apxs在PHP编译时无法利用。
坑4:安装apr报错rm: cannot remove `libtoolT': No such file
删除configure中这一行$RM “$cfgfile”
yum –y install openssl openssl-
源码安装openssl
./config --prefix=/usr/local/openssl --openssldir=/usr/local/ssl shared
–prefix:指定安装目录
–openssldir:指定openssl配置文件路径
–shared:创建动态链接库
(二)安装Apache
./configure --prefix=/usr/local/apache --with-pcre=/usr/local/apache/pcre/bin --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-ssl=/usr/local/openssl --enable-rewrite --enable-so --enable-mods-shared=all
或者
./configure --prefix=/usr/local/apache --with-pcre=/usr/local/pcre/bin/pcre2-config --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-ssl=/usr/local/openssl --enable-rewrite --enable-so --enable-mods-shared=all
阐明:
--enable-so:支持动态共享模块,如果支持php将不能与apache一起事情。必须要有
--enable-ssl:启用ssl功能,如果不启用将无法利用https
--enable-mpms-shared=all:prefork、worker、event
--with-mpm=event:event为默认
--enable-rewrite:支持URL重写
--enable-cgi :支持cgi
--enable-cgid:httpd利用event或者worker得启用被线程办法访问
--enable-modules=most :启用大多数模块
--enable-mods-shared=most:启用大多数共享模块
实例编译:
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
--with-ssl=/usr/local/openssl --enable-rewrite --enable-so --enable-mods-shared=all --enable-ssl --enable-mpms-shared=all --enable-cgi
坑1:--with-pcre=/usr/local//pcre报错,改为--with-pcre=/usr/local/apache/pcre/bin通过
--with-pcre=/usr/app/apache/pcre/bin(pcre-config所在位置)
添加自启动
1、授予脚本可实行权限(/usr/local/apache/bin/apachectl是你的脚本路径)
chmod +x /usr/local/apache/bin/apachectl
2、打开/etc/rc.d/rc.local文件,在末端增加如下内容
/usr/local/apache/bin/apachectl start
3、在centos7中,/etc/rc.d/rc.local的权限被降落了,以是须要实行如下命令授予其可实行权限
chmod +x /etc/rc.d/rc.local