1 <?xml version='1.0' encoding='UTF-8' ?>
2 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
4 <manualpage metafile="configure.xml.meta">
5 <parentdocument href="./">Programs</parentdocument>
7 <title>configure - Configure the source tree</title>
10 <p>The <code>configure</code> script configures the source tree
11 for compiling and installing the Apache HTTP Server at your
12 particular platform. Various options allow the compilation of a
13 server corresponding to your personal requirements.</p>
15 <p>This script, included in the root directory of the distribution,
16 is for compilation on Unix and Unix-like systems only. For other
17 platforms, see the <a href="../platform/">platform</a>
21 <seealso><a href="../install.html">Compiling and Installing</a></seealso>
23 <section id="synopsis"><title>Synopsis</title>
24 <p>You should call the <code>configure</code> script from within the
25 root directory of the distribution.</p>
27 <p><code><strong>./configure</strong> [<var>OPTION</var>]...
28 [<var>VAR</var>=<var>VALUE</var>]...</code></p>
30 <p>To assign environment variables (e.g., <code>CC</code>,
31 <code>CFLAGS</code> ...), specify them as
32 <code><var>VAR</var>=<var>VALUE</var></code>. See <a href="#env">below</a>
33 for descriptions of some of the useful variables.</p>
36 <section id="options"><title>Options</title>
38 <li><a href="#configurationoptions">Configuration options</a></li>
39 <li><a href="#installationdirectories">Installation directories</a></li>
40 <li><a href="#systemtypes">System types</a></li>
41 <li><a href="#optionalfeatures">Optional features</a></li>
42 <li><a href="#supportopt">Options for support programs</a></li>
45 <section id="configurationoptions"><title>Configuration options</title>
47 <p>The following options influence the behavior of
48 <code>configure</code> itself.</p>
51 <dt><code>-C</code></dt>
52 <dt><code>--config-cache</code></dt>
53 <dd>This is an alias for <code>--cache-file=config.cache</code></dd>
55 <dt><code>--cache-file=<var>FILE</var></code></dt>
56 <dd>The test results will be cached in file <var>FILE</var>.
57 This option is disabled by default.</dd>
59 <dt><code>-h</code></dt>
60 <dt><code>--help [short|recursive]</code></dt>
61 <dd>Output the help and exit. With the argument <code>short</code> only
62 options specific to this package will displayed. The argument
63 <code>recursive</code> displays the short help of all the included
66 <dt><code>-n</code></dt>
67 <dt><code>--no-create</code></dt>
68 <dd>The <code>configure</code> script is running normally but does
69 not create output files. This is useful to check the test results
70 before generating makefiles for compilation.</dd>
72 <dt><code>-q</code></dt>
73 <dt><code>--quiet</code></dt>
74 <dd>Do not print <code>checking ...</code> messages during the
75 configure process.</dd>
77 <dt><code>--srcdir=<var>DIR</var></code></dt>
78 <dd>Defines directory <var>DIR</var> to be the source file directory.
79 Default is the directory, where configure is located, or the parent
80 directory <code>..</code>.</dd>
82 <dt><code>--silent</code></dt>
83 <dd>Same as <code>--quiet</code></dd>
87 <dd>Display copyright information and exit.</dd>
91 <section id="installationdirectories"><title>Installation
94 <p>These options define the installation directory. The installation
95 tree depends on the selected layout.</p>
98 <dt><code>--prefix=<var>PREFIX</var></code></dt>
99 <dd>Install architecture-independent files in <var>PREFIX</var>.
100 By default the installation directory is set to
101 <code>/usr/local/apache2</code>.</dd>
103 <dt><code>--exec-prefix=<var>EPREFIX</var></code></dt>
104 <dd>Install architecture-dependent files in <var>EPREFIX</var>.
105 By default the installation directory is set to the
106 <var>PREFIX</var> directory.</dd>
109 <p>By default, <code>make install</code> will install all the files in
110 <code>/usr/local/apache2/bin</code>, <code>/usr/local/apache2/lib</code>
111 etc. You can specify an installation prefix other than
112 <code>/usr/local/apache2</code> using <code>--prefix</code>,
113 for instance <code>--prefix=$HOME</code>.</p>
115 <section id="layout"><title>Define a directory layout</title>
117 <!-- further explanation needed -->
118 <dt><code>--enable-layout=<var>LAYOUT</var></code></dt>
119 <dd>Configure the source code and build scripts to assume an
120 installation tree based on the layout <var>LAYOUT</var>. The default
121 layout is <code>Apache</code>.</dd>
125 <section id="directoryfinetuning"><title>Fine tuning of the installation
128 <p>For better control of the installation directories, use the options
129 below. Please note that the directory defaults are set by
130 <code>autoconf</code> and be overwritten by the corresponding layout
134 <!-- only apr-config and apu-config are installed at bindir.
135 everything else is stored at sbindir. ==> clarify/change this -->
136 <dt><code>--bindir=<var>DIR</var></code></dt>
137 <dd>Install user executables in <var>DIR</var>. The user executables
138 are supporting programs like <code>htpasswd</code>,
139 <code>dbmmanage</code>, etc. which are useful for site
140 administrators. By default <var>DIR</var> is set to
141 <code><var>EPREFIX</var>/bin</code>.</dd>
143 <dt><code>--datadir=<var>DIR</var></code></dt>
144 <dd>Install read-only architecture-independent data in <var>DIR</var>.
145 By default <code>datadir</code> is set to
146 <code><var>PREFIX</var>/share</code>. This option is offered by
147 <code>autoconf</code> and currently unused.</dd>
149 <dt><code>--includedir=<var>DIR</var></code></dt>
150 <dd>Install C header files in <var>DIR</var>. By default
151 <code>includedir</code> is set to
152 <code><var>EPREFIX</var>/include</code>.</dd>
154 <dt><code>--infodir=<var>DIR</var></code></dt>
155 <dd>Install info documentation in <var>DIR</var>.
156 By default <code>infodir</code> is set to
157 <code><var>PREFIX</var>/info</code>. This option is currently
160 <dt><code>--libdir=<var>DIR</var></code></dt>
161 <dd>Install object code libraries in <var>DIR</var>. By default
162 <code>libdir</code> is set to
163 <code><var>EPREFIX</var>/lib</code>.</dd>
165 <dt><code>--libexecdir=<var>DIR</var></code></dt>
166 <dd>Install the program executables (i.e., shared modules) in
167 <var>DIR</var>. By default <code>libexecdir</code> is set to
168 <code><var>EPREFIX</var>/libexec</code>.</dd>
170 <dt><code>--localstatedir=<var>DIR</var></code></dt>
171 <dd>Install modifiable single-machine data in <var>DIR</var>.
172 By default <code>localstatedir</code> is set to
173 <code><var>PREFIX</var>/var</code>. This option is offered by
174 <code>autoconf</code> and currently unused.</dd>
176 <dt><code>--mandir=<var>DIR</var></code></dt>
177 <dd>Install the man documentation in <var>DIR</var>. By default
178 <code>mandir</code> is set to
179 <code><var>EPREFIX</var>/man</code>.</dd>
181 <dt><code>--oldincludedir=<var>DIR</var></code></dt>
182 <dd>Install C header files for non-gcc in <var>DIR</var>.
183 By default <code>oldincludedir</code> is set to
184 <code>/usr/include</code>. This option is offered by
185 <code>autoconf</code> and currently unused.</dd>
187 <dt><code>--sbindir=<var>DIR</var></code></dt>
188 <dd>Install the system administrator executables in <var>DIR</var>.
189 Those are server programs like <code>httpd</code>,
190 <code>apachectl</code>, <code>suexec</code>, etc. which are neccessary
191 to run the Apache HTTP Server. By default <code>sbindir</code> is
192 set to <code><var>EPREFIX</var>/sbin</code>.</dd>
194 <dt><code>--sharedstatedir=<var>DIR</var></code></dt>
195 <dd>Install modifiable architecture-independent data in <var>DIR</var>.
196 By default <code>sharedstatedir</code> is set to
197 <code><var>PREFIX</var>/com</code>. This option is offered by
198 <code>autoconf</code> and currently unused.</dd>
200 <dt><code>--sysconfdir=<var>DIR</var></code></dt>
201 <dd>Install read-only single-machine data like the server configuration
202 files <code>httpd.conf</code>, <code>mime.types</code>, etc. in
203 <var>DIR</var>. By default <code>sysconfdir</code> is set to
204 <code><var>PREFIX</var>/etc</code>.</dd>
209 <section id="systemtypes"><title>System types</title>
211 <p>These options are used to crosscompile the Apache HTTP Server to run on
212 another system. In normal cases, when building and running the server on
213 the same system, these options are not used.</p>
216 <dt><code>--build=<var>BUILD</var></code></dt>
217 <dd>Defines the system type of the system on which the tools are being
218 built. It defaults to the result of the script
219 <code>config.guess</code>.</dd>
221 <dt><code>--host=<var>HOST</var></code></dt>
222 <dd>Defines the system type of the system on which the server will run.
223 <var>HOST</var> defaults to <var>BUILD</var>.</dd>
225 <dt><code>--target=<var>TARGET</var></code></dt>
226 <dd>Configure for building compilers for the system type
227 <var>TARGET</var>. It defaults to <var>HOST</var>. This option is
228 offered by <code>autoconf</code> and not necessary for the Apache HTTP
233 <section id="optionalfeatures"><title>Optional Features</title>
235 <p>These options are used to fine tune the features your HTTP server will
238 <section id="generaloptfeat"><title>General syntax</title>
239 <p>Generally you can use the following syntax to enable or disable a
243 <dt><code>--disable-<var>FEATURE</var></code></dt>
244 <dd>Do not include <var>FEATURE</var>. This is the same as
245 <code>--enable-<var>FEATURE</var>=no</code>.</dd>
247 <dt><code>--enable-<var>FEATURE</var>[=<var>ARG</var>]</code></dt>
248 <dd>Include <var>FEATURE</var>. The default value for <var>ARG</var>
249 is <code>yes</code>.</dd>
251 <dt><code>--enable-<var>MODULE</var>=shared</code></dt>
252 <dd>The corresponding module will be build as DSO module.</dd>
254 <dt><code>--enable-<var>MODULE</var>=static</code></dt>
255 <dd>By default enabled modules are linked statically. You can force
256 this explicitly.</dd>
260 <section id="modules"><title>Enable or disable discrete modules</title>
261 <p>Some modules are compiled by default and have to be disabled
262 explicitly while other modules have to be enabled explicitly or by
263 using the keywords <code>most</code> or <code>all</code> (see
264 <code>--enable-mods-shared</code> below for further explanation) to be
265 available. Therefor use the options below.</p>
268 <dt><code>--disable-actions</code></dt>
269 <dd>Disable action triggering on requests, which is provided by
270 <module>mod_actions</module>.</dd>
272 <dt><code>--disable-alias</code></dt>
273 <dd>Disable the mapping of requests to different parts of the filesystem,
274 which is provided by <module>mod_alias</module>.</dd>
276 <dt><code>--disable-asis</code></dt>
277 <dd>Disable support for as-is filetypes, which is provided by
278 <module>mod_asis</module>.</dd>
280 <dt><code>--disable-auth</code></dt>
281 <dd>Disable user-based access control provided by
282 <module>mod_auth</module>.</dd>
284 <dt><code>--disable-autoindex</code></dt>
285 <dd>Disable the directory listing functionality provided by
286 <module>mod_autoindex</module>.</dd>
288 <dt><code>--disable-access</code></dt>
289 <dd>Disable host-based access control provided by
290 <module>mod_access</module>.</dd>
292 <dt><code>--disable-cgi</code></dt>
293 <dd><module>mod_cgi</module>, which provides support for CGI scripts, is
294 enabled by default when using a non-threaded MPM. Use this option to
295 disable CGI support.</dd>
297 <dt><code>--disable-cgid</code></dt>
298 <dd>When using the threaded MPMs <module>worker</module> or
299 <module>perchild</module> support for CGI scripts is provided by
300 <module>mod_cgid</module> by default. To disable CGI support use this
303 <dt><code>--disable-charset-lite</code></dt>
304 <dd>Disable character set translation provided by
305 <module>mod_charset_lite</module>. This module will be installed by
306 default only on EBCDIC systems.</dd>
308 <dt><code>--disable-dir</code></dt>
309 <dd>Disable directory request handling provided by
310 <module>mod_dir</module>.</dd>
312 <dt><code>--disable-env</code></dt>
313 <dd>Enable setting and clearing of environment variables, which is
314 provided by <module>mod_env</module>.</dd>
316 <!-- configure mentions enable-http, but disable-http would make much
318 <dt><code>--disable-http</code></dt>
319 <dd>Disable the HTTP protocol handling. The <code>http</code> module is
320 a basic one, enabling the server to function as an HTTP server. It is
321 only useful to disable it if you want to use another protocol module
322 instead. <strong>Don't disable this module until you are really sure
323 what you are doing.</strong><br/>
324 Note: This module will always be linked statically.</dd>
326 <dt><code>--disable-imap</code></dt>
327 <dd>Disable support for server based imagemaps, which provided by
328 <module>mod_imap</module>.</dd>
330 <dt><code>--disable-include</code></dt>
331 <dd>Disable Server Side Includes provided by
332 <module>mod_include</module>.</dd>
334 <dt><code>--disable-log-config</code></dt>
335 <dd>Disable the logging configuration provided by
336 <module>mod_log_config</module>.</dd>
338 <dt><code>--disable-mime</code></dt>
339 <dd>Disable the mapping of file-extensions to MIME, which is provided by
340 <module>mod_mime</module>.</dd>
342 <dt><code>--disable-negotiation</code></dt>
343 <dd>Disable content negotiation provided by
344 <module>mod_negotiation</module>.</dd>
346 <dt><code>--disable-setenvif</code></dt>
347 <dd>Disable support for basing environment variables on headers, which
348 is provided by <module>mod_setenvif</module>.</dd>
350 <dt><code>--disable-status</code></dt>
351 <dd>Enable the process/thread monitoring, which is provided by
352 <module>mod_status</module>.</dd>
354 <dt><code>--disable-userdir</code></dt>
355 <dd>Disable the mapping of requests to user-specific directories, which
356 is provided by <module>mod_userdir</module>.</dd>
358 <dt><code>--enable-auth-anon</code></dt>
359 <dd>Enable anonymous user access provided by
360 <module>mod_auth_anon</module>.</dd>
362 <dt><code>--enable-auth-dbm</code></dt>
363 <dd>Enable support for DBM-based access databases provided by
364 <module>mod_auth_dbm</module>.</dd>
366 <dt><code>--enable-auth-digest</code></dt>
367 <dd>Enable RFC2617 Digest authentication provided by
368 <module>mod_auth_digest</module>.</dd>
370 <dt><code>--enable-auth-ldap</code></dt>
371 <dd>Enable LDAP based authentication provided by
372 <module>mod_auth_ldap</module>.</dd>
374 <!-- module doc needed -->
375 <dt><code>--enable-bucketeer</code></dt>
376 <dd>Enable manipulation filter the manipulation filter for buckets,
377 which is provided by <code>mod_bucketeer</code>.</dd>
379 <dt><code>--enable-cache</code></dt>
380 <dd>Enable dynamic file caching provided by
381 <module>mod_cache</module>.</dd>
383 <!-- module doc needed -->
384 <dt><code>--enable-case-filter</code></dt>
385 <dd>Enable the example uppercase conversion output filter support of
386 <code>mod_case_filter</code>.</dd>
388 <!-- module doc needed -->
389 <dt><code>--enable-case-filter-in</code></dt>
390 <dd>Enable the example uppercase conversion input filter support of
391 <code>mod_case_filter_in</code>.</dd>
393 <dt><code>--enable-cern-meta</code></dt>
394 <dd>Enable the CERN-type meta files support provided by
395 <module>mod_cern_meta</module>.</dd>
397 <dt><code>--enable-charset-lite</code></dt>
398 <dd>Enable character set translation provided by
399 <module>mod_charset_lite</module>. This module will be installed by
400 default only on EBCDIC systems. On other systems, you have to enable
403 <dt><code>--enable-dav</code></dt>
404 <dd>Enable the WebDAV protocol handling provided by
405 <module>mod_dav</module>. Support for filesystem resources is
406 provided by the seperate module <module>mod_dav_fs</module>. This
407 module is also automatically enabled with
408 <code>--enable-dav</code>.<br/>
409 Note: <module>mod_dav</module> can only be used together with the
410 <code>http</code> protocol module.</dd>
412 <dt><code>--enable-dav-fs</code></dt>
413 <dd>Enable DAV support for filesystem resources, which is provides by
414 <module>mod_dav_fs</module>. This module is a provider for the
415 <module>mod_dav</module> module, so you should also use
416 <code>--enable-dav</code>.</dd>
418 <dt><code>--enable-deflate</code></dt>
419 <dd>Enable deflate transfer encoding provided by
420 <module>mod_deflate</module>.</dd>
422 <dt><code>--enable-disk-cache</code></dt>
423 <dd>Enable disk caching provided by
424 <module>mod_disk_cache</module>.</dd>
426 <dt><code>--enable-echo</code></dt>
427 <dd>Enable the ECHO server provided by
428 <module>mod_echo</module>.</dd>
430 <dt><code>--enable-example</code></dt>
431 <dd>Enable the example and demo module
432 <module>mod_example</module>.</dd>
434 <dt><code>--enable-expires</code></dt>
435 <dd>Enable Expires header control provided by
436 <module>mod_expires</module>.</dd>
438 <dt><code>--enable-ext-filter</code></dt>
439 <dd>Enable the external filter support provided by
440 <module>mod_ext_filter</module>.</dd>
442 <dt><code>--enable-file-cache</code></dt>
443 <dd>Enable the file cache provided by
444 <module>mod_file_cache</module>.</dd>
446 <dt><code>--enable-headers</code></dt>
447 <dd>Enable control of HTTP headers provided by
448 <module>mod_headers</module>.</dd>
450 <dt><code>--enable-info</code></dt>
451 <dd>Enable the server information provided by
452 <module>mod_info</module>.</dd>
454 <dt><code>--enable-ldap</code></dt>
455 <dd>Enable LDAP caching and connection pooling services provided by
456 <module>mod_ldap</module>.</dd>
458 <dt><code>--enable-logio</code></dt>
459 <dd>Enable logging of input and output bytes including headers provided
460 by <module>mod_logio</module>.</dd>
462 <dt><code>--enable-mem-cache</code></dt>
463 <dd>Enable memory caching provided by
464 <module>mod_mem_cache</module>.</dd>
466 <dt><code>--enable-mime-magic</code></dt>
467 <dd>Enable automatical determining of MIME types, which is provided by
468 <module>mod_mime_magic</module>.</dd>
470 <dt><code>--enable-isapi</code></dt>
471 <dd>Enable the isapi extension support provided by
472 <module>mod_isapi</module>.</dd>
474 <!-- module doc needed -->
475 <dt><code>--enable-optional-fn-export</code></dt>
476 <dd>Enable the example for an optional function exporter, which is
477 provided by <code>mod_optional_fn_export</code>.</dd>
479 <!-- module doc needed -->
480 <dt><code>--enable-optional-fn-import</code></dt>
481 <dd>Enable the example for an optional function importer, which is
482 provided by <code>mod_optional_fn_import</code>.</dd>
484 <!-- module doc needed -->
485 <dt><code>--enable-optional-hook-export</code></dt>
486 <dd>Enable the example for an optional hook exporter, which is provided
487 by <code>mod_optional_hook_export</code>.</dd>
489 <!-- module doc needed -->
490 <dt><code>--enable-optional-hook-import</code></dt>
491 <dd>Enable the example optional hook importer, which is provided by
492 <code>mod_optional_hook_import</code>.</dd>
494 <dt><code>--enable-proxy</code></dt>
495 <dd>Enable the proxy/gateway functionality provided by
496 <module>mod_proxy</module>. The proxying capabilities for
497 <code>CONNECT</code>, <code>FTP</code> and <code>HTTP</code> are
498 provided by the seperate modules <module>mod_proxy_connect</module>,
499 <module>mod_proxy_ftp</module> and <module>mod_proxy_http</module>.
500 These three modules are also automatically enabled with
501 <code>--enable-proxy</code>.</dd>
503 <dt><code>--enable-proxy-connect</code></dt>
504 <dd>Enable proxy support for <code>CONNECT</code> request handling,
505 which is provided by <module>mod_proxy_connect</module>. This module
506 is an extension for the <module>mod_proxy</module> module, so you
507 should also use <code>--enable-proxy</code>.</dd>
509 <dt><code>--enable-proxy-ftp</code></dt>
510 <dd>Enable proxy support for <code>FTP</code> requests, which is
511 provided by <module>mod_proxy_ftp</module>.. This module
512 is an extension for the <module>mod_proxy</module> module, so you
513 should also use <code>--enable-proxy</code>.</dd>
515 <dt><code>--enable-proxy-http</code></dt>
516 <dd>Enable proxy support for <code>HTTP</code> requests, which is
517 provided by <module>mod_proxy_http</module>. This module
518 is an extension for the <module>mod_proxy</module> module, so you
519 should also use <code>--enable-proxy</code>.</dd>
521 <dt><code>--enable-rewrite</code></dt>
522 <dd>Enable rule based URL manipulation provided by
523 <module>mod_rewrite</module>.</dd>
525 <dt><code>--enable-so</code></dt>
526 <dd>Enable DSO capability provided by <module>mod_so</module>. This
527 module will automatically enabled if you use the
528 <code>--enable-mods-shared</code> option.</dd>
530 <dt><code>--enable-speling</code></dt>
531 <dd>Enable the functionality to correct common URL misspellings, which
532 is provided by <module>mod_spelling</module>.</dd>
534 <dt><code>--enable-ssl</code></dt>
535 <dd>Enable support for SSL/TLS provided by
536 <module>mod_ssl</module>.</dd>
538 <dt><code>--enable-unique-id</code></dt>
539 <dd>Enable the generation of per-request unique ids, which is provided
540 by <module>mod_unique_id</module>.</dd>
542 <dt><code>--enable-usertrack</code></dt>
543 <dd>Enable user-session tracking provided by
544 <module>mod_usertrack</module>.</dd>
546 <dt><code>--with-module=<var>module-type</var>:<var>module-file</var>
548 <dd><p>Add a third-party module to the list of statically linked
549 modules. The module source file <code><var>module-file</var></code>
550 will be searched in the <code>modules/<var>module-type</var></code>
551 subdirectory of your Apache HTTP server source tree so it has to be
552 placed there before. If it is not found here
553 <code>configure</code> is considering <var>module-file</var> to be a
554 an absolute file path and tries to copy the source file into the
555 <var>module-type</var> subdirectory.</p>
556 <p>This option is useful to add small external modules consiting of
557 one source file. For bigger modules you should read the vendors
559 <note><title>Note</title>
560 If you want to build a DSO module instead of a statically linked use
561 <a href="apxs.html">apxs</a>.</note>
564 <dt><code>--with-mpm=MPM</code></dt>
565 <dd>Choose the process model for your server. You have to select
566 exactly one <a href="mpm.html">Multi-Processing Module</a>. Otherwise
567 the <a href="mpm.html#defaults">default MPM</a> for your operating
568 system will be taken. Possible MPMs are <module>beos</module>,
569 <module>leader</module>, <module>mpmt_os2</module>,
570 <module>perchild</module>, <module>prefork</module>,
571 <module>threadpool</module> and <module>worker</module>.</dd>
575 <section id="otheroptfeat"><title>Cumulative and other options</title>
577 <dt><code>--enable-maintainer-mode</code></dt>
578 <dd>Turn on debugging and compile time warnings.</dd>
580 <dt><code>--enable-mods-shared=<var>MODULE-LIST</var></code></dt>
582 <p>Defines a list of modules to be enabled and build as dynamic
583 shared modules. This mean, these module have to be loaded
584 dynamically by using the <directive
585 module="mod_so">LoadModule</directive> directive.</p>
586 <p><var>MODULE-LIST</var> is a space separated list of modulenames
587 enclosed by quotation marks. The module names are given without the
588 preceding <code>mod_</code>. For example:</p>
590 --enable-mods-shared='headers rewrite dav'
592 <p>Additionally you can use the special keywords <code>all</code> and
593 <code>most</code>. For example,</p>
595 --enable-mods-shared=most
597 <p>will compile most modules and build them as DSO modules.
598 <!-- See <a href="../install/enabledmodules.html">Overview of
599 enabled modules</a> for further information. --></p>
602 <dt><code>--enable-modules=<var>MODULE-LIST</var></code></dt>
603 <dd>This option behaves similar to <code>--enable-mods-shared</code>,
604 but will link the given modules statically. This mean, these modules
605 will always be present while running <code>httpd</code>. They need
606 not be loaded with <directive
607 module="mod_so">LoadModule</directive>.</dd>
609 <dt><code>--enable-v4-mapped</code></dt>
610 <dd>Allow IPv6 sockets to handle IPv4 connections.</dd>
612 <dt><code>--enable-vhost-alias</code></dt>
613 <dd>Enable mass virtual hosting provided by
614 <module>mod_vhost_alias</module>.</dd>
616 <dt><code>--with-port=<var>PORT</var></code></dt>
617 <dd>This defines the port on which <code>httpd</code> will listen. This
618 port number is used when generating the configuration file
619 <code>httpd.conf</code>. The default is 80.</dd>
621 <dt><code>--with-program-name</code></dt>
622 <dd>Define an alternate executable name.</dd>
627 <section id="packages"><title>Optional packages</title>
628 <p>These options are used to define optional packages.</p>
630 <section id="generalpackages"><title>General syntax</title>
631 <p>Generally you can use the following syntax to define an optional
635 <dt><code>--with-<var>PACKAGE</var>[=<var>ARG</var>]</code></dt>
636 <dd>Use the package <var>PACKAGE</var>. The default value for
637 <var>ARG</var> is<code>yes</code>.</dd>
639 <dt><code>--without-<var>PACKAGE</var></code></dt>
640 <dd>Do not use the package <var>PACKAGE</var>. This is the same as
641 <code>--with-<var>PACKAGE</var>=no</code>. This option is provided by
642 <code>autoconf</code> but not very useful for the Apache HTTP
647 <!-- options not known are passed to packasges?
648 are there other important options for packages? -->
650 <section id="packageopt"><title>Specific packages</title>
652 <dt><code>--with-apr=<var>DIR</var>|<var>FILE</var></code></dt>
653 <dd>The Apache Portable Runtime (APR) is part of the <code>httpd</code>
654 source distribution and will automatically be build together with the
655 HTTP server. If you want to use an already installed APR instead you
656 have to tell <code>configure</code> the path to the
657 <code>apr-config</code> script. You may set the absolute path and name
658 or the directory to the installed APR. <code>apr-config</code> must
659 exists within this directory or the subdirectory
660 <code>bin</code>.</dd>
662 <dt><code>--with-apr-util=<var>DIR</var>|<var>FILE</var></code></dt>
663 <dd>The Apache Portable Runtime Utilities (APU) are part of the
664 <code>httpd</code> source distribution and will automatically be build
665 together with the HTTP server. If you want to use an already installed
666 APU instead you have to tell <code>configure</code> the path to the
667 <code>apu-config</code> script. You may set the absolute path and name
668 or the directory to the installed APU. <code>apu-config</code> must
669 exists within this directory or the subdirectory
670 <code>bin</code>.</dd>
672 <dt><code>--with-ssl=<var>DIR</var></code></dt>
673 <dd>If <module>mod_ssl</module> has been enabled <code>configure</code>
674 searches for an installed OpenSSL. You can set the directory path
675 to the SSL/TLS toolkit instead.</dd>
677 <dt><code>--with-z=<var>DIR</var></code></dt>
678 <dd><code>configure</code> searches automatically for an installed
679 <code>zlib</code> library if your source configuration requires one
680 (e.g., when <module>mod_deflate</module> is enabled). You can set the
681 directory path to the compression library instead.</dd>
686 <section id="supportopt"><title>Options for support programs</title>
688 <dt><code>--enable-static-support</code></dt>
689 <dd>Build a statically linked version of the support binaries. This
690 means, a stand-alone executable will be build with all necessary
691 libraries are integrated. Otherwise the support binaries are linked
692 dynamically by default.</dd>
694 <dt><code>--enable-suexec</code></dt>
695 <dd>Use this option to enable <code><a
696 href="suexec.html">suexec</a></code>, which allows you to set uid
697 and gid for spawned processes. Further options to configure
698 <code>suexec</code> are described <a href="#suexec">below</a>.</dd>
701 <p>It is possible to create a statically linked binary of a single
702 support program by using the following options:</p>
705 <dt><code>--enable-static-ab</code></dt>
706 <dd>Build a statically linked version of <code><a
707 href="ab.html">ab</a></code>.</dd>
709 <!-- missing documentation for chechgid -->
710 <dt><code>--enable-static-checkgid</code></dt>
711 <dd>Build a statically linked version of <code>checkgid</code>.</dd>
713 <!-- missing documentation for htdbm -->
714 <dt><code>--enable-static-htdbm</code></dt>
715 <dd>Build a statically linked version of <code>htdbm</code>.</dd>
717 <dt><code>--enable-static-htdigest</code></dt>
718 <dd>Build a statically linked version of <code><a
719 href="htdigest.html">htdigest</a></code>.</dd>
721 <dt><code>--enable-static-htpasswd</code></dt>
722 <dd>Build a statically linked version of <code><a
723 href="htpasswd.html">htpasswd</a></code>.</dd>
725 <dt><code>--enable-static-logresolve</code></dt>
726 <dd>Build a statically linked version of <code><a
727 href="logresolve.html">logresolve</a></code>.</dd>
729 <dt><code>--enable-static-rotatelogs</code></dt>
730 <dd>Build a statically linked version of <code><a
731 href="rotatelogs.html">rotatelogs</a></code>.</dd>
734 <section id="suexec"><title>suexec configuration options</title>
735 <p>The following options are used to fine tune the behavior of <code><a
736 href="suexec.html">suexec</a></code>. See <a
737 href="suexec.html#install">Configuring and installing suEXEC</a>
738 for further information.</p>
741 <dt><code>--with-suexec-bin</code></dt>
742 <dd>This defines the path to suexec binary. Default is
743 <code>--sbindir</code> (see <a href="directoryfinetuning">Fine
744 tuning of installation directories</a>).</dd>
746 <dt><code>--with-suexec-caller</code></dt>
747 <dd>This defines the user allowed to call <code>suexec</code>. It should
748 be the same as the user under which <code>httpd</code> normally
751 <dt><code>--with-suexec-docroot</code></dt>
752 <dd>This defines the directory tree under which <code>suexec</code>
753 access is allowed for executables. Default value is
754 <code>--datadir/htdocs</code>.</dd>
756 <dt><code>--with-suexec-gidmin</code></dt>
757 <dd>Define this as the lowest GID allowed to be a target user for
758 <code>suexec</code>. The default value is 100.</dd>
760 <dt><code>--with-suexec-logfile</code></dt>
761 <dd>This defines the filename of the <code>suexec</code> logfile. By
762 default the logfile is named <code>suexec_log</code> and located in
763 <code>--logfiledir</code>.</dd>
765 <dt><code>--with-suexec-safepath</code></dt>
766 <dd>Define the value of the environment variable <code>PATH</code> to
767 be set for processes started by <code>suexec</code>. Default value is
768 <code>/usr/local/bin:/usr/bin:/bin</code>.</dd>
770 <dt><code>--with-suexec-userdir</code></dt>
771 <dd>This defines the subdirectory under the user's directory that
772 contains all executables for which <code>suexec</code> access is
773 allowed. This setting is necessary when you want to use
774 <code>suexec</code> together with user-specific directories (as
775 provided by <module>mod_userdir</module>). The default is
776 <code>public_html</code>.</dd>
778 <dt><code>--with-suexec-uidmin</code></dt>
779 <dd>Define this as the lowest UID allowed to be a target user for
780 <code>suexec</code>. The default value is 100.</dd>
782 <dt><code>--with-suexec-umask</code></dt>
783 <dd>Set <code>umask</code> for processes started by <code>suexec</code>.
784 It default to your system settings.</dd>
790 <section id="env"><title>Environment variables</title>
791 <p>There are some useful environment variables to override the choices made by
792 <code>configure</code> or to help it to find libraries and programs with
793 nonstandard names or locations.</p>
795 <!-- are these all useful variables? -->
797 <dt><code>CC</code></dt>
798 <dd>Define the C compiler command to be used for compilation.</dd>
800 <dt><code>CFLAGS</code></dt>
801 <dd>Set C compiler flags you want to use for compilation.</dd>
803 <dt><code>CPP</code></dt>
804 <dd>Define the C preprocessor command to be used.</dd>
806 <dt><code>CPPFLAGS</code></dt>
807 <dd>Set C/C++ preprocessor flags, e.g. <code>-I<var>includedir</var></code>
808 if you have headers in a nonstandard directory <var>includedir</var>.</dd>
810 <dt><code>LDFLAGS</code></dt>
811 <dd>Set linker flags, e.g. <code>-L<var>libdir</var></code> if you have
812 libraries in a nonstandard directory <var>libdir</var>.</dd>