openresty 各组件(modsecurity、zlib、openssl、pcre、lua、gd、tools等)安装。

openresty

目前最新版本 1.9.15.1 支持动态加载模块

nginx 依赖

openssl – ssl依赖

目前最新版本 1.0.2h

./config  
make && make install
openssl version      # 验证版本

pcre – 正则依赖

目前最新版本是 8.38

./configure --enable-jit  
make && make isntall
pcre-config --version      # 验证版本

zlib – 压缩依赖

最新版本是 1.2.8,13 年更新

./configure  
make && make install

如果没有达到目的,还可以

apt-get install zlib1g zlib1g-dev

上传

ssdeep

暂时用不到,已改成 lua_ssdeep

clamav

apt-get install clamav

lua_gd

gd

手动下载 libgd-2.1.1

ps:尝试apt-get install libgd3 但编译时提示找不到gd.h

./configure
make && make install

jpeg

下载最新的 jpegsrc.v9b.tar.gz

./configure
make && make install

这里直接 apt-get install libjpeg-dev

lpng & freetype

这里下载 libpng16/1.6.16/libpng-1.6.16.tar.gz

./configure
make && make install

这里下载 freetype-2.5.5.tar.gz

./configure
make && make install

或者直接 apt-get install libfreetype6-dev 会自动安装依赖 libpng12-dev

libtiff

apt-get install libtiff5-dev

实测 lua_gd 处理 tiff 图片无效,因此不需安装

libgif

apt-get install libgif-dev

gd 对 gif 处理并不友好,因此需要处理 gif 图片,推荐 imagick

其他

apt-get install libvpx-dev
apt-get install libxpm-dev
apt-get install libfontconfig1-dev

我这里都用不到,就不安装了

libinjection

编译 libinjection 需要 swig 支持

apt-get install swig

modsecurity

apxs

apt-get install apache2-dev (apxs)

pcre

同上

apr

下载 aprapr-util

apr-1.5.2

 ./configure   
make && make install

apr-util-1.5.4

./configure --with-apr=/soft/apr-1.5.2 
make && make install

./autogen.sh 依赖

libtoolize autoreconf autoheader automake autoconf 均为 not found

libtool

本次下载 libtool-2.4.6.tar.gz

./configure
make && make install

automake

本次下载 automake-1.9.tar.gz

./configure
make && make install

autoconf

包含 autoheader、autoreconf 与 autom4te 等

本次下载 autoconf-2.69.tar.gz

./configure
make && make install

yajl

本次下载 yajl-2.1.0.tar.gz

./configure
make && make install

依赖 cmake

本次下载 cmake-3.6.0-rc2.tar.gz

./configure
make && make install

lua5.1

当前最新版本 5.3.3,本次下载 5.1

make linux && make install

若提示找不到 readline 头文件

apt-get install libreadline6 libreadline6-dev

若提示找不到-lncurses

apt-get install libncurses5 libncurses5-dev

ps:若需要重编 lua,要先 make clean

libxml2

apt-get install libxml2 libxml2-dev

ps: ./autogen.sh 时,提示 PKG_PROG_PKG_CONFIG 找不到

在确认 pkg-config 安装,且有 pkg.m4 后意识到系统有两套 automake

终端输入aclocal –print-ac-dir

得到 /usr/share/aclocal

但是 libtool.m4 却在 /usr/local/share/aclocal

如果无法去掉“非标准的”automake,只需

ACLOCAL_PATH=/usr/share/aclocal ./autogen.sh

或者

export ACLOCAL_PATH=/usr/share/aclocal
./autogen.sh

但需要的文件可能分别在两个路径下,

因此我先将 /usr/local/share/aclocal/ 下文件拷贝到 /usr/share/aclocal 下

ACLOCAL参考文档

编译 modsecurity

最新版本 2.9.1

./configure --with-apxs=/usr/bin/apxs  --with-pcre=/usr/local/bin/pcre-config --enable-pcre-match-limit=1500 --enable-pcre-match-limit-recursion=1500 --enable-pcre-study  --enable-twaf-var  --enable-pcre-jit  --enable-lua-cache --enable-standalone-module  --with-apr=/usr/local/apr  --with-lua --with-lua=/usr/local/lua​  with-apu=/usr/bin/apu-1-config --disable-mlogc

