Install Apache 2.2.9 to Windows Vista (Ultimate)

In this article I'll be covering an installation of Apache 2.2.9 to Windows Vista Ultimate. I'll be installing Apache so that you can run IIS as well (hence, Apache will be on a different port). You may want to do this if you want to run Subversion on Apache (as I do).

Installing Apache 2.2

Currently the Apache HTTP Server has both a 2.0 and 2.2 version. For new development, the 2.2 version is the recommended verison, as it contains many new features. If you currently have Apache 2.0 or 1.3, you may want to determine whether you still require those older versions (such as for module support).

For this installation I'll be using the current Win32 binary, with SSL (Apache 2.2.9 with OpenSSL 0.9.8h). Download and run the MSI.

I won't be covering the SSL aspect here, so feel free to go with the installer that doesn't have it, if you won't be needing it.

As with all installers, read through the screens, pressing Next as you go.

Eventually you'll come upon a Server Information screen, which you update like the below.

Apache 2.2.9 Install Server Information

You can change all of these settings later.

Note that while IIS runs on port 80 by default, if you want Apache to run for all users, as a service, this is the easiest way to do so. Later, as we'll see, Apache won't be able to start, since IIS is already using port 80. However, we can change the port to get it working.

Apache 2.2.9 Install - Apache fails to start

Getting Apache to start

To do this you'll need to open the httpd.conf file in the conf directory, within the Apache install directory.

Apache 2.2.9 Install - httpd.conf

If you've installed to the system drive (usually C), you'll be unable to save changes unless you run your editor as an administrator.

It's easiest to go to the Start menu, type Notepad, right-click on the application when it appears, and Run as administrator. You'll then be able to open the httpd.conf file and save your changes.

What to change

To have Apache listen on a different port you just need to find instances of port 80, and change them to another, un-used, port. 8080 is pretty common.

There will be one main instance, just a short distance down: Listen 80

Change this to the new port (Listen 8080) and you should be able to start Apache through the Monitor.

Of course, if you haven't installed IIS, you can leave the port as it is. Since the port is controlled by the httpd configuration file, it's relatively easy to update this as necessary.

Testing

Test the installation by visiting http://localhost:8080/. Assuming everything worked, you'll be presented with a message stating that "It works!"