1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7 --><title>Compiling and Installing - Apache HTTP Server</title><link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /><link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /><link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link href="./images/favicon.ico" rel="shortcut icon" /></head><body id="manual-page"><div id="page-header"><p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p><p class="apache">Apache HTTP Server Version 2.0</p><img alt="" src="./images/feather.gif" /></div><div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div><div id="path"><a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs-project/">Documentation</a> > <a href="./">Version 2.0</a></div><div id="page-content"><div id="preamble"><h1>Compiling and Installing</h1>
9 <p>This document covers compilation and installation of Apache
10 on Unix and Unix-like systems only. For compiling and
11 installation on Windows, see <a href="platform/windows.html">Using Apache with Microsoft
12 Windows</a>. For other platforms, see the <a href="platform/">platform</a> documentation.</p>
14 <p>Apache 2.0's configuration and installation environment has
15 changed completely from Apache 1.3. Apache 1.3 used a custom
16 set of scripts to achieve easy installation. Apache 2.0 now
17 uses <code>libtool</code> and <code>autoconf</code>
18 to create an environment that looks like many other Open Source
21 </div><div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#overview">Overview for the
22 impatient</a></li><li><img alt="" src="./images/down.gif" /> <a href="#requirements">Requirements</a></li><li><img alt="" src="./images/down.gif" /> <a href="#download">Download</a></li><li><img alt="" src="./images/down.gif" /> <a href="#extract">Extract</a></li><li><img alt="" src="./images/down.gif" /> <a href="#configure">Configuring the source tree</a></li><li><img alt="" src="./images/down.gif" /> <a href="#compile">Build</a></li><li><img alt="" src="./images/down.gif" /> <a href="#install">Install</a></li><li><img alt="" src="./images/down.gif" /> <a href="#customize">Customize</a></li><li><img alt="" src="./images/down.gif" /> <a href="#test">Test</a></li></ul><h3>See also</h3><ul class="seealso"><li><a href="invoking.html">Starting</a></li><li><a href="stopping.html">Stopping or Restarting</a></li></ul></div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="overview" id="overview">Overview for the
27 <td><a href="#download">Download</a></td>
30 http://www.apache.org/dist/httpd/httpd-2_0_<em>NN</em>.tar.gz</code>
35 <td><a href="#extract">Extract</a></td>
37 <td><code>$ gzip -d httpd-2_0_<em>NN</em>.tar.gz<br />
38 $ tar xvf httpd-2_0_<em>NN</em>.tar</code> </td>
42 <td><a href="#configure">Configure</a></td>
44 <td><code>$ ./configure --prefix=<em>PREFIX</em></code>
49 <td><a href="#compile">Compile</a></td>
51 <td><code>$ make</code> </td>
55 <td><a href="#install">Install</a></td>
57 <td><code>$ make install</code> </td>
61 <td><a href="#customize">Customize</a></td>
63 <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
67 <td><a href="#test">Test</a></td>
69 <td><code>$ <em>PREFIX</em>/bin/apachectl start</code>
74 <p><em>NN</em> must be replaced with the current minor version
75 number, and <em>PREFIX</em> must be replaced with the
76 filesystem path under which the server should be installed. If
77 <em>PREFIX</em> is not specified, it defaults to
78 <code>/usr/local/apache2</code>.</p>
80 <p>Each section of the compilation and installation process is
81 described in more detail below, beginning with the requirements
82 for compiling and installing Apache HTTPD.</p>
83 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="requirements" id="requirements">Requirements</a></h2>
85 <p>The following requirements exist for building Apache:</p>
89 <dd>Make sure you have at least 50 MB of temporary free disk
90 space available. After installation Apache occupies
91 approximately 10 MB of disk space. The actual disk space
92 requirements will vary considerably based on your chosen
93 configuration options and any third-party modules.</dd>
95 <dt>ANSI-C Compiler and Build System</dt>
96 <dd>Make sure you have an ANSI-C compiler installed. The <a href="http://www.gnu.org/software/gcc/gcc.html">GNU C
97 compiler (GCC)</a> from the <a href="http://www.gnu.org/">Free Software Foundation (FSF)</a>
98 is recommended (version 2.7.2 is fine). If you don't have GCC
99 then at least make sure your vendor's compiler is ANSI
100 compliant. In addition, your <code>PATH</code> must contain
101 basic build tools such as <code>make</code>.</dd>
103 <dt>Accurate time keeping</dt>
104 <dd>Elements of the HTTP protocol are expressed as the time of
105 day. So, it's time to investigate setting some time
106 synchronization facility on your system. Usually the
107 <code>ntpdate</code> or <code>xntpd</code> programs are used for
108 this purpose which are based on the Network Time Protocol (NTP).
109 See the Usenet newsgroup <a href="news:comp.protocols.time.ntp">comp.protocols.time.ntp</a>
110 and the <a href="http://www.eecis.udel.edu/~ntp/">NTP
111 homepage</a> for more details about NTP software and public
114 <dt><a href="http://www.perl.org/">Perl 5</a>
116 <dd>For some of the support scripts like <a href="programs/apxs.html">apxs</a> or <a href="programs/dbmmanage.html">dbmmanage</a> (which are
117 written in Perl) the Perl 5 interpreter is required (versions
118 5.003 or newer are sufficient). If no such interpreter is found by
119 the `<code>configure</code>' script there is no harm. Of course, you
120 still can build and install Apache 2.0. Only those support scripts
121 cannot be used. If you have multiple Perl interpreters
122 installed (perhaps a Perl 4 from the vendor and a Perl 5 from
123 your own), then it is recommended to use the <code>--with-perl</code>
124 option (see below) to make sure the correct one is selected
125 by <code>./configure</code>.</dd>
127 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="download" id="download">Download</a></h2>
129 <p>Apache can be downloaded from the <a href="http://www.apache.org/dist/httpd/">Apache Software
130 Foundation download site</a> or from a <a href="http://www.apache.org/dyn/closer.cgi/httpd/">nearby
133 <p>Version numbers that end in <code>alpha</code> indicate
134 early pre-test versions which may or may not work. Version
135 numbers ending in <code>beta</code> indicate more reliable
136 releases that still require further testing or bug fixing. If
137 you wish to download the best available production release of
138 the Apache HTTP Server, you should choose the latest version
139 with neither <code>alpha</code> nor <code>beta</code> in its
142 <p>After downloading, especially if a mirror site is used, it
143 is important to verify that you have a complete and unmodified
144 version of the Apache HTTP Server. This can be accomplished by
145 testing the downloaded tarball against the PGP signature. This,
146 in turn, is a two step procedure. First, you must obtain the
147 <code>KEYS</code> file from the <a href="http://www.apache.org/dist/httpd/">Apache distribution
148 site</a>. (To assure that the <code>KEYS</code> file itself has
149 not been modified, it may be a good idea to use a file from a
150 previous distribution of Apache or import the keys from a
151 public key server.) The keys are imported into your personal
152 key ring using one of the following commands (depending on your
155 <div class="example"><p><code>$ pgp < KEYS</code></p></div>
159 <div class="example"><p><code>$ gpg --import KEYS</code></p></div>
161 <p>The next step is to test the tarball against the PGP
162 signature, which should always be obtained from the <a href="http://www.apache.org/dist/httpd/">main Apache
163 website</a>. The signature file has a filename identical to the
164 source tarball with the addition of <code>.asc</code>. Then you
165 can check the distribution with one of the following commands
166 (again, depending on your pgp version):</p>
168 <div class="example"><p><code>$ pgp httpd-2_0_<em>NN</em>.tar.gz.asc</code></p></div>
172 <div class="example"><p><code>$ gpg --verify httpd-2_0_<em>NN</em>.tar.gz.asc</code></p></div>
174 <p>You should receive a message like</p>
176 <div class="example"><p><code>Good signature from user "Martin Kraemer
177 <martin@apache.org>".</code></p></div>
179 <p>Depending on the trust relationships contained in your key
180 ring, you may also receive a message saying that the
181 relationship between the key and the signer of the key cannot
182 be verified. This is not a problem if you trust the
183 authenticity of the <code>KEYS</code> file.</p>
185 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="extract" id="extract">Extract</a></h2>
187 <p>Extracting the source from the Apache HTTPD tarball is a
188 simple matter of uncompressing, and then untarring:</p>
190 <div class="example"><p><code>
191 $ gzip -d httpd-2_0_<em>NN</em>.tar.gz<br />
192 $ tar xvf httpd-2_0_<em>NN</em>.tar
195 <p>This will create a new directory under the current directory
196 containing the source code for the distribution. You should
197 <code>cd</code> into that directory before proceeding with
198 compiling the server.</p>
199 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="configure" id="configure">Configuring the source tree</a></h2>
201 <p>The next step is to configure the Apache source tree for
202 your particular platform and personal requirements. This is
203 done using the script <code>configure</code> included in the
204 root directory of the distribution. (Developers downloading the
205 CVS version of the Apache source tree will need to have
206 <code>autoconf</code> and <code>libtool</code> installed and
207 will need to run <code>buildconf</code> before proceeding with
208 the next steps. This is not necessary for official
211 <p>To configure the source tree using all the default options,
212 simply type <code>./configure</code>. To change the default
213 options, <code>configure</code> accepts a variety of variables
214 and command line options. Environment variables are generally
215 placed before the <code>./configure</code> command, while other
216 options are placed after. The most important option here is the
217 location prefix where Apache is to be installed later, because
218 Apache has to be configured for this location to work
219 correctly. But there are a lot of other options available for
222 <p>For a short impression of what possibilities you have, here
223 is a typical example which compiles Apache for the installation
224 tree <code>/sw/pkg/apache</code> with a particular compiler and flags
225 plus the two additional modules <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> and
226 <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> for
227 later loading through the DSO mechanism:</p>
229 <div class="example"><p><code>
230 $ CC="pgcc" CFLAGS="-O2" \<br />
231 ./configure --prefix=/sw/pkg/apache \<br />
232 --enable-rewrite=shared \<br />
233 --enable-speling=shared
236 <p>When <code>configure</code> is run it will take several minutes to
237 test for the availability of features on your system and build
238 Makefiles which will later be used to compile the server.</p>
240 <p>The easiest way to find all of the configuration flags for
241 Apache is to run <code>./configure --help</code>. What follows is a
242 brief description of most of the arguments and environment
245 <h3><a name="environment" id="environment">Environment Variables</a></h3>
247 <p>The <code>autoconf</code> build process uses several environment
248 variables to configure the build environment. In general, these
249 variables change the method used to build Apache, but not the
250 eventual features of the server. These variables can be placed
251 in the environment before invoking <code>configure</code>, but
252 it is usually easier to specify them on the
253 <code>configure</code> command line as demonstrated in the
257 <dt><code>CC=...</code></dt>
259 <dd>The name of the C compiler command.</dd>
261 <dt><code>CPPFLAGS=...</code></dt>
263 <dd>Miscellaneous C preprocessor and compiler options.</dd>
265 <dt><code>CFLAGS=...</code></dt>
267 <dd>Debugging and optimization options for the C
270 <dt><code>LDFLAGS=...</code></dt>
272 <dd>Miscellaneous options to be passed to the linker.</dd>
274 <dt><code>LIBS=...</code></dt>
276 <dd>Library location information ("<code>-L</code>" and
277 "<code>-l</code>" options) to pass to the linker.</dd>
279 <dt><code>INCLUDES=...</code></dt>
281 <dd>Header file search directories ("<code>-I<em>dir</em></code>").</dd>
283 <dt><code>TARGET=...</code> [Default: <code>apache</code>]</dt>
285 <dd>Name of the executable which will be built.</dd>
287 <dt><code>NOTEST_CPPFLAGS=...</code></dt>
289 <dt><code>NOTEST_CFLAGS=...</code></dt>
291 <dt><code>NOTEST_LDFLAGS=...</code></dt>
293 <dt><code>NOTEST_LIBS=...</code></dt>
295 <dd>These variables share the same function as their
296 non-<code>NOTEST</code> namesakes. However, the variables are
297 applied to the build process only after autoconf has performed its
298 feature testing. This allows the inclusion of flags which
299 will cause problems during feature testing, but must be used
300 for the final compilation.</dd>
302 <dt><code>SHLIB_PATH=...</code></dt>
304 <dd>Options which specify shared library paths for the
305 compiler and linker.</dd>
309 <h3><a name="output" id="output">autoconf Output Options</a></h3>
312 <dt><code>--help</code></dt>
314 <dd>Prints the usage message including all available options,
315 but does not actually configure anything.</dd>
317 <dt><code>--quiet</code></dt>
319 <dd>Prevents the printing of the usual "<code>checking...</code>"
322 <dt><code>--verbose</code></dt>
324 <dd>Prints much more information during the configuration
325 process, including the names of all the files examined.</dd>
329 <h3><a name="pathnames" id="pathnames">Pathnames</a></h3>
331 <p>There are currently two ways to configure the pathnames
332 under which Apache will install its files. First, you can
333 specify a directory and have Apache install itself under that
334 directory in its default locations.</p>
337 <dt><code>--prefix=<em>PREFIX</em></code> [Default:
338 <code>/usr/local/apache2</code>]</dt>
340 <dd>Specifies the directory under which the Apache files will
344 <p>It is possible to specify that architecture-dependent files
345 should be placed under a different directory.</p>
348 <dt><code>--exec-prefix=<em>EPREFIX</em></code> [Default:
349 <code><em>PREFIX</em></code>]</dt>
351 <dd>Specifies the directory under which
352 architecture-dependent files will be placed.</dd>
355 <p>The second, and more flexible way to configure the install
356 path locations for Apache is using the
357 <code>config.layout</code> file. Using this method, it is
358 possible to separately specify the location for each type of
359 file within the Apache installation. The
360 <code>config.layout</code> file contains several example
361 configurations, and you can also create your own custom
362 configuration following the examples. The different layouts in
363 this file are grouped into <code><Layout
364 FOO>...</Layout></code> sections and referred to by
365 name as in <code>FOO</code>.</p>
368 <dt><code>--enable-layout=<em>LAYOUT</em></code></dt>
370 <dd>Use the named layout in the <code>config.layout</code>
371 file to specify the installation paths.</dd>
376 <h3><a name="modules" id="modules">Modules</a></h3>
378 <p>Apache is a modular server. Only the most basic
379 functionality is included in the core server. Extended features
380 are available in various modules. During the configuration
381 process, you must select which modules to compile for use with
382 your server. You can view a <a href="mod/index.html">list of modules</a> included in
383 the documentation. Those modules with a <a href="mod/module-dict.html#Status">status</a> of "Base" are
384 included by default and must be specifically disabled if you do
385 not want them (e.g. <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code>). Modules with any
386 other status must be specifically enabled if you wish to use them
387 (e.g. <code class="module"><a href="./mod/mod_expires.html">mod_expires</a></code>).</p>
389 <p>There are two ways for a module to be compiled and used with
390 Apache. Modules may be <em>statically compiled</em>, which
391 means that they are permanently included in the Apache binary.
392 Alternatively, if your operating system supports Dynamic Shared
393 Objects (DSOs) and <code>autoconf</code> can detect that support, then
394 modules may be <em>dynamically compiled</em>. DSO modules are
395 stored separately from the Apache binary, and may be included
396 or excluded from the server using the run-time configuration
397 directives provided by <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>.
398 The mod_so is automatically included in the server if any
399 dynamic modules are included in the compilation. If you would
400 like to make your server capable of loading DSOs without
401 actually compiling any dynamic modules, you can explicitly
402 <code>--enable-so</code>.</p>
405 <dt><code>--enable-<em>MODULE</em>[=shared]</code></dt>
407 <dd>Compile and include the module <em>MODULE</em>. The
408 identifier <em>MODULE</em> is the <a href="mod/module-dict.html#ModuleIdentifier">Module
409 Identifier</a> from the module documentation without the
410 "_module" string. To compile the module as a DSO, add the
411 option <code>=shared</code>.</dd>
413 <dt><code>--disable-<em>MODULE</em></code></dt>
415 <dd>Remove the module <em>MODULE</em> which would otherwise
416 be compiled and included.</dd>
418 <dt><code>--enable-modules=<em>MODULE-LIST</em></code></dt>
420 <dd>Compile and include the modules listed in the
421 space-separated <em>MODULE-LIST</em>.</dd>
424 <code>--enable-mods-shared=<em>MODULE-LIST</em></code></dt>
426 <dd>Compile and include the modules in the space-separated
427 <em>MODULE-LIST</em> as dynamically loadable (DSO)
431 <p>The <em>MODULE-LIST</em> in the
432 <code>--enable-modules</code> and
433 <code>--enable-mods-shared</code> options is usually a
434 space-separated list of module identifiers. For example, to
435 enable <code class="module"><a href="./mod/mod_dav.html">mod_dav</a></code> and <code class="module"><a href="./mod/mod_info.html">mod_info</a></code>,
436 you can either use</p>
438 <div class="example"><p><code>./configure --enable-dav --enable-info</code></p></div>
440 <p>or, equivalently,</p>
442 <div class="example"><p><code>./configure --enable-modules="dav info"</code></p></div>
444 <p>In addition, the special keywords <code>all</code> or
445 <code>most</code> can be used to add all or most of the modules
446 in one step. You can then remove any modules that you do not
447 want with the <code>--disable-<em>MODULE</em></code> option.
448 For example, to include all modules as DSOs with the exception
449 of <code class="module"><a href="./mod/mod_info.html">mod_info</a></code>, you can use</p>
451 <div class="example"><p><code>
452 ./configure --enable-mods-shared=all
456 <p>In addition to the standard set of modules, Apache 2.0 also
457 includes a choice of <a href="mpm.html">Multi-Processing
458 Modules</a> (MPMs). One, and only one MPM must be included in
459 the compilation process. The default MPMs for each platform are
460 listed on the <a href="mpm.html">MPM documentation page</a>,
461 but can be overridden on the <code>configure</code> command
465 <dt><code>--with-mpm=<em>NAME</em></code></dt>
467 <dd>Choose the mpm <em>NAME</em>.</dd>
471 <h3><a name="dbm" id="dbm">DBM</a></h3>
473 <p>Several Apache features, including
474 <code class="module"><a href="./mod/mod_authn_dbm.html">mod_authn_dbm</a></code> and <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code>'s
475 DBM <code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> use
476 simple key/value databases for quick lookups of information. Apache
477 includes SDBM with its source-code, so this database is always
478 available. If you would like to use other database types, the
479 following <code>configure</code> options are available:</p>
482 <dt><code>--with-gdbm[=<em>path</em>]</code></dt>
483 <dt><code>--with-ndbm[=<em>path</em>]</code></dt>
484 <dt><code>--with-berkeley-db[=<em>path</em>]</code></dt>
486 <dd>If no <em>path</em> is specified, Apache will search for the
487 include files and libraries in the usual search paths. An explict
488 <em>path</em> will cause Apache to look in
489 <em>path</em><code>/lib</code> and
490 <em>path</em><code>/include</code> for the relevant files. Finally,
491 the <em>path</em> may specify specific include and library paths
492 seperated by a colon.</dd>
497 <h3><a name="suexec" id="suexec">Suexec</a></h3>
499 <p>Apache includes a support program called <a href="suexec.html">suexec</a> which can be used to isolate user
500 CGI programs. However, if suexec is improperly configured, it
501 can cause serious security problems. Therefore, you should
502 carefully read and consider the <a href="suexec.html">suexec
503 documentation</a> before implementing this feature.</p>
505 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="compile" id="compile">Build</a></h2>
507 <p>Now you can build the various parts which form the Apache
508 package by simply running the command:</p>
510 <div class="example"><p><code>$ make</code></p></div>
512 <p>Please be patient here, since a base configuration takes
513 approximately 3 minutes to compile under a Pentium III/Linux
514 2.2 system, but this will vary widely depending on your
515 hardware and the number of modules which you have enabled.</p>
516 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="install" id="install">Install</a></h2>
518 <p>Now its time to install the package under the configured
519 installation <em>PREFIX</em> (see <code>--prefix</code> option
520 above) by running:</p>
522 <div class="example"><p><code>$ make install</code></p></div>
524 <p>If you are upgrading, the installation will not overwrite
525 your configuration files or documents.</p>
526 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="customize" id="customize">Customize</a></h2>
528 <p>Next, you can customize your Apache HTTP server by editing
529 the <a href="configuring.html">configuration files</a> under
530 <code><em>PREFIX</em>/conf/</code>.</p>
532 <div class="example"><p><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code></p></div>
534 <p>Have a look at the Apache manual under <a href="./">docs/manual/</a> or consult <a href="http://httpd.apache.org/docs-2.0/">http://httpd.apache.org/docs-2.0/</a> for the most recent version of
535 this manual and a complete reference of available <a href="mod/directives.html">configuration directives</a>.</p>
536 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div><div class="section"><h2><a name="test" id="test">Test</a></h2>
538 <p>Now you can <a href="invoking.html">start</a> your Apache
539 HTTP server by immediately running:</p>
541 <div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl start</code></p></div>
543 <p>and then you should be able to request your first document
544 via URL <code>http://localhost/</code>. The web page you see is located
545 under the <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
546 which will usually be <code><em>PREFIX</em>/htdocs/</code>.
547 Then <a href="stopping.html">stop</a> the server again by
550 <div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl stop</code></p></div>
551 </div></div><div id="footer"><p class="apache">Maintained by the <a href="http://httpd.apache.org/docs-project/">Apache HTTP Server Documentation Project</a></p><p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div></body></html>