mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-08-14 13:56:01 +03:00
Update the dependencies in README for Windows based on refactory of 2.9.2 release.
This commit is contained in:
parent
b76f961aae
commit
e0a087b540
@ -8,13 +8,13 @@ by Tom Donovam, 4/2/2011
|
|||||||
|
|
||||||
Dependency | Tested with | Note
|
Dependency | Tested with | Note
|
||||||
----|------|----
|
----|------|----
|
||||||
Microsoft Visual Studio C++ | Visual Studio 2008 (aka VC9) |
|
Microsoft Visual Studio C++ | Visual Studio 2013 (aka VC12) |
|
||||||
[CMake build system](http://www.cmake.org/) | CMake v2.8.0 |
|
[CMake build system](http://www.cmake.org/) | CMake v3.8.2 |
|
||||||
[Apache 2.2.x](http://httpd.apache.org/) | Apache 2.2.17 | Apache must be built from source using the same Visual Studio compiler as mod_security.
|
[Apache 2.4.x](http://httpd.apache.org/) | Apache 2.4.27 | Apache must be built from source using the same Visual Studio compiler as mod_security.
|
||||||
[PCRE, Perl Compatible Regular Expression library](http://www.pcre.org/) | PCRE v8.12
|
[PCRE, Perl Compatible Regular Expression library](http://www.pcre.org/) | PCRE v8.40
|
||||||
[LibXML2](http://xmlsoft.org/) | LibXML2 v2.7.7 | Note that LibXML2 v2.7.8 does not build correctly for Windows
|
[LibXML2](http://xmlsoft.org/) | LibXML2 v2.9.4 |
|
||||||
[Lua Scripting Language](http://www.lua.org/) | Lua v5.1.4
|
[Lua Scripting Language](http://www.lua.org/) | Lua v5.3.4
|
||||||
[cURL multiprotocol file transfer library](http://curl.haxx.se/) | cURL v7.21.4
|
[cURL multiprotocol file transfer library](http://curl.haxx.se/) | cURL v7.54.0
|
||||||
|
|
||||||
|
|
||||||
## Before building
|
## Before building
|
||||||
@ -22,23 +22,23 @@ Microsoft Visual Studio C++ | Visual Studio 2008 (aka VC9) |
|
|||||||
The directory where you build software from source ( ``C:\work`` in this exmaple)
|
The directory where you build software from source ( ``C:\work`` in this exmaple)
|
||||||
must contain the Apache source you used to build the Apache web serverand the mod_security source
|
must contain the Apache source you used to build the Apache web serverand the mod_security source
|
||||||
|
|
||||||
Apache source is in C:\work\httpd-2.2.17 in this example.
|
Apache source is in C:\work\httpd-2.4.27 in this example.
|
||||||
Apache has been installed to C:\Apache2217 in this example.
|
Apache has been installed to C:\Apache2427 in this example.
|
||||||
Mod_security source is in C:\work\mod_security in this example.
|
Mod_security source is in C:\work\mod_security in this example.
|
||||||
|
|
||||||
## Download and untar the prerequisite library sources:
|
## Download and untar the prerequisite library sources:
|
||||||
|
|
||||||
Download pcre-8.12.tar.gz from ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
|
Download pcre-8.40.tar.gz from ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
|
||||||
untar it into C:\work\ creating C:\work\pcre-8.12
|
untar it into C:\work\ creating C:\work\pcre-8.40
|
||||||
|
|
||||||
Download libxml2-2.7.7.tar.gz from ftp://xmlsoft.org/libxml2/
|
Download libxml2-2.9.4.tar.gz from ftp://xmlsoft.org/libxml2/
|
||||||
untar it into C:\work\ creating C:\work\libxml2-2.7.7
|
untar it into C:\work\ creating C:\work\libxml2-2.9.4
|
||||||
|
|
||||||
Download lua-5.1.4.tar.gz from http://www.lua.org/ftp/
|
Download lua-5.3.4.tar.gz from http://www.lua.org/ftp/
|
||||||
untar it into C:\work\ creating C:\work\lua-5.1.4
|
untar it into C:\work\ creating C:\work\lua-5.3.4
|
||||||
|
|
||||||
Download curl-7.21.4.tar.gz from http://curl.haxx.se/download.html
|
Download curl-7.54.0.tar.gz from http://curl.haxx.se/download.html
|
||||||
untar it into C:\work\ creating C:\work\curl-7.21.4
|
untar it into C:\work\ creating C:\work\curl-7.54.0
|
||||||
|
|
||||||
## Setup your build environment:
|
## Setup your build environment:
|
||||||
|
|
||||||
@ -49,12 +49,12 @@ must contain the Apache source you used to build the Apache web serverand the mo
|
|||||||
3. Set an environment variable to the Apache source code directory:
|
3. Set an environment variable to the Apache source code directory:
|
||||||
|
|
||||||
```
|
```
|
||||||
SET HTTPD_BUILD=C:\work\httpd-2.2.17
|
SET HTTPD_BUILD=C:\work\httpd-2.4.27
|
||||||
```
|
```
|
||||||
|
|
||||||
### Optional:
|
### Optional:
|
||||||
|
|
||||||
If OpenSSL and zlib support were included when you built Apache 2.2, and you want them available to LibXML2 and cURL
|
If OpenSSL and zlib support were included when you built Apache 2.4, and you want them available to LibXML2 and cURL
|
||||||
|
|
||||||
1. Ensure that cURL and LibXML2 can find the OpenSSL and zlib includes and libraries that Apache was built with.
|
1. Ensure that cURL and LibXML2 can find the OpenSSL and zlib includes and libraries that Apache was built with.
|
||||||
|
|
||||||
@ -71,56 +71,54 @@ If OpenSSL and zlib support were included when you built Apache 2.2, and you wan
|
|||||||
|
|
||||||
## Build
|
## Build
|
||||||
|
|
||||||
### PCRE-8.12
|
### PCRE-8.40
|
||||||
|
|
||||||
CD C:\work\pcre-8.12
|
CD C:\work\pcre-8.40
|
||||||
CMAKE -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=True
|
CMAKE -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=True
|
||||||
NMAKE
|
NMAKE
|
||||||
|
|
||||||
### LibXML2-2.7.7
|
### LibXML2-2.9.4
|
||||||
|
|
||||||
Note: the more recent version: 2.7.8 does not build correctly on Windows)
|
CD C:\work\libxml2-2.9.4\win32
|
||||||
|
|
||||||
CD C:\work\libxml2-2.7.7\win32
|
|
||||||
CSCRIPT configure.js iconv=no vcmanifest=yes zlib=yes
|
CSCRIPT configure.js iconv=no vcmanifest=yes zlib=yes
|
||||||
NMAKE -f Makefile.msvc
|
NMAKE -f Makefile.msvc
|
||||||
|
|
||||||
### Lua-5.1.4
|
### Lua-5.3.4
|
||||||
|
|
||||||
CD C:\work\lua-5.1.4\src
|
CD C:\work\lua-5.3.4\src
|
||||||
CL /Ox /arch:SSE2 /GF /GL /Gy /FD /EHsc /MD /Zi /TC /wd4005 /D "_MBCS" /D "LUA_CORE" /D "LUA_BUILD_AS_DLL" /D "_CRT_SECURE_NO_WARNINGS" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_WIN32" /D "_WINDLL" /c *.c
|
CL /Ox /arch:SSE2 /GF /GL /Gy /FD /EHsc /MD /Zi /TC /wd4005 /D "_MBCS" /D "LUA_CORE" /D "LUA_BUILD_AS_DLL" /D "_CRT_SECURE_NO_WARNINGS" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_WIN32" /D "_WINDLL" /c *.c
|
||||||
DEL lua.obj luac.obj
|
DEL lua.obj luac.obj
|
||||||
LINK /DLL /LTCG /DEBUG /OUT:lua5.1.dll *.obj
|
LINK /DLL /LTCG /DEBUG /OUT:lua5.1.dll *.obj
|
||||||
IF EXIST lua5.1.dll.manifest MT -manifest lua5.1.dll.manifest -outputresource:lua5.1.dll;2
|
IF EXIST lua5.1.dll.manifest MT -manifest lua5.1.dll.manifest -outputresource:lua5.1.dll;2
|
||||||
|
|
||||||
### cURL-7.21.4
|
### cURL-7.54.0
|
||||||
|
|
||||||
CD C:\work\curl-7.21.4
|
CD C:\work\curl-7.54.0
|
||||||
CMAKE -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=True -DCURL_ZLIB=True
|
CMAKE -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_SHARED_LIBS=True -DCURL_ZLIB=True
|
||||||
NMAKE
|
NMAKE
|
||||||
|
|
||||||
### ModSecurity-2.6
|
### ModSecurity-2.9.x
|
||||||
|
|
||||||
CD C:\work\mod_security\apache2
|
CD C:\work\mod_security\apache2
|
||||||
NMAKE -f Makefile.win APACHE=C:\Apache2217 PCRE=C:\work\pcre-8.12 LIBXML2=C:\work\libxml2-2.7.7 LUA=C:\work\lua-5.1.4\src
|
NMAKE -f Makefile.win APACHE=C:\Apache2427 PCRE=C:\work\pcre-8.40 LIBXML2=C:\work\libxml2-2.9.4 LUA=C:\work\lua-5.3.4\src
|
||||||
|
|
||||||
## Install ModSecurity and run Apache
|
## Install ModSecurity and run Apache
|
||||||
|
|
||||||
Copy these five files to ``C:\Apache2217\bin``:
|
Copy these five files to ``C:\Apache2427\bin``:
|
||||||
|
|
||||||
C:\work\pcre-8.12\pcre.dll C:\Apache2217\bin\
|
C:\work\pcre-8.40\pcre.dll C:\Apache2427\bin\
|
||||||
C:\work\lua-5.1.4\src\lua5.1.dll C:\Apache2217\bin\
|
C:\work\lua-5.3.4\src\lua5.1.dll C:\Apache2427\bin\
|
||||||
C:\work\libxml2-2.7.7\win32\bin.msvc\libxml2.dll C:\Apache2217\bin\
|
C:\work\libxml2-2.9.4\win32\bin.msvc\libxml2.dll C:\Apache2427\bin\
|
||||||
C:\work\curl-7.21.4\libcurl.dll C:\Apache2217\bin\
|
C:\work\curl-7.54.0\libcurl.dll C:\Apache2427\bin\
|
||||||
C:\work\mod_security\apache2\mlogc-src\mlogc.exe
|
C:\work\mod_security\apache2\mlogc-src\mlogc.exe
|
||||||
|
|
||||||
Copy this one file to ``C:\Apache2217\modules``:
|
Copy this one file to ``C:\Apache2427\modules``:
|
||||||
|
|
||||||
C:\work\mod_security\apache2\mod_security2.so
|
C:\work\mod_security\apache2\mod_security2.so
|
||||||
|
|
||||||
You may also copy ``C:\work\curl-7.21.4\curl.exe`` to ``C:\Apache2217\bin``, if you want to use the cURL command-line program.
|
You may also copy ``C:\work\curl-7.54.0\curl.exe`` to ``C:\Apache2427\bin``, if you want to use the cURL command-line program.
|
||||||
|
|
||||||
Download the core rules from http://sourceforge.net/projects/mod-security/files/modsecurity-crs/0-CURRENT/ and unzip them into ``C:\Apache2217\conf\modsecurity_crs``
|
Download the core rules from http://sourceforge.net/projects/mod-security/files/modsecurity-crs/0-CURRENT/ and unzip them into ``C:\Apache2427\conf\modsecurity_crs``
|
||||||
|
|
||||||
Add configuration directives to your Apache conf\httpd.conf:
|
Add configuration directives to your Apache conf\httpd.conf:
|
||||||
|
|
||||||
@ -146,11 +144,11 @@ Add configuration directives to your Apache conf\httpd.conf:
|
|||||||
Edit the top of ``C:\work\mod_security\apache2\mlogc-src\Makefile.win`` and set your local paths
|
Edit the top of ``C:\work\mod_security\apache2\mlogc-src\Makefile.win`` and set your local paths
|
||||||
|
|
||||||
# Path to Apache httpd installation
|
# Path to Apache httpd installation
|
||||||
BASE = C:\Apache2217
|
BASE = C:\Apache2427
|
||||||
|
|
||||||
# Paths to required libraries
|
# Paths to required libraries
|
||||||
PCRE = C:\work\pcre-8.12
|
PCRE = C:\work\pcre-8.40
|
||||||
CURL = C:\work\curl-7.21.4
|
CURL = C:\work\curl-7.54.0
|
||||||
|
|
||||||
# Linking libraries
|
# Linking libraries
|
||||||
LIBS = $(BASE)\lib\libapr-1.lib \
|
LIBS = $(BASE)\lib\libapr-1.lib \
|
||||||
@ -164,16 +162,16 @@ Build the ``mlogc.exe`` program:
|
|||||||
CD C:\work\mod_security_trunk\mlogc
|
CD C:\work\mod_security_trunk\mlogc
|
||||||
NMAKE -f Makefile.win
|
NMAKE -f Makefile.win
|
||||||
|
|
||||||
Copy ``mlocg.exe`` to ``C:\Apache2217\bin\``
|
Copy ``mlocg.exe`` to ``C:\Apache2427\bin\``
|
||||||
|
|
||||||
Create a new command file ``C:\Apache2217\bin\mlogc.bat`` with one line:
|
Create a new command file ``C:\Apache2427\bin\mlogc.bat`` with one line:
|
||||||
|
|
||||||
C:\Apache2217\bin\mlogc.exe C:\Apache2217\conf\mlogc.conf
|
C:\Apache2427\bin\mlogc.exe C:\Apache2427\conf\mlogc.conf
|
||||||
|
|
||||||
Create a new configuration file ``C:\Apache2217\conf\mlogc.conf`` to control the piped-logging program ``mlogc.exe``.
|
Create a new configuration file ``C:\Apache2427\conf\mlogc.conf`` to control the piped-logging program ``mlogc.exe``.
|
||||||
Here is an example ``conf\mlogc.conf``:
|
Here is an example ``conf\mlogc.conf``:
|
||||||
|
|
||||||
CollectorRoot "C:/Apache2217/logs"
|
CollectorRoot "C:/Apache2427/logs"
|
||||||
ConsoleURI "https://localhost:8888/rpc/auditLogReceiver"
|
ConsoleURI "https://localhost:8888/rpc/auditLogReceiver"
|
||||||
SensorUsername "test"
|
SensorUsername "test"
|
||||||
SensorPassword "testtest"
|
SensorPassword "testtest"
|
||||||
@ -193,4 +191,4 @@ Here is an example ``conf\mlogc.conf``:
|
|||||||
|
|
||||||
Change the SecAuditLog directive in ``conf\httpd.conf`` to pipe the log data to mlogc instead of writing them to a file:
|
Change the SecAuditLog directive in ``conf\httpd.conf`` to pipe the log data to mlogc instead of writing them to a file:
|
||||||
|
|
||||||
SecAuditLog |C:/Apache2217/bin/mlogc.bat
|
SecAuditLog |C:/Apache2427/bin/mlogc.bat
|
||||||
|
Loading…
x
Reference in New Issue
Block a user