| README for Apache 2.0 Example Module |
| [April, 1997, updated May 2000] |
| |
| The files in the src/modules/examples directory under the Apache |
| distribution directory tree are provided as an example to those that |
| wish to write modules that use the Apache API. |
| |
| The main file is mod_example_hooks.c, which illustrates all the different |
| callback mechanisms and call syntaces. By no means does an add-on |
| module need to include routines for all of the callbacks - quite the |
| contrary! |
| |
| The example module is an actual working module. If you link it into |
| your server, enable the "example-hooks-handler" handler for a location, |
| and then browse to that location, you will see a display of some of the |
| tracing the example module did as the various callbacks were made. |
| |
| To include the example module in your server add --enable-example-hooks |
| to the other ./configure arguments executed from the httpd source tree. |
| After that run 'make'. |
| |
| To add another module of your own: |
| |
| A. cp modules/examples/mod_example_hooks.c modules/examples/mod_myexample.c |
| B. Modify the file |
| C. Add an entry to modules/examples/config.m4, e.g. |
| APACHE_MODULE(myexample, my new module, , , no) |
| The last argument specifies if the module is built by-default |
| D. Build the server with --enable-myexample |
| |
| For windows, the process is slightly different; |
| |
| A. copy modules\examples\mod_example_hooks.c modules\examples\mod_myexample.c |
| B. copy modules\examples\mod_example_hooks.dsp modules\examples\mod_myexample.dsp |
| C. replace the occurances of 'example_hooks' with your module name. |
| D. add the new .dsp to your Apache.dsw workspace, with dependencies |
| on the libapr, libaprutil and libhttpd projects. With the newer |
| Developer Studio 2002 through 2005, when you add the new .dsp |
| file it will be converted to a .vcproj file. |
| |
| To activate the example module, include a block similar to the |
| following in your httpd.conf file: |
| |
| <Location /example-info> |
| SetHandler example-hooks-handler |
| </Location> |
| |
| As an alternative, you can put the following into a .htaccess file and |
| then request the file "test.example" from that location: |
| |
| AddHandler example-hooks-handler .example |
| |
| After reloading/restarting your server, you should be able to browse |
| to this location and see the brief display mentioned earlier. |