Update: Installers for Apache HTTP Server 2.2.14 can be found here.
I haven’t posted anything in my blog for quite some time. Itโs been more than half a year actually. ๐ฎ Anyway, itโs about time for me to post something new. I will start by posting MSI installers for Apache HTTP Server 2.2.13.
Why did I decide to create these installers?
Well, now that Windows 7 has been released to manufacturing, I have started using Windows 7 64 bit. I was using 32 bit version of Windows 7 RC earlier and before that it was 32 bit Windows Vista. I had Apache, MySQL and PHP installed on my previous Windows installations, and now that I was using a 64 bit operating system, I wanted to install 64 bit versions of Apache, MySQL and PHP. MySQL.com has already been providing 64 bit binaries for Windows and I also found 64 bit binaries for PHP 5.3 here (although they aren’t meant for production use). But there is still no 64 bit version of Apache available from the official site. I did find unofficial 64 bit binaries at http://www.blackdot.be/?inc=apache/binaries, but in a zip file; without an installer.
So I decided to compile Apache myself and also create an installer for the compiled binaries. An installer makes it easier to install the software at any location of your choice, and also allows you to install only the components that you need.
It took me a while to set up the build environment on my new installation of Windows (Visual Studio 2008, Windows SDK 6.1, etc). While I was compiling Apache, I remembered that the official 32 bit binaries are compiled using VC6 and since I already had the build environment set up, I decided to compile 32 bit binaries too. These binaries that have been compiled with Visual C++ 2008 (VC9) should have “improvements in performance and stability” compared to the official Apache.org binaries.
Anyway, here are the download links along with CRC32, MD5 and SHA1 hashes. I have provided “no-ssl” binaries like Apache.org does, which do not contain mod_ssl. The 64 bit binaries have been tested with Windows 7 x64 (I am currently using the 64 bit binaries myself) and the 32 bit binaries have been tested with Windows 7 x64 and Windows XP.
CRC32: 11EDC9E8
MD5: 64A25D37E65369EAA7B1AF48255C92E3
SHA1: EE7327053F3A62F4ADDE94EB3F83F8FDB3946FF4
apache_2.2.13-x64-openssl-0.9.8k.msi
CRC32: 2FDAB3FC
MD5: D506460180486D648471B4E1BAFB8EC0
SHA1: 0846B4AD4C146460C4292CBEB32B84BDCC5E84C5
CRC32: 53B7377B
MD5: 56098216EAA08729684DC3C9CAD8FE88
SHA1: CFAD89356D9059D16EC2F254A76F90E7112FE5CC
apache_2.2.13-x86-openssl-0.9.8k.msi
CRC32: 3286E3AB
MD5: 5E0BF685EDE09202CD0B2EF24EC8BB65
SHA1: 72BE2029A18D9FA600ACA11AEB02A19205DDE3BE
By the way, I have also decided to create 64 and 32 bit installers for any future versions of the Apache HTTP Server. ๐
Scot Colford
I love you. You saved my day.
Steve K
I love you more. We desperately needed the x64 binaries in an installer form. Thank you a million times!
Anindya Author
I am glad you guys found these binaries useful. ๐
SaltwaterC
Is it possible to build the Apache 2.2 (current version 2.2.14) with VC++ 2008 Express and Windows SDK 7.0? If the answer is yes, then can you please explain the procedure?
Anindya Author
@SaltwaterC
I didn’t know that 2.2.14 was already out. Thanks to you, I know now. ๐ I will compile both x86 and x64 binaries and post them soon.
As for compiling it with Windows SDK 7.0, it should be possible, but I am not sure about it. I compiled the binaries posted above with Windows SDK 6.1. I see that Windows SDK 7.0 was released the very next day after I posted these binaries. ๐
SaltwaterC
Well, my actual issue goes beyond which Windows SDK is used. Your Apache build, or the Apache build from blackdot.be (the lack of installer isn’t an issue) so far work flawlessly, thus no need for me to reinvent the wheel. However, the PHP x64 build is giving me grief. I need a x64 build for working with large integers that won’t fit into a int32_t, thus they require to be stored into int64_t. After working a whole day in order to build my own PHP binaries – and I did a core build + a couple of extensions, I realized that the signed integer from PHP still acts like the 32-bit build. Still can’t figure out where’s the issue: MSVC9 (Express) + WinSDK 7.0 or the PHP source tree. I also tried other 3rd party builds from apachelounge.com or fusionxlan.com, as well as the official binaries for PHP 5.3.1 RC1. All of them have the same issue. Any decent Linux build won’t reproduce this. While I develop most of my code under Linux, this isn’t an issue that affects me directly. I do this ‘research’ for some fellow PHP under Windows developers that are scared by the word ‘compiler’.
Code that proves the broken behavior (should break on x86 only):
var_dump(PHP_INT_MAX); // int32_t value
$int = 3147483647;
var_dump($int); // integer overflow – failback to float
$int = $int * 100000;
var_dump($int); // large float which would break any database keys, displayed as 3.147483647E+14
This kinda makes PHP next to useless under x64 environment. Well, it’s time to bug again the PHP core developers.
Anindya Author
Its happening with a PHP 5.3 binary that I compiled with Visual C++ 2008 Pro and Windows SDK 6.1 also, so the problem is definitely with PHP.
You should post a bug report if you haven’t already. ๐
plinth
How about:
“If you are using PHP with Apache2 from apache.org you need to use the VC6 versions of PHP
If you are using PHP with IIS you should use the VC9 versions of PHP
VC6 Versions are compiled with the legacy Visual Studio 6 compiler
VC9 Versions are compiled with the Visual Studio 2008 compiler and have improvements in performance and stability. The VC9 versions require you to have the Microsoft 2008 C++ Runtime (x86) or the Microsoft 2008 C++ Runtime (x64) installed
Do NOT use VC9 version with apache.org binaries”?
Anindya Author
@plinth
You can use the VC9 versions of PHP with these Apache binaries, cause I compiled them with VC9 too.
Jay
ModSecurity v2.5.11 source (Nov 6, 2009) is available at http://www.modsecurity.org/
Anindya Author
Thanks for the info, Jay. I will post the 64 bit binaries for modsecurity 2.5.11 now. ๐
Kat
Thanks!!! This saved me MUCH time. I really, really, really appreciate it.
Anindya Author
You are welcome. ๐
But I hope that you installed the new 2.2.14 binaries and not the 2.2.13 ones available on this page.
Kat
Oops, I did, but it was on a temporary machine anyhow (long story that includes a dead hard drive).
I found the new ones for my real install today… thanks again!!
Stefan
php.net removed VC9-x64 binaries from http://windows.php.net/qa/ ??? only a beta 5.3.2-dev is available at http://windows.php.net/snapshots/
Anindya Author
Yes, I noticed. Most likely there were problems with those binaries. They weren’t meant for production use anyway.
I will try and compile PHP 5.3.1 when I have some free time. In the meantime you can use the 5.3.2-dev binaries.
Jesper
Thank you for your excellent work. Do you have any idea about how to go around the mssing php5apache2_2.dll in the php VC9 x64 distro?
LoadModule php5_module “C:/PHP/php5apache2_2.dll”
This is at the moment causing problems since the dll file is missing
Happy new year
Jesper
I should add that it is working using PHP as CGI, though I prefer to use the PHP as a module. Just in case this interests you.
Anindya Author
I compiled that module long ago but never posted it here. I thought about posting it but always keep forgetting. ๐
Anyway, here it is. I compiled it for PHP 5.3.0. Not sure if it will work with the latest snapshots.
Jesper
Thank you
it is working with 5.3.2-dev as well
Robert
Thankyou for doing this. Trying to build a x64 WAMP server on server2008R2 and was having trouble finding the x64 apache and php files. Searching the net for these has been fruitless since both the http://www.blackdot.be/?inc=apache/binaries and the http://www.fusionxlan.com/PHPx64.php sites no longer are available.
Couldn’t locate the 5.3.2-dev x64 php files at the http://windows.php.net/snapshots/ though. Did you ever get around to compiling the php x64. If so, could you please post them?
Thanks again, Robert
Anindya Author
Hi, Robert. You can find 64 bit builds of latest Apache and PHP if you visit the homepage of my blog. ๐
By the way, although the fusionxlan.com site is down, the blackdot.be site is loading fine for me.
Alexander M. Batishchev
Much better name for this topic is Apache HTTP Server 2.2.13 x64 and x86 MSI Installers
Anindya Author
I initially thought about posting future versions in this post, which is why I put 2.2 instead of 2.2.13 in the title. Later I decided to create new posts for the new versions but kept the title of this post the same since it has already been indexed by search engines. ๐
Greg
Is there anyway you could post these to a differnent location. Our web filters won’t allow us to visit mediafire. Thanks much.
Anindya Author
Sorry for the late reply. You can find latest Apache binaries (2.2.17 as of now) on this page. They are also hosted on mediafire. But if your web filters don’t allow you to visit mediafire, chances are they may not allow you to visit other popular file hosting sites either. But if you know of one that you can visit, let me know and I will upload there. ๐
Alexander M. Batishchev
Hi, I can provide a mirror, i.e. http://apache.godfather.net.ru let me know if you’re interested in
Anindya Author
@Alexander
Yes, sure. If you can give me ftp details or something, I can upload there too. ๐
Sam
can anyone tell me if the ones he made are usable for promotional use???
Anindya Author
@Sam
I have no idea what you mean by “promotional use”.
By the way, latest version of Apache (2.2.17) can be found here.
Alexander M. Batishchev
I guess he means “production use”
Anindya Author
@Sam
Do you mean “production use”? If yes, then of course you can. You can install and use these binaries in any way you want. ๐
ocpjp
Thanks Anindya.
BTW, why has Apache not made it available from their site?
Anindya Author
You’re welcome. And I have no idea why there are no official 64 bit binaries or official binaries compiled with VC9 at Apache’s site.
Also, I hope you have not installed these as latest version of Apache is available here.
Murrah
I have been searching for the installers and got it here. one question, is it legal to use your binaries and do u have plans to make future installer packages available?
Thanks.
Anindya Author
@Murray
This is a very old post. In case you haven’t noticed, I have been posting installers for newer versions of Apache also. Here’s the most recent version – http://www.anindya.com/apache-http-server-2-2-22-x86-and-x64-windows-installers/.
And I don’t see how using these binaries can be illegal. But you should take a look at the “Cryptographic Software Notice” at the end of this page – http://www.apache.org/dist/httpd/binaries/win32/. It however only applies to the binaries with openssl.
ๆณฝๆฌฃ
่ฐข่ฐขไฝ !
Nicholas Decker
OH MY YES! Thank you for doing this.
I posted it on my blog. Thanks for saving my night!
http://meepfacedecker.com — I can’t pull up the url. Hopefully I can edit this post after my server comes back up
Nicholas
Howard
After screwing around trying to get the latest Apache & PHP installed manually, I finally Googled and found your link. I don’t know why Software developers are the worst people at writing manuals.
After several tries i just decided to fall back to something that works. The latest Stable Release is not stable, and if you can follow the install instructions which are not clear there are still errors and omissions.