Windows

Updated:

Setting up the famous triple threat on Windows is by far the easiest of all the OSes. Very kind people have already made compilations of these programs that should work just fine on Windows 7 and up. Note how I did not say XP. That’s because you should not, under any circumstances, still be using Windows XP, as Microsoft has abandoned it, making it a blackhatter’s playground. But heck, I’ve literally seen Windows 2000 still running on client machines at branches of my bank. But I trust that all of you aspire to be good admins.

Apache

On your secure and up-to-date version of Windows, visit apachelounge.com, where you will find Apache binaries on their download page. This is the best resource for the latest Apache, currently on the 2.4 branch (that won’t stop you from still running into people who think there’s no Apache past 2.2). Anyway, first you’ll want to install the VC11 Redistributable package. Check with Microsoft’s site to make sure you’re getting the latest one. Next, download their ZIP file with a compiled, working, and modern-day version of Apache. They provide an x86 and x64 version. If you’re planning on using the 64-bit version of PHP, then you will need the x64 version of the web server. Otherwise, just do the 32-bit one.

Installation is straightforward. Unzip the folder wherever you like. A common choice is C:\Apache24. When you get a chance, look through INSTALL.txt to get a sense of how ridiculously easy it is to compile Apache on any operating system.

At the root of the ZIP file, there’s a ReadMe.txt that details the last few setup steps.  Don’t forget to add the Apache bin folder to your path. After you’ve done so, go to the command line and say httpd -k install, which installs Apache as a service. Now you should start the service, which you can do by either the httpd -k start command, starting the service explicitly in the services.msc program, or by entering the command NET START Apache2.4. The httpd program should now be up and running. Before starting the server, I always go to a command line and say httpd -t to check for syntax errors in the configuration file. If you see Syntax OK, you’re golden. Otherwise, address any and all errors and warnings, and you should be good to go.

With httpd installed, you should check out my win-a2enmod PowerShell script for managing sites and configuration.

PHP

Installing PHP on Windows is also very straightforward, and the PHP Group was sincere enough to write their own guide. First, go to PHP’s Windows download page, or the quality analysis page for a newer, less stable version. However, if you want to use Xdebug, and you must like torturing yourself if you don’t install that on a development machine, you need to choose a PHP version listed on Xdebug’s site, which should be any stable release.

Since you are using httpd from Apache Lounge, you will want the Thread Safe version. You should choose either x86 or x64 depending on which VC11 Redistributable package you have installed.

It is also customary to unzip the PHP Windows binary into C:\PHP. Of course, you’ll want to add that path to your user or system environment PATH variable so you can easily use the PHP CLI and all that.

To make sure Apache connects with PHP, start by reading PHP’s suggestions. The most important thing is to either use the AddHandler or FilesMatch directive to associate the MIME type application/x-httpd-php with files that end in .php. You may also want to use the PHPIniDir directive to let Apache know where php.ini is. Otherwise, it will search a list of common locations, concluding with C:\Windows.

After restarting the httpd service, PHP should be up and running. You can confirm by loading a PHP script that just calls phpinfo(), but if I were you, I’d get php-console, a very lightweight PHP code sample editor for browsers.

MySQL

Finally, you can sit back and relax while an MSI does all the hard work. Go to the MySQL download page and choose the latest stable version for your OS. Download the installer and run it. You will be walked through setup, including the creation of a root user, password, and other suggested security settings. The installer should add the relevant directories to your path so you can use MySQL programs from the command line. Just make sure that the Workbench and Utilities folders are included. Definitely check out the MySQL Workbench, as it will significantly ease database administration and debugging. It kicks phpMyAdmin’s ass 100 times over. It’s worth taking the time to get used to.

What say you?