在你安装之前你需要选择适合你自己的安装方法.第一你需要选择是否安装最新的版本从ModSecurity 的CVS目录当中(里面有最新的特性,但是不稳定).或者是安装最新的稳定版本(推荐).如果你选择稳定版的话,你可以安装ModSecurity 的二进制文件.它已经被从原代码编译完成.
下面的一些内容可以帮助你更好的选择一个适合自己的方法来安装它.
如果你想要最新版本的模块话可以从CVS库中得到.可以从一个web站点获得从最近的一个稳定版本的被改变的列表(在CHANGES这个文件中).ModSecurity
的CVS库存放在SourceForge(http://www.sf.net).你可以直接通过这个地址访问和查看http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/mod-security/.
下载源程序到你的计算机.需要执行下面两个命令:
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/mod-
security login
cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/mod-
security co mod_security
第一行是你使用anonymouse用户登陆,第二行是下载全部的可用的文件从CVS库中.
如果是不喜欢CVS,但是你还想要最新的版本你可以下载最新的nightly tar包从下面的地址:
http://www.modsecurity.org/download/snapshot/mod_security-snapshot.tar.gz
新功能被一一的加入到了mod_security中,用来测试在每一次改变之后.这方法可以确保从CVS上面有永远可用的版本下载.
可以从http://www.modsecurity.org/download/
下载到稳定的版本.如果你不下载源代码分发的版本时.不时的可以有一些二进制的分发.如果有他们在下载页面的列表上.
从源程序安装有两个方法:一个是将模块和web 服务器编译到一起去.或者是编译mod_security.c 成动态共享对象(DSO).
DSO安装方法非常容易,安装方法有两种流派在Apache的安装方法中.第一要解压缩文件到一个地方(必须要作的),编译模块的命令:
/apachehome/bin/apxs -cia
mod_security.c
在这之后你需要关闭和从新启动Apache 服务(如果你尝试从新启动它你可能会segfault)
/apachehome/bin/apachectl
stop
/apachehome/bin/apachectl
start
我知道有一些人使用的平台上没有apxs这个工具安装到系统上.这个工具在一些Unix的平台上的版本是独立的包.这个问题出现在安装的时候不是缺省安装.解决这个问题的方法是从你的软件厂商那里查找如何建立自定义的Apache模块.(在一些RedHat 平台上你需要安装http-devel 包后就有了apxs这个应用程序).
在静态的编译模块时,这个程序将被内置到web服务器本身.这种方法能够快一点的执行但是这个编译方法有更多的难度(以后的维护).
释放这个软件包后将mod_security.c 这个文件复制到Apache源代码目录src/modeules/extra 中.
更改configureation 脚本激活这个新模块:
# ./configure
\
<your other configuration options here>
\
--activate-module=src/modules/extra/mod_security
\
-–enable-module=security
正常的编译,安装和启动你的web服务器.
在一些环境下,你想要安装二进制的模块.此刻我只是建立了Windows 二进制版本在下载的地方.在每一个版本中有两个DSO库文件,在每一个主要的Apache的分支中.在这些文件中选择一个适合你的Apache 的版本.参考下列描述:
复制mod_security.so (Unix 系统) 或者mod_security.dll (Windows 系统)到libexec/目录下(这个文件架是Apache 安装的目录,不是源代码目录).添加下面内容到httpd.conf :
LoadModule security_module libexec/mod_security.so
根据你现在的配置文件(你需要确认你的配置文件中模块的加载顺序)他需要使用AddModule 指令来激活模块.指令如下:
AddModule mod_security.c
在大多数的时候他不需要添加这个在配置文件中.但是推荐你将mod_security 加入到最后的module链表中(但是在实际当中,如果你打算使用内部的chroot功能的话必须要添加这个在配置文件中).可以在”在chroot 环境下模块顺序要求(Apache 1.x)”有详细的介绍.
复制mod_security.so (Unix系统)或者mod_security.dl (Windows 系统)到modules/ 目录中(这个目录是Apache 的安装目录,不是源程序目录).添加下来内容到httpd.conf配置文件中.:
LoadModule security_module modules/mod_security.so