mods 是apache的一个安全模块,他的做用是web应用防火墙(WAF).若是不懂WAF请自行google下。git
mods在yum源(centos)以及apt源(ubuntu)下都有现成的安装包。只须要相似 apt-get install 或者yum install 便可。
可是在mac的osx系统下,没有任何二级制安装包,若是想在osx上玩mods,那就须要从源码编译github
通常来讲,一条命令就能够搞定。谁让brew很逆天呢。
命令以下:web
brew install homebrew/apache/mod_security
参考:https://gist.github.com/amarn...apache
若是顺利的话,brew会下载全部依赖以及mods的源码进行编译安装。可是....貌似通常不会那么顺利。ubuntu
解决方案: sudo chown ${whoami} /usr 直接暴力把/usr的归属给变成了当前用户..哪位大佬有其余方案请分享出来vim
解决方案:centos
brew会显示从那个url下载该源码包。复制url,浏览器下载xcode
而后执行brew --cache看看cache目录在哪里浏览器
把下载下来的压缩包丢到该目录下面(奇怪的是我这边显示出来的cache目录不是显示出来的cache目录,你们能够往/Users/xxx/Library/Caches/Homebrew/放一份再)安全
这个有点麻烦,理论上brew会帮忙装好的。可是我看日志好像是mods的makefile指定的apr/apu的目录有问题,修改makefile有点麻烦,又不知道brew把apr和apu装到哪里去了。因此本身下载apr和apu的安装包,再编译了一遍,而后./configration的时候经过参数指定路径。参考
xcode-select --install
我以前就关闭了,虽然是一个不错的安全策略,可是对开发者很不方便。
具体关闭步骤:
重启机器,在启动的时候长按command+R,进入恢复模式
打开terminal,执行
csrutil disable
重启机器到正常模式
编译方式以下:(请使用sudo -i 切换到root用户下)
./configure --prefix=/usr/local/Cellar/mod_security/2.9.1 --with-pcre=/usr/local/opt/pcre --with-apxs=/usr/sbin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apu=/usr/local/apr/bin/apu-1-config
在解压目录下执行 make
在解压目录下执行 make install
请检查/usr/local/Cellar/mod_security/2.9.1/lib
下是否有mod_security2.so
,如有则标识编译成功
进行模块配置
1. vim /etc/apache2/httpd.conf 2. 配置载入模块: LoadModule security2_module /usr/local/Cellar/mod_security/2.9.1/lib/mod_security2.so 3. 从源码目录复制配置文件到指定文件夹 cp modsecurity.conf-recommended /etc/apache2/other/modsecurity.conf
sudo apachectl start