Blame iis/dependencies/howto.txt

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