在我按照构建自定义 ModSecurity 模块节modsecurity 开发指南为了mod_tfn_reverse.c
使用命令进行编译apxs -ca mod_tfn_reverse.c
,我仍然发现unable to find the file modsecurity.h
C 文档标题中提到的“致命错误”。
以下是来源链接Github。
我做的说明:
我正在使用 Ubuntu 14.4 64 位(新安装并带有更新)。
我安装了
apache-dev
包,以apxs
在终端上运行命令。我
modsecurity
从 github 下载了 zip 文件。我解压了 zip 文件,然后找到了它的位置
mod_tfn_reverse.c
。其路径:
ModSecurity/ext/mod_tfn_reverse.c
然后我将目录更改为目标文件 CD modsecurity/ext,因为我将该文件夹放在“home”中。
最后我执行了命令
apxs -ca mod_tfn_reverse.c
。
这些是我所做的说明,apxs
有效,但编译失败,因为modsecurity.h
未找到标题中声明的内容,我搜索了这个文件,然后在另一个目录中找到了它(ModSecurity/apache2/modsecurity.h
)。
因此,困难在于,如何成功编译该特定文件并完成模块并准备在 apache2 服务器中使用。我还对以下操作所需的其他档案、标头和开发工具感到困惑:
- 编译自定义的 apache 模块(这是我的主要目标)。
- 进行编译
mod_tfn_reverse.c
,就我而言,知道这只是为 modsecurity 创建自定义模块的起点。
谢谢,
答案1
我最终在 ubuntu 14.4 上编译了“ModSecurity”apache 模块,并获得了 *.so 文件。好吧,我所做的就是安装安装 shell 找不到的依赖项。
- 下载 APR1.5.2 zip 文件
- 光盘APR1.5.2
- sudo./configure
- 制作
- 进行测试
- sudo make install (如果没有 sudo,则不允许安装)
系统需要“curl”,所以我安装了它。 git 安装并克隆 ModSecurity:
sudo apt-get install git
git clone git://github.com/SpiderLabs/ModSecurity.git
在我安装失败了几次之后!我发现必须先安装一些库 libtoolize|autoconf|automake|autoheader|libxml2-dev
sudo apt-get install build essential libtool libxml2-dev autoconf automake autoheader
您已准备出发。
- cd 进入目录 - $
cd ModSecurity
- 运行 autogen.sh 脚本-$
./autogen.sh
- 运行配置脚本-$
./configure
- 运行 make-$
make
- 运行 make install -$
make install
您将在此路径中找到它/usr/local/modsecurity/lib/mod_security2.so
。
谢谢,