mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-09-29 11:16:33 +03:00
Refactoring of IIS build scripts
This commit is contained in:
committed by
Felipe Zimmerle
parent
61bce8d9a9
commit
1e8b4669eb
@@ -1,44 +1,52 @@
|
||||
WARNING!
|
||||
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.
|
||||
|
||||
Building ModSecurityIIS on Windows is a relatively complicated process. Understanding it requires advanced knowledge of Windows and Unix environments.
|
||||
Using the same versions of libraries as listed below is strongly recommended.
|
||||
* 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
|
||||
|
||||
--------------------------------------
|
||||
Tested on:
|
||||
|
||||
Windows 7 x64
|
||||
Vistual Studio 2010 Ultimate SP1
|
||||
IIS enabled/installed
|
||||
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
|
||||
|
||||
cmake 2.8.7
|
||||
curl 7.24.0
|
||||
apache 2.2.22 or apache 2.4.3
|
||||
libxml2 2.7.7
|
||||
lua 5.1.5
|
||||
pcre 8.30
|
||||
zlib 1.2.7
|
||||
7-Zip
|
||||
--------------------------------------
|
||||
|
||||
1. Create working directory c:\work and drop directory c:\drop
|
||||
2. Sync SVN ModSecurity branch to c:\work\mod_security
|
||||
3. Copy files from c:\work\mod_security\iis\winbuild to c:\work
|
||||
4. Download and install cmake (unpack to c:\work\cmake-2.8.7-win32-x86)
|
||||
5. Download and install 7-Zip
|
||||
6. Adjust paths in c:\work\init.bat accordingly if needed
|
||||
7. Download curl, apache, libxml2, lua, pcre and zlib, place them in zip files in c:\work
|
||||
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"
|
||||
|
||||
curl-7.24.0.zip
|
||||
httpd-2.2.22-win32-src.zip or (httpd-2.4.3.zip (source) and httpd-2.4.3-win32.zip + httpd-2.4.3-win64.zip (binaries))
|
||||
libxml2-2.7.7.zip
|
||||
lua-5.1.5.zip
|
||||
pcre-8.30.zip
|
||||
zlib-1.2.7.zip
|
||||
8. If all went well, you can build the MSI installer by running the build_msi.bat script.
|
||||
|
||||
Modify c:\work\build.bat accordingly (if other versions were used)
|
||||
|
||||
8. Open cmd.exe window, go to c:\work and run buildall.bat
|
||||
9. When done, the binaries, lib and pdb files should appear under c:\drop\x86 (32-bit) and c:\drop\amd64 (64-bit)
|
||||
10. Open the VS ModSecurity IIS installer project
|
||||
11. Copy new binaries to the installer's x86 and amd64 directories
|
||||
12. Build installer from within VS
|
||||
* 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.
|
||||
|
Reference in New Issue
Block a user