| README for Apache 2.0 Example Module |
| [April, 1997, updated May 2000] |
| |
| The files in the src/modules/example 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.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-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 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/experimental/mod_example.c modules/experimental/mod_myexample.c |
| B. Modify the file |
| C. Add an entry to modules/experimental/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\experimental\mod_example.c modules\experimental\mod_myexample.c |
| B. copy modules\experimental\mod_example.dsp modules\experimental\mod_myexample.dsp |
| C. replace the occurances of 'example' 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-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-handler .example |
| |
| After reloading/restarting your server, you should be able to browse |
| to this location and see the brief display mentioned earlier. |