Linux(centos发行版)Apache编译安装

需要安装的依赖软件包

1、apr            Apache可移植运行库,下载地址:http://mirror.bit.edu.cn/apache/apr

2、apr-util      下载地址:http://mirror.bit.edu.cn/apache/apr

3、pcre         支持正则,下载地址:https://ftp.pcre.org/pub/pcre/

4、openssl    下载地址:https://www.openssl.org/source/old/1.1.1/

5、zlib            下载地址:http://www.zlib.net/fossils/

参考Apache官方文档安装指南:http://httpd.apache.org/docs/2.4/install.html

解压

下载apache软件包,下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/

# mkdir /opt/packages
# mkdir /opt/softwares
# mkdir /opt/softwares/src

# tar xfz httpd-2.4.48.tar.gz -C /opt/softwares/src # tar xfz pcre-8.44.tar.gz -C /opt/softwares/src
# tar xfz apr-1.7.0.tar.gz -C /opt/softwares/src/
# tar xfz apr-util-1.6.1.tar.gz -C /opt/softwares/src/

安装过程

1、安装pcre

# cd /opt/softwares/src/pcre-8.44/

# ./configure --prefix=/opt/softwares/pcre-8.44

# make && make install

2、安装zlib

# cd /opt/softwares/src/zlib-1.2.11/

# ./configure --prefix=/opt/softwares/zlib

# make && make install

3、安装openssl

# cd /opt/softwares/src/openssl-1.1.1j/

# ./config -fPIC --prefix=/opt/softwares/openssl enable-shared

# make && make install

安装后备份之前版本的openssl,调整动态库路径

# which openssl
/usr/bin/openssl

### 备份

# mv  /usr/bin/openssl{,.old}
# mv /etc/ssl{,.bak} #删除配置文件

修改openssl的库文件路径

# echo "/opt/softwares/openssl/lib" >> /etc/ld.so.conf

# ldconfig -v              # 使配置生效

设置openssl命令的软链接,并验证

# ln -s /opt/softwares/openssl/bin/openssl /usr/local/bin/openssl

# openssl version -a
OpenSSL 1.1.1j  16 Feb 2021

4、安装httpd

将apr-和apr 移动到下,并去掉版本号

# cd /opt/softwares/src/httpd-2.4.48/

# ./configure --prefix=/opt/softwares/http-2.4.48 --enable-so --enable-so --enable-ssl --with-ssl=/opt/softwares/openssl --enable-cgi --enable-modules=most --enable-mods-shared=most --enable-mpms-shared=all --with-mpm=event --with-pcre=/opt/softwares/pcre-8.44 --with-zlib=/opt/softwares/zlib --with-apr=/opt/softwares/apr --with-apr-util=/opt/softwares/apr-util --enable-expires --enable-deflate


--prefix=/opt/softwares/http-2.4.48       //指定apache的安装路径
--enable-so                    //这个是支持动态共享模块
--enable-rewrite                //支持URL重写
--enable-ssl                   //支持ssl
--with-ssl=/opt/softwares/openssl      //这个是指定openssl的安装位置
--enable-cgi                   //启用cgi
--enable-modules=most             // 指明要静态编译到httpd二进制文件的模块 all或者most,all代表包含所有的模块 most代表大部分的模块
--enable-mods-shared=most           // 指明要以DSO方式编译的模块,all代表全部,most代表大部分
--enable-mpms-shared=all            // 启用MPM所有支持的模式,这样event,worker,prefork就会以模块化的方式安装,要用哪个就在httpd.conf里面配置就好了
--with-mpm=event                 // 指定启用mpm模式,默认使用enevt模式,在apache的早期版本2.0默认prefork,2.2版本是worker 2.4版本是event.
--with-pcre=/opt/softwares/pcre       // 支持 pcre
--with-z=/opt/softwares/zlib          // 使用 zlib 压缩库
--with-apr=/opt/softwares/apr          // 指定 apr 的安装路径
--with-apr-util=/opt/softwares/apr-util   // 指定 apr-util 的安装路径
--enable-expires                  // 激活彧通过配置文件控制 HTTP 的“Expires:”和“Cache-Control:”头内容,即对网站图片、js、css 等内容,提供客户端浏览器缓存设置
--enable-deflate                 // 提供对内容的压缩传输编码支持,一般是 html、js、css 等内容的站点。使用此参数会打打提高传输速度,提升访问者访问的体验。在生产环境中,这是 apache 调优的一个重要选项之一

make报错

collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] Error 1
make[2]: Leaving directory `/opt/softwares/src/httpd-2.4.48/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/opt/softwares/src/httpd-2.4.48/support'
make: *** [all-recursive] Error 

解决办法

将解压出来的 apr-1.7.0 和 apr-util-1.6.1 拷贝到 /opt/softwares/src/httpd-2.4.48/srclib/ 目录下,并且去掉版本号。并且在编译参数后加上  --with-included-apr

不去掉版本号会报错:configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.

# mv /opt/softwares/src/httpd-2.4.48/srclib/apr-1.7.0 /opt/softwares/src/httpd-2.4.48/srclib/apr

# mv /opt/softwares/src/httpd-2.4.48/srclib/apr-util-1.6.1 /opt/softwares/src/httpd-2.4.48/srclib/apr-util

再次编译安装

# ./configure --prefix=/opt/softwares/http-2.4.48 --enable-so --enable-so --enable-ssl \
--with-ssl=/opt/softwares/openssl --enable-cgi --enable-modules=most --enable-mods-shared=most \
--enable-mpms-shared=all --with-mpm=event --with-pcre=/opt/softwares/pcre-8.44 \
--with-zlib=/opt/softwares/zlib --enable-expires --enable-deflate -with-included-apr
# make && make install

 

至此安装完成!  

 

上一篇:SQL Server基础语法实例应用(三)


下一篇:elasticsearch安装