|
Packit Service |
384592 |
The build process for ModSecurityIIS for Windows was a relatively complicated process. Understanding it required advanced knowledge of Windows and Unix environments.
|
|
Packit Service |
384592 |
So the build process was refactored to make it easier for users to create their own builds with the automated batch scripts.
|
|
Packit Service |
384592 |
|
|
Packit Service |
384592 |
* build_release.bat -> The main build script that calls all the others to have a working release
|
|
Packit Service |
384592 |
* build_msi.bat -> Creates the MSI self-installer for easy deploy / removal / distribution
|
|
Packit Service |
384592 |
|
|
Packit Service |
384592 |
* build_dependencies.bat -> Sets (and downloads if needed) all required dependencies
|
|
Packit Service |
384592 |
* build_modsecurity.bat -> Builds ModSecurity (requires all depenedencies being set)
|
|
Packit Service |
384592 |
|
|
Packit Service |
384592 |
* download_files.bat -> Downloads all required dependencies to the default Downloads folder
|
|
Packit Service |
384592 |
** This script is disabled by default. If you want to enable it, uncomment the "@call download_files.bat" line on build_dependencies.bat
|
|
Packit Service |
384592 |
|
|
Packit Service |
384592 |
The dependencies folder also includes a set o batch scripts which sets each dependency
|
|
Packit Service |
384592 |
on its own. These scripts are called by the build_dependencies.bat script.
|
|
Packit Service |
384592 |
|
|
Packit Service |
384592 |
Using the same versions of libraries as listed below is recommended.
|
|
Packit Service |
384592 |
--------------------------------------
|
|
Packit Service |
384592 |
Compilation Prerequisites:
|
|
Packit Service |
384592 |
|
|
Packit Service |
384592 |
* Windows 7 x86_x64 (Should work on newer versions of Windows too)
|
|
Packit Service |
384592 |
* Vistual Studio 2013 Express (Other versions should work, but you need to set the correct path for vcvars.bat scripts)
|
|
Packit Service |
384592 |
* IIS enabled/installed
|
|
Packit Service |
384592 |
* 7-Zip
|
|
Packit Service |
384592 |
|
|
Packit Service |
384592 |
--------------------------------------
|
|
Packit Service |
384592 |
|
|
Packit Service |
384592 |
The latest versions of ModSecurity dependencies known to work well are the following:
|
|
Packit Service |
384592 |
|
|
Packit Service |
384592 |
cmake-3.8.2-win32-x86
|
|
Packit Service |
384592 |
pcre-8.40 (patch required and included on file "patch-pcre-8.40.vbs")
|
|
Packit Service |
384592 |
zlib-1.2.11
|
|
Packit Service |
384592 |
libxml2-2.9.4
|
|
Packit Service |
384592 |
lua-5.3.4
|
|
Packit Service |
384592 |
curl-7.54.1
|
|
Packit Service |
384592 |
httpd-2.4.27 (bin-VC11)
|
|
Packit Service |
384592 |
yajl-2.1.0
|
|
Packit Service |
384592 |
ssdeep-2.13
|
|
Packit Service |
384592 |
|
|
Packit Service |
384592 |
--------------------------------------
|
|
Packit Service |
384592 |
|
|
Packit Service |
384592 |
1. Create working directory (e.g. c:\work) and drop the latest clone from ModSecurity's 2.x Github (https://github.com/SpiderLabs/ModSecurity/archive/v2/master.zip)
|
|
Packit Service |
384592 |
2. Make sure the prerequisites mentioned above are all set
|
|
Packit Service |
384592 |
3. If you haven't download the dependency files before, uncomment the "@call download_files.bat" line on build_dependencies.bat to have them downloaded prior
|
|
Packit Service |
384592 |
4. Open a command prompt (cmd.exe) and head to the "iis" folder inside ModSecurity tree working directory (e.g. cd c:\work\ModSecurity\iis)
|
|
Packit Service |
384592 |
5. If you need to modify anything (e.g. paths, versions etc), carefully edit the batch files.
|
|
Packit Service |
384592 |
6. Run build_release.bat
|
|
Packit Service |
384592 |
7. When done, the binaries, lib and pdb files should appear under c:\work\ModSecurity\iis\release\x86 (32-bit) and c:\work\ModSecurity\iis\release\amd64 (64-bit)
|
|
Packit Service |
384592 |
* At this point, if you had a previous installation of ModSecurity and would like to test you can place the x86 files to "C:\Windows\SysWOW64\inetsrv" and x64 files to "C:\Windows\System32\inetsrv"
|
|
Packit Service |
384592 |
|
|
Packit Service |
384592 |
8. If all went well, you can build the MSI installer by running the build_msi.bat script.
|
|
Packit Service |
384592 |
|
|
Packit Service |
384592 |
* The built installable package places the files to the correct folders, automatically configures the ModSecurity IIS native module and configures web.config to enable ModSecurity for all IIS sites.
|