Newbie Needs Help With Apache for Windows. (Compiling and Mods)

Posted on 2004-11-11
Last Modified: 2010-03-04
I've been a programmer for quite a while (windows), and recently, I've been playng around with Apache and the Mono project for Windows. I have been able to successfully create some tests with .NET to run with GTK (windows apps) and the mono server (web apps) for Windows. I have also gotten Apache to be working successfully on my Windows server. But when it comes to compiling some of these mods available for Apache, I have no idea what to do.

So starting from the ground up, where do I go and what do I need to do? I need instructions for doing this in Windows.
What compiler(s) do I need?
What is needed for something to be compiled from source code? (Makefile.win32?)
Also, is there a working mod for mono on Apache yet? From the stuff I found recently, it was a no, but a new release has been made, but the other documentation has not yet been updated.

I'd appreciate the help. Thanks in advance.
Question by:jeremypettit
    LVL 1

    Author Comment

    Of the things I've been able to compile has been source code with a "MakeFile.win32" file by running my Visual Studio command line utility and using the nmake command.

    Example: nmake -f makefile.win32

    This then creates a bin directory with my compiled assemblies.
    LVL 4

    Accepted Solution

    There is a mono module called mod_mono ( however it does not work on windows.

    This might help you compile apache on windows:

    From (

    When a module does work, it can be added to the server in one of two ways. As with Unix, it can be compiled into the server. Because Apache for Windows does not have the Configure program of Apache for Unix, the module's source file must be added to the ApacheCore project file, and its symbols must be added to the os\win32\modules.c file.

    The second way is to compile the module as a DLL, a shared library that can be loaded into the server at runtime, using the LoadModule directive. These module DLLs can be distributed and run on any Apache for Windows installation, without recompilation of the server.

    To create a module DLL, a small change is necessary to the module's source file: The module record must be exported from the DLL (which will be created later; see below). To do this, add the MODULE_VAR_EXPORT (defined in the Apache header files) to your module's module record definition. For example, if your module has:

        module foo_module;

    Replace the above with:

        module MODULE_VAR_EXPORT foo_module;

    Note that this will only be activated on Windows, so the module can continue to be used, unchanged, with Unix if needed. Also, if you are familiar with .DEF files, you can export the module record with that method instead.

    Now, create a DLL containing your module. You will need to link this against the ApacheCore.lib export library that is created when the ApacheCore.dll shared library is compiled. You may also have to change the compiler settings to ensure that the Apache header files are correctly located.

    This should create a DLL version of your module. Now simply place it in the modules directory of your server root, and use the LoadModule directive to load it.

    Not really a windows programmer myself but it looks like it might help, good luck
    LVL 1

    Author Comment

    Thanks, for your reply, and sorry I haven't responded right away. I've been pretty busy, but I should be able to dig into this later this coming weekend. Thanks again.

    Featured Post

    How to improve team productivity

    Quip adds documents, spreadsheets, and tasklists to your Slack experience
    - Elevate ideas to Quip docs
    - Share Quip docs in Slack
    - Get notified of changes to your docs
    - Available on iOS/Android/Desktop/Web
    - Online/Offline

    Join & Write a Comment

    Over the last year I have answered a couple of basic URL rewriting questions several times so I thought I might as well have a stab at: explaining the basics, providing a few useful links and consolidating some of the most common queries into a sing…
    Hi, in this article I'm going to teach you how to run your own site, and how to let people in (without IP). I'll talk about and explain each step... :) By the way, everything in this Tutorial is completely free and legal. This article is for …
    Hi everyone! This is Experts Exchange customer support.  This quick video will show you how to change your primary email address.  If you have any questions, then please Write a Comment below!
    In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

    731 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    15 Experts available now in Live!

    Get 1:1 Help Now