Apache under Windows Page 7

XBitHack is an enormously useful directive that turns on SSI processing on files with the execute bit set. This allows a happy medium between changing filenames to something.shtml and having every .html file parsed for SSI directives.

Alas, NT does not have an execute bit to set. So, this wonderful directive does not work.

Not that anyone ever uses the ServerType directive in real life, but it's worth mentioning that the inetd setting of this directive means absolutely nothing to NT, and so you should not use it. Of course, the Apache documentation now recommends that you not use the inetd setting anywhere else, either, so that's just as well.


This is not a big difference, but it is worth mentioning. On Unix, the default encryption scheme used for the password files used for HTTP authentication is Unix crypt. On Windows, it is MD5.

In earlier versions of Apache on Windows, the password files were actually plaintext, and you will still find online documentation that says that this is still the case. Ignore it. Apache for Windows comes with a htpasswd.exe utility that works exactly like the htpasswd utility on Unix, for creating password files. Or you can use modules from the Perl HTTPD-User-Manage package to manage your password files.

Service vs. console

Apache on NT can be run in one of two modes -- as a service, or as a console application.


An NT service is a process that is started automatically when NT starts up, and runs in the background as long as NT is running. This is roughly the same as the way that Apache runs on a Unix machine, for all practical purposes. If you're going to run Apache on a production server, you need to run it as a service, so that it will start automatically when you boot your system.

There are a few different ways to install Apache as an NT service.

The easiest is to just select the Install Apache as Service (NT only) option in the Apache folder in your start menu. This installs Apache as an NT service called Apache.

If you want to install it with different service name, or to start with a different configuration than the default, you can install the service from the command line with command line options:

        apache -i -n "service name"

Installs Apache with the service name service name.

        apache -i -n "service name" -f "\httpd\alternative\httpd.conf"

Installs Apache with the service name service name, and it will run with configuration options set in the specified configuration file.

To uninstall the Apache service,

        apache -u -n "service name"

You can start and stop the Apache service in a number of ways. There is a services dialog that can be reached from the NT control panel, where you can press start and stop buttons.

You can send signals to the Apache service from the command line with the commands:

    apache -n "service name" -k start
    apache -n "service name" -k restart
    apache -n "service name" -k shutdown

Or, you can use the NT net command.

        net start apache
        net stop apache


This article was originally published on Jan 17, 2001

Thanks for your registration, follow us on our social networks to keep up-to-date