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.
By the way, I have also decided to create 64 and 32 bit installers for any future versions of the Apache HTTP Server. 😀
I love you. You saved my day.
I love you more. We desperately needed the x64 binaries in an installer form. Thank you a million times!
I am glad you guys found these binaries useful. 🙂
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?
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. 😀
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.
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. 😀
“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”?
You can use the VC9 versions of PHP with these Apache binaries, cause I compiled them with VC9 too.
ModSecurity v2.5.11 source (Nov 6, 2009) is available at http://www.modsecurity.org/
Thanks for the info, Jay. I will post the 64 bit binaries for modsecurity 2.5.11 now. 🙂
Thanks!!! This saved me MUCH time. I really, really, really appreciate it.
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.
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!!
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/
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.
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
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.
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.
it is working with 5.3.2-dev as well
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
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
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. 🙂
Is there anyway you could post these to a differnent location. Our web filters won’t allow us to visit mediafire. Thanks much.
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
Yes, sure. If you can give me ftp details or something, I can upload there too. 🙂
can anyone tell me if the ones he made are usable for promotional use???
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”
Do you mean “production use”? If yes, then of course you can. You can install and use these binaries in any way you want. 😀
BTW, why has Apache not made it available from their site?
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.
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?
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.
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
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.