old-www/HOWTO/Apache-Overview-HOWTO-12.html

58 lines
3.2 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
<TITLE>Apache Overview HOWTO: Writing Apache modules</TITLE>
<LINK HREF="Apache-Overview-HOWTO-13.html" REL=next>
<LINK HREF="Apache-Overview-HOWTO-11.html" REL=previous>
<LINK HREF="Apache-Overview-HOWTO.html#toc12" REL=contents>
</HEAD>
<BODY>
<A HREF="Apache-Overview-HOWTO-13.html">Next</A>
<A HREF="Apache-Overview-HOWTO-11.html">Previous</A>
<A HREF="Apache-Overview-HOWTO.html#toc12">Contents</A>
<HR>
<H2><A NAME="s12">12. Writing Apache modules</A></H2>
<P>Apache, like many other successful open source projects, has a modular architecture.
This means that to add or modify functionality you do not need to know the whole
code base.
Source code access for Apache means that you can custom build the server with only the
modules that you need and include your own.
<P>Extending Apache can be done in C or in a variety of other languages using appropriate modules.
These modules expose Apache's internal functionality to different programming languages like Perl or Tcl.
<P><B>Writing modules in C</B>: Apache is written in C and so are the modules distributed with Apache.
The best way to get started writing Apache modules is to read Doug MacEachern and Lincoln Stein's book
<A HREF="http://www.modperl.com">Writing Apache modules with Perl and C</A>. It is a well-written, easy to read book by two
Apache and Perl gurus. The above link will lead you to the book website, which has some of its chapters online.
If you don'e have the money to buy the book and cannot borrow it from a friend, there are other ways.
You can read some of the online tutorials on writing Apache modules: Ken Coar, an Apache Group member, has a nice
<A HREF="http://web.golux.com/coar/slides/">tutorial and slides online</A>.
An overview of the Apache architecture can be found
<A HREF="http://www.grad.math.uwaterloo.ca/~oadragoi/CS746G/a1/apache_conceptual_arch.html">here</A>.
The Apache website has some
<A HREF="http://www.apache.org/docs/misc/API.html">API notes</A> that can help you get started. You are also encouraged to browse the
source code of the modules included with Apache. Apache includes a simple one
(mod_example.c) for that purpose.
<P><B>Writing Apache modules in other languages</B>: There is a variety of Apache
modules that enable third party languages to access the internal Apache API.
The most popular is
<A HREF="Apache-Overview-HOWTO-17.html#mod_perl">mod_perl</A>.
<P>If you have any questions about the development of an Apache module you
should join the Apache modules mailing list at
<A HREF="http://modules.apache.org">http://modules.apache.org</A>.
Remember to do your homework first, research past messages and check
all the documentation previously described. Chances are somebody had the
same problem that you are experiencing and he got an useful response.
<P>If you are interested in the development of core Apache itself, you should
checkout the
<A HREF="http://dev.apache.org">Apache development site</A>.
<P>
<P>
<HR>
<A HREF="Apache-Overview-HOWTO-13.html">Next</A>
<A HREF="Apache-Overview-HOWTO-11.html">Previous</A>
<A HREF="Apache-Overview-HOWTO.html#toc12">Contents</A>
</BODY>
</HTML>