Apache源码安装未生成mod_ssl.so,说明编译时缺失--enable-ssl、--with-ssl及openssl-devel等关键依赖;必须重新configure并指定OpenSSL路径、启用--enable-so,再make install验证mod_ssl.so存在及httpd -M确认加载。
apache 源码安装后没生成 mod_ssl.so,说明编译时没启用 ssl 支持——这不是配置问题,而是构建阶段就漏掉了关键参数。必须重新编译,并确保 openssl 开发环境、路径和模块开关全部到位。
确认前置依赖是否齐全
缺一不可,否则 configure 会静默忽略 --enable-ssl 或编译失败:
- 运行
openssl version确认 OpenSSL 已安装(建议 1.1.1t 或 3.0.13+) - 运行
openssl version -d查看 OpenSSL 安装根目录(常见为/usr或/usr/local/ssl) - CentOS/RHEL 执行:
yum install -y openssl-devel
Ubuntu/Debian 执行:apt-get install -y libssl-dev - 检查 Apache 源码目录下是否有
srclib/apr和srclib/apr-util(2.4.x 要求显式指定)
执行正确 configure 命令
进入 Apache 源码根目录(如 httpd-2.4.62),运行以下命令(路径按 openssl version -d 输出调整):
Apache Superset 是一个广泛采用的开源 BI 平台,用于 SQL 探索、图表构建和仪表板交付。当代理需要查询仓库数据、组装仪表板或使用成熟的分析界面解释指标而不是临时笔记本代码时,此技能非常有用。
- 若 OpenSSL 在
/usr(多数系统默认):./configure --enable-ssl --with-ssl=/usr --enable-so --enable-http2 --with-apr=../apr --with-apr-util=../apr-util --prefix=/usr/local/apache2 - 若 OpenSSL 在
/usr/local/ssl:./configure --enable-ssl --with-ssl=/usr/local/ssl --enable-so --enable-http2 --with-apr=../apr --with-apr-util=../apr-util --prefix=/usr/local/apache2 - 务必包含
--enable-so:这是动态加载模块的基础 -
--prefix可按需修改,但要与你后续管理路径一致
编译安装并验证模块存在
执行安装流程,完成后立刻检查输出结果:
make && sudo make install- 检查模块文件:
ls /usr/local/apache2/modules/ | grep ssl→ 应看到mod_ssl.so - 检查模块是否被识别:
/usr/local/apache2/bin/httpd -M | grep ssl→ 输出应含ssl_module (shared) - 若仍无输出,说明 configure 阶段未成功启用;可查看
config.log搜索ssl或openssl看是否报错或跳过
启用模块并最小化测试 HTTPS
模块有了,还需基础配置才能跑起来:
- 编辑
/usr/local/apache2/conf/httpd.conf,取消注释:LoadModule ssl_module modules/mod_ssl.soInclude conf/extra/httpd-ssl.conf - 确保
Listen 443已存在(可在httpd.conf或httpd-ssl.conf中) - 用自签名证书快速测试:
sudo /usr/local/apache2/bin/openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /usr/local/apache2/conf/server.key -out /usr/local/apache2/conf/server.crt - 编辑
conf/extra/httpd-ssl.conf,设置:SSLCertificateFile "/usr/local/apache2/conf/server.crt"SSLCertificateKeyFile "/usr/local/apache2/conf/server.key" - 运行
/usr/local/apache2/bin/httpd -t验证语法,无报错再启动

















