编译支持国密(SM2/SM3/SM4)的  Apache  HTTP  Server,其核心在于使用国密版  OpenSSL(如  GMSSL)来替换标准  OpenSSL。

根据相关文档,以下是需要安装的开发依赖包清单:

一、开发依赖包清单

基础编译工具

      `gcc`,  `gcc-c++`:  GNU  编译器套件,用于编译  C/C++  源代码。

      `make`:  自动化编译工具。

      `autoconf`,  `libtool`:  用于生成和配置编译脚本。

二、Apache  核心依赖

      `pcre-devel`:  PCRE  (Perl  Compatible  Regular  Expressions)  开发库,Apache  的重写模块  (`mod_rewrite`)  依赖此库。

      `expat-devel`:  Expat  XML  解析器开发库。

      `apr`  与  `apr-util`:  Apache  可移植运行时库(Apache  Portable  Runtime),是  Apache  的核心依赖。

      `bison`,  `bison-devel`:  GNU  语法分析器生成器。

      `flex`,  `flex-devel`:  词法分析器生成器。

三、国密相关依赖

      `gmssl_openssl`:  这是最关键的依赖,即国密版  OpenSSL  库。需要从  [GMSSL.cn](https://www.gmssl.cn)  下载源码包,手动编译安装。

四、安装与编译步骤概要

完整的编译过程通常如下:

1.    安装基础开发包:

        bash

        yum  install  -y  gcc  gcc-c++  make  autoconf  libtool

2.    安装  Apache  依赖包:

        bash

        yum  install  -y  pcre-devel  expat-devel  bison  bison-devel  flex  flex-devel

3.    编译安装国密  OpenSSL  (GMSSL):

              从  GMSSL.cn  下载  `gmssl_openssl`  源码包并解压。

              进入源码目录,编译安装(通常为  `./config  &&  make  &&  make  install`)。

4.    编译安装  APR  和  APR-Util:

              从  Apache  官网下载  `apr`  和  `apr-util`  源码包。

              分别编译安装,并在配置  `apr-util`  时指定  `apr`  的路径。

5.    编译安装  Apache  (httpd):

              下载  Apache  源码包。

              在  `configure`  阶段,关键**是通过  `--with-ssl=/usr/local/gmssl`  参数指定国密  OpenSSL  的安装路径。

注意事项

      包管理器差异:以上命令基于  `yum`(适用于  CentOS  7/RedHat  系列)。如果你使用的是  Ubuntu/Debian  系统,应将包管理器替换为  `apt`,并调整包名(如  `gcc`  ->  `build-essential`,  `pcre-devel`  ->  `libpcre3-dev`  等)。

      版本选择:建议参考官方文档选择稳定的  GMSSL  和  Apache  版本。文档中常以  `httpd-2.4.46`  为例。

      静态链接:部分教程为确保兼容性,会建议在编译时对国密  SSL  库进行静态链接。

总结来说,编译国密  Apache  就是在标准  Apache  编译依赖的基础上,用国密版  OpenSSL替换了标准  OpenSSL,并在编译时正确指定其路径。