为 Apache 2.4 安装 mod_security

为 Apache 2.4 安装 mod_security

我正在尝试在运行 Apache 2.4 的服务器上安装 mod_security - 如果我尝试使用:

yum install mod_security

它告诉我 Apache 2.2.15 是一个依赖项,如果没有它就无法安装。

然后我尝试下载 mod_security 并编译它,它最终可以工作,但由于对 APXS 的依赖,需要 httpd-devel。

由于需要安装 httpd-devel,mod_security 会针对 2.2.15 进行安装,但模块似乎无法与 2.4 一起使用 - 当我尝试重新启动 httpd 时出现错误:

Starting httpd: httpd: Syntax error on line 57 of /opt/httpd/conf/httpd.conf: Cannot load modules/mod_security2.so into server: /opt/httpd/modules/mod_security2.so: undefined symbol: ap_log_error

modules/mod_security2.so 是从 /etc/httpd/modules(Apache 2.2.15 目录)手动复制的。

Apache 2.4 是否有一个特定的安装过程,不需要通过安装 2.2 的位来混淆?

答案1

您可能仍安装了 Apache 2.2,并且当您配置 ModSecurity 时,它会针对 2.2 进行构建。

下面是我基于安装在 /usr/local/apache2 中的 Apache 从源代码安装 ModSecurity 的步骤:

#Download ModSecurity
wget https://www.modsecurity.org/tarball/2.9.1/modsecurity-2.9.1.tar.gz
wget https://www.modsecurity.org/tarball/2.9.1/modsecurity-2.9.1.tar.gz.sha256

#Config checksum of download
sha256sum -c modsecurity-2.9.1.tar.gz.sha256

#Install ModSecurity:
tar -xvf modsecurity-2.9.1.tar.gz
cd modsecurity-2.9.1
./configure --with-apxs=/usr/local/apache2/bin/apxs
make
sudo make install
cp /usr/local/modsecurity/lib/mod_security2.so /usr/local/apache2/modules

然后在 Apache 配置中进行配置。

希望有所帮助。

相关内容