The build process for ModSecurityIIS for Windows was a relatively complicated process. Understanding it required advanced knowledge of Windows and Unix environments. So the build process was refactored to make it easier for users to create their own builds with the automated batch scripts. * build_release.bat -> The main build script that calls all the others to have a working release * build_msi.bat -> Creates the MSI self-installer for easy deploy / removal / distribution * build_dependencies.bat -> Sets (and downloads if needed) all required dependencies * build_modsecurity.bat -> Builds ModSecurity (requires all depenedencies being set) * download_files.bat -> Downloads all required dependencies to the default Downloads folder ** This script is disabled by default. If you want to enable it, uncomment the "@call download_files.bat" line on build_dependencies.bat The dependencies folder also includes a set o batch scripts which sets each dependency on its own. These scripts are called by the build_dependencies.bat script. Using the same versions of libraries as listed below is recommended. -------------------------------------- Compilation Prerequisites: * Windows 7 x86_x64 (Should work on newer versions of Windows too) * Vistual Studio 2013 Express (Other versions should work, but you need to set the correct path for vcvars.bat scripts) * IIS enabled/installed * 7-Zip -------------------------------------- The latest versions of ModSecurity dependencies known to work well are the following: cmake-3.8.2-win32-x86 pcre-8.40 (patch required and included on file "patch-pcre-8.40.vbs") zlib-1.2.11 libxml2-2.9.4 lua-5.3.4 curl-7.54.1 httpd-2.4.27 (bin-VC11) yajl-2.1.0 ssdeep-2.13 -------------------------------------- 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) 2. Make sure the prerequisites mentioned above are all set 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 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) 5. If you need to modify anything (e.g. paths, versions etc), carefully edit the batch files. 6. Run build_release.bat 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) * 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" 8. If all went well, you can build the MSI installer by running the build_msi.bat script. * 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.