Building from source

If you didn't download the source, but instead got the binary distribution, then you can skip this bit.

If you have the source, however, you should first unzip it into your Apache install directory. Then, edit the makefile so that it fits your local setup. If you have Visual C++ 5, you'll need to add an include directive to the .c.obj rule, pointing to the include directory of the platform SDK.

Also check the C runtime library settings. The default is to use the multithreaded dynamic library (/MD). If you compiled your apachecore.dll with another setting, you'll need to change this to be the same.

Once the makefile is ok, all you should need to do is:

and the module will be built. If you can't build the module, email me (my address is at the bottom of this page), and send a copy of the compiler's output.

Installing the binary

Once you have a binary, copy it into the modules directory where Apache is installed and add the following line to your httpd.conf, just after all the existing LoadModule directives:
LoadModule ntlm_module modules/

mod_ntlm directives


Set this to 'on' to activate mod_ntlm.


Set this to 'off' if you don't want to authenticate users using the NTLM authentication protocol. See also NTLMOfferBasic.


Set this to 'off' to allow access control to be passed along to lower modules if the UserID is not known to this module.


Set this to 'on' if you want to offer Basic HTTP authentication as an option to clients. See also NTLMOfferNTLM and NTLMBasicPreferred.


Set to the name of the domain you want users authenticated agains for basic authentication. If not specified, the local machine, then all trusted domains are checked.


Set to 'on' if you want basic authentication to be offered to clients before NTLM.


Set to 'on' if you expect MSIE 3 clients to be using this server. This is a kludge so that an HTTP/1.0 client can be offered a keepalive connection, which is necessary for NTLM authentication to work.

This document was last updated Friday, 12th October 2001.