Since the arrival of the open source Apache Web server in the mid-1990s, the popular Web platform has skyrocketed in popularity and has been ported to many operating systems, including Windows. In this week’s Network Tech Review, I will show you how to install and configure Apache Web server on a Windows machine.

A little background on Apache
In 1995, a group of Webmasters that called themselves “The Apache Group” took a popular public domain HTTP daemon created by the National Center for Supercomputing Applications (NCSA) and put together its own server extensions, bug fixes, and other patches. The group decided that it would make the result of its efforts available as a free, public distribution.

One year after its release, Apache 1.0 had become the most widely used Web server on the Internet. And according to a Netcraft Web Server survey, Apache remains the most popular Web server on the Internet today, with roughly 58 percent of the market share. Best of all, the Apache Web server remains completely free.

Apache was initially developed for UNIX-based systems. However, as I mentioned above, it has been rapidly ported to other operating systems because it’s an open source product. The Windows version of Apache Web server is designed to run on Windows NT 4.0 or Windows 2000. It can run on other 32-bit versions of Windows, such as Windows 9x and Millennium Edition, but it hasn’t been tested or optimized for these platforms.

Our first step in using the Apache Web server on Windows is to download the Win32 installation package from the Apache Server Project’s Web site.

Collect your data first
Once you’ve downloaded the Apache Server for Windows package, I suggest that you gather the following information before installing it:

  • Your domain name
    Make sure you know the primary network domain name your Web server will be using (e.g., Obviously, this name should be registered with an Internet authority, such as Network Solutions.
  • The hostname of your server
    You will need to know the hostname assigned to the server on which you plan to install Apache. In Windows 2000, this is the same as the computer name. In Windows NT, this is set in the DNS settings of the network card. For example, you may call the machine “webserver,” which would make the fully qualified domain name “” You need to know this name so that you can register it in your DNS server, telling DNS to send any requests for to be fulfilled by
  • Administrator’s e-mail address
    Decide on an admin e-mail address for users to reach you. Most Web administrators use something like or

Once you’ve collected the information, you’re ready to begin installing the Apache Web server.

The installation
To begin the installation, double-click the executable program you downloaded from the Apache Web site. The setup program will automatically execute like most Windows installers, as shown in Figure A.

Figure A
When you double-click the executable, the Apache Installation Wizard will launch.

After clicking Next to continue the installation, you’ll be prompted to accept or decline the standard license agreement that accompanies the software. Although the software is technically free, it’s important that users understand and agree to open source software licensing.

As with most software you install, you’ll want to skim through the Read This First screen, shown in Figure B, to find out more about the Windows Apache Web server and learn about any known conflicts and last-minute patches.

Figure B
Be sure to check the Read This First file for updates made to the server since its last release.

In the Server Information step of the installation, you’ll tell the Apache server what domain it’s located on, the name of the server, and the e-mail address of the individual who will be administrating the server. You can also opt to have the Apache server running for every user who logs in to the machine or for just a single user. Figure C shows an example of how this setup should look.

Figure C
The Server Information screen lets you plug in the data you collected before the installation.

In the next step, you can choose how you’d like to install the server: Complete or Custom. The program recommends that you select the Complete option, but if you want to remove a component from the installation process, select Custom. Finally, choose the directory the Apache Server will install to and tell the program to install the application.

Setting up your server
Once the server has completed its installation, you’ll need to set up the configuration files on the machine. Figure D shows the configuration file, also known as httpd.conf. With this file, the Apache server will be able to determine what directories virtual hosts are located in, whether the server is a stand-alone machine, what ports the server will operate under, and other important functions. You can also change the network information you entered during the installation process, if necessary. For assistance setting up the configuration file, just visit the FAQ located on the Apache Web site.

Figure D
Use the httpd.conf file to customize the settings of Apache Web server.

Starting your server
Once you’re happy with the configuration of the Apache Web server, you can start the services. Figure E illustrates how this is done.

Figure E
To start Apache, click Start | Programs | Apache httpd Server | Control Apache Server | Start.

After starting the Apache server, you can check to see if it’s working properly. Open a Web browser on the machine running the Apache Server, type localhost, and press [Enter]. If the installation went smoothly, you should see a Web page informing you that the installation was a success. From this point, all you have to do is put content into the htdocs folder, located under the Apache directory, and the Web server will start serving up pages.

In this article, I’ve shown you how to install and set up a basic Apache Web server on Windows. To optimize Apache and make sure you get the most out of it, refer to the documentation on Apache’s Web site.
Have you ever used Apache Web server on Windows? If so, we’d like your input on using and optimizing it. Feel free to leave a post below or send us a note with your thoughts.