Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Httpd Wiki" for change 
notification.

The following page has been changed by tdonovan:
http://wiki.apache.org/httpd/Win32VC9Build

The comment on the change is:
Windows VC9 build instructions 

New page:
= 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.9 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.9 with OpenSSL 0.9.8h and Zlib 1.2.3 
using the VC9 command-line compiler included in this Windows SDK:

== Tools Needed to Build httpd ==

Install the 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
 ||
|| GNU tar ||      http://gnuwin32.sourceforge.net/packages/gtar.htm ||
|| GNU gzip ||      http://gnuwin32.sourceforge.net/packages/gzip.htm ||
|| GNU wget ||      http://gnuwin32.sourceforge.net/packages/wget.htm ||

== Setup the build 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:
{{{
PATH=%PATH%;C:\Perl\bin;C:\Program Files\GnuWin32\bin
}}}

== Download the source code ==

==== Download and extract the Apache httpd version 2.2.9 Windows source (not 
the Unix source) ====

{{{
WGET http://www.apache.org/dist/httpd/httpd-2.2.9-win32-src.zip
}}}

Open httpd-2.2.9-win32-src.zip and extract it, creating a httpd-2.2.9 directory

==== Download and extract the Zlib version 1.2.3 source into 
httpd-2.2.9\srclib\zlib ====

{{{
CD   httpd-2.2.9\srclib
WGET http://www.zlib.net/zlib-1.2.3.tar.gz
GZIP -d  zlib-1.2.3.tar.gz
TAR  xf  zlib-1.2.3.tar
RENAME   zlib-1.2.3   zlib
}}}

==== Download and extract the OpenSSL version 0.9.8h source, into 
httpd-2.2.9\srclib\openssl ====
{{{
CD   httpd-2.2.9\srclib
WGET http://www.openssl.org/source/openssl-0.9.8h.tar.gz
GZIP -d  openssl-0.9.8h.tar.gz
TAR  xf  openssl-0.9.8h.tar
RENAME   openssl-0.9.8h   openssl
}}}

== Build Zlib ==

{{{
CD  httpd-2.2.9\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 ONLY: '''
   ''Edit the file httpd-2.2.9\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 should be fixed in future 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.9\srclib\openssl
PERL Configure VC-WIN32  enable-camellia  disable-idea
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 algorithms which are built by default are no longer encumbered by 
patents.

'''Note:''' There are significant restrictions and prohibitions on the use and 
distribution of strong cryptography throughout the world.  OpenSSL includes 
strong cryptography controlled by both export regulations and domestic law.


== Build and install Apache httpd ==

{{{
CD  httpd-2.2.9
NMAKE -f Makefile.win installr
}}}
This installs Apache 2.2.9 into C:\Apache22.  You can add  
{{{INSTDIR=directory}}} to the NMAKE command to choose a different installation 
directory.  For example:  {{{NMAKE -f Makefile.win  INSTDIR=D:\Apache2  
installr}}}

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.

Reply via email to