Dear Wiki user, You have subscribed to a wiki page or wiki category on "Httpd Wiki" for change notification.
The "Win32VC9Build" page has been changed by tdonovan. http://wiki.apache.org/httpd/Win32VC9Build?action=diff&rev1=9&rev2=10 -------------------------------------------------- = Building Apache with the Microsoft Windows 2008 SDK = - [[http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF|Windows SDK for Windows Server 2008 and .NET Framework 3.5]] contains a command-line compiler suitable for building Apache 2.2.14 on Windows XP or later. Despite the ''"2008"'' name - this freely available SDK is appropriate to use on Windows Server 2003, Windows Server 2008, Windows Vista, and Windows XP. This SDK contains the Visual C++ 2008 command-line compiler (a.k.a. VC9), the MASM v9.0 assembler, and the Windows libraries needed to build and run Apache. - These are the steps to build Apache 2.2.14 with OpenSSL 0.9.8l and Zlib 1.2.3 using the VC9 command-line compiler included in this Windows SDK: + These are the steps to build Apache 2.2.14 with OpenSSL 0.9.8l ''(Version 0.9.8 revision lower case "L")'' and Zlib 1.2.3 using the VC9 command-line compiler included in this Windows SDK: == Tools Needed to Build httpd == + Install the [[http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF|Windows SDK for Windows Server 2008 and .NET Framework 3.5]] (approx: 450mb) + ||Windows 2008 SDK ||http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF || - Install the [[http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF|Windows SDK for Windows Server 2008 and .NET Framework 3.5]] (approx: 450mb) - || Windows 2008 SDK || http://www.microsoft.com/downloads/details.aspx?FamilyId=F26B1AA4-741A-433A-9BE5-FA919850BDBF || + + Install Perl and several GNU utilities: tar, gzip, wget, and awk. These are tools which are needed to build Apache: - || [[http://www.activestate.com/Products/activeperl|ActiveState Perl]] || http://www.activestate.com/store/download.aspx?prdGUID=81fbce82-6bd5-49bc-a915-08d58c2648ca || + ||[[http://www.activestate.com/Products/activeperl|ActiveState Perl]] ||http://www.activestate.com/store/download.aspx?prdGUID=81fbce82-6bd5-49bc-a915-08d58c2648ca || - || GNU tar || http://gnuwin32.sourceforge.net/packages/gtar.htm || + ||GNU tar ||http://gnuwin32.sourceforge.net/packages/gtar.htm || - || GNU gzip || http://gnuwin32.sourceforge.net/packages/gzip.htm || + ||GNU gzip ||http://gnuwin32.sourceforge.net/packages/gzip.htm || - || GNU wget || http://gnuwin32.sourceforge.net/packages/wget.htm || + ||GNU wget ||http://gnuwin32.sourceforge.net/packages/wget.htm || - || GNU gawk (awk) || http://gnuwin32.sourceforge.net/packages/gawk.htm || + ||GNU gawk (awk) ||http://gnuwin32.sourceforge.net/packages/gawk.htm || + + + == Setup the build environment == + Open a command window and set up the development environment: - Open a command window and set up the development environment: {{{ "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat" }}} + Add Perl and the GNU utilities to your PATH environment variable: - Add Perl and the GNU utilities to your PATH environment variable: {{{ PATH=%PATH%;C:\Perl\bin;C:\Program Files\GnuWin32\bin }}} - == Download the source code == - ==== Download and extract the Apache httpd version 2.2.14 Windows source (not the Unix source) ==== - {{{ WGET http://www.apache.org/dist/httpd/httpd-2.2.14-win32-src.zip }}} - Open httpd-2.2.14-win32-src.zip and extract it, creating a httpd-2.2.14 directory ==== Download and extract the Zlib version 1.2.3 source into httpd-2.2.14\srclib\zlib ==== - {{{ CD httpd-2.2.14\srclib WGET http://www.zlib.net/zlib-1.2.3.tar.gz @@ -53, +52 @@ TAR xf zlib-1.2.3.tar RENAME zlib-1.2.3 zlib }}} - ==== Download and extract the OpenSSL version 0.9.8l source, into httpd-2.2.14\srclib\openssl ==== {{{ CD httpd-2.2.14\srclib @@ -62, +60 @@ TAR xf openssl-0.9.8l.tar RENAME openssl-0.9.8l openssl }}} - == Build Zlib == - {{{ CD httpd-2.2.14\srclib\zlib ML /coff /Zi /c contrib\masm686\match.asm NMAKE -f win32\Makefile.msc LOC="-D_CRT_SECURE_NO_DEPRECATE /wd4996 -DASMV" OBJA="match.obj" MT -manifest zlib1.dll.manifest -outputresource:zlib1.dll;2 }}} - == Build OpenSSL == - - - '''For OpenSSL version 0.9.8h & version 0.9.8i ONLY: ''' - ''Edit the file httpd-2.2.14\srclib\openssl\crypto\perlasm\x86ms.pl and remove line 273. Line 273 contains the single word "$extra". This is a known problem with OpenSSL 0.9.8h and 0.9.8i, and is fixed in later versions. ref: OpenSSL bug 1681, described [[http://www.mail-archive.com/[email protected]/msg24058.html|here]] and [[http://groups.google.com/group/mailing.openssl.dev/browse_thread/thread/0919a6ec791206a2|here]]'' + . '''For OpenSSL version 0.9.8h & version 0.9.8i ONLY: ''' ''Edit the file httpd-2.2.14\srclib\openssl\crypto\perlasm\x86ms.pl and remove line 273. Line 273 contains the single word "$extra". This is a known problem with OpenSSL 0.9.8h and 0.9.8i, and is fixed in later versions. ref: OpenSSL bug 1681, described [[http://www.mail-archive.com/[email protected]/msg24058.html|here]] and [[http://groups.google.com/group/mailing.openssl.dev/browse_thread/thread/0919a6ec791206a2|here]]'' {{{ CD httpd-2.2.14\srclib\openssl @@ -84, +76 @@ ms\do_masm NMAKE -f ms\ntdll.mak }}} - '''Note:''' The IDEA algorithm is disabled because it is built by default with OpenSSL 0.9.8. [[http://www.mediacrypt.com/_contents/10_idea/101030_ea_pi.asp|The IDEA algorithm is patented]] for commercial use. Camellia and the other OpenSSL 0.9.8 algorithms which are built by default are not ''(or are no longer)'' encumbered by patents. '''Note:''' There remain restrictions and prohibitions on the use and distribution of strong cryptography in some parts of the world. OpenSSL includes strong cryptography which may be restricted by local export regulations or other laws. - == Build and install Apache httpd == - {{{ CD httpd-2.2.14 NMAKE -f Makefile.win installr @@ -101, +90 @@ If you copy Apache to another machine, remember to install the [[http://www.microsoft.com/downloads/details.aspx?FamilyID=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF|Microsoft Visual C++ 2008 Redistributable Package]] before running it. == Including Database Drivers with Apache httpd == + The ODBC driver is included by default on Windows. To add additional database drivers, first ensure that your LIB and INCLUDE environment variables include the directories which contain the .lib and .h files for your database. Add a {{{DBD_LIST}}} to your NMAKE command, which should be be set to a space-separated list of the desired drivers. For example - if MySQL is in C:\MySQL and SQLite is in C:\SQLite: - The ODBC driver is included by default on Windows. To add additional database drivers, first ensure that your LIB and INCLUDE environment variables include the directories which contain the .lib and .h files for your database. Add a {{{DBD_LIST}}} to your NMAKE command, which should be be set to a space-separated list of the desired drivers. For example - if MySQL is in C:\MySQL and SQLite is in C:\SQLite: {{{ + {{{ SET INCLUDE=%INCLUDE%;C:\MySQL\include;C:\SQLite SET LIB=%LIB%;C:\MySQL\lib\opt;C:\SQLite NMAKE -f Makefile.win INSTDIR=D:\Apache2 DBD_LIST="odbc mysql sqlite3" installr