openresty tools

nginx-systemtap-toolkit & stapxx

openresty-systemtap-toolkit
stapxx

systemtap

systemtap 要求版本在 2.1 以上,这里下载 2.6 版本

systemtap 安装详细(包括依赖)

  1. kernel-debuginfo

    源码安装
    或:

    apt-get install linux-image-$(uname -r)-dbg
    
  2. kernel-devel

    apt-get install linux-headers-$(uname -r)
    

utrace

Linux kernels 版本低于 3.5,则需打 utrace patch

perl

perl 要求版本在 5.6.1 以上

kernel-debuginfo & kernel-devel

要对应 kernel 版本

FlameGraph

flam-graphs 或者 FlameGraph 制作火焰图

redis

目前最新版本为 3.2.1

make
./src/redis-server redis.conf
  • ipset

    ipset 安装参考文档(待整理)ipset 官方文档ipset 7.1版本链接使用参考文档 简单的流程可以用这几条命令概括使用 ipset 和 iptables 进行 IP 封禁的流程 ipset create blacklist ...

    ipset
  • 删除非目录文件

    linux 下删除一个目录下所有的隐藏文件和非目录文件 前言在 alpine 基础上编译 OpenWAF,想要达到最简,删除无用文件。 亮点rm -rf `ls -Fa | grep '^\.\w'` -- 删除隐...

    删除非目录文件
  • 在 alpine 上编译 openssl 遇到的问题

    alpine 上编译 openssl (v1.1.1) 遇到 ucontext 报错 前言今天在 alpine 基础上编译 openwaf,编到 openssl 时,报 ucontext 相关错误。 ucontext 报错编译 ope...

    在 alpine 上编译 openssl 遇到的问题
  • 批量修改或添加文件后缀名

    前言常见的是对不同文件名进行文件后缀名修改。但今天遇到同一文件名的情况。 常见windows 或 Linux 命令: ren *.jpg *.bmp # 将 jpg 后缀改为 bmp 如:1.jpg 2.txt 改后为:1.bm...

    批量修改或添加文件后缀名
  • hyperscan 安装

    1. 前言本文在 Debian8 中安装 hyperscan 5.0.0内存至少 2 G,不然编译慢而且失败 2. 依赖2.1 C/C++编译器hyperscan使用C++开发,且需要C99和C++11支持,目前支持的编译器有 GC...

    hyperscan 安装
  • linux 查看系统开机时间

    有时候需要查看Linux系统运行了多久时间,此时需要知道上次开机启动时间;有时候由于断电或供电故障突然停机,需要查看Linux开机时间/重启时间;下面总结一些查看Linux开机关机时间的方法(非常全面) 1. who 命令查看who ...

    linux 查看系统开机时间
  • GDB 多线程 (non-stop)

    1. 背景这几天在扩展 ngx_lua 模块,但 gdb 定位时,提示:Thread debugging using libthread_db enabled。 2. GDB non-stop 配置把以下3行添加到 ~/.gdbini...

    GDB 多线程 (non-stop)
  • suricata 从 0 开始

    背景OpenWAF 是在 openresty 基础上发布的,但安全不仅仅是针对 HTTP 协议的防护,而是全方位立体化的防护。因此,为了防护更多的协议,开始接触 suricata,用熟后,争取将 OpenWAF 集成到 suricat...

    suricata 从 0 开始
  • clear: command not found 命令无法找到

    1. 安装 ncurses-binsudo apt-get install ncurses-bin 此时尝试执行 ‘clear’ 命令,若失败,执行第二步(重新安装 ncurses-bin) 2. 重新安装 ncurses-binsu...

    clear: command not found 命令无法找到
  • svn 游记

    前言公司之前用 svn 管理项目代码,我一直用的 windows 版本 近期想要搭建知识库云平台,需要在 linux 上使用 svn 管理代码,因此做些笔记 直接使用公司搭建好的 svn服务器 1. 客户端安装yum install ...

    svn 游记