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 on 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 run 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 <dt><code>--enable-layout=<var>LAYOUT</var></code></dt>
118 <dd>Configure the source code and build scripts to assume an
119 installation tree based on the layout <var>LAYOUT</var>. This allows
120 you to separately specify the locations for each type of file within
121 the Apache HTTP Server installation. The <code>config.layout</code>
122 file contains several example configurations, and you can also create
123 your own custom configuration following the examples. The different
124 layouts in this file are grouped into <code><Layout
125 FOO>...</Layout></code> sections and referred to by name as
126 in <code>FOO</code>. The default layout is <code>Apache</code>.</dd>
130 <section id="directoryfinetuning"><title>Fine tuning of the installation
133 <p>For better control of the installation directories, use the options
134 below. Please note that the directory defaults are set by
135 <code>autoconf</code> and be overwritten by the corresponding layout
139 <!-- only apr-config and apu-config are installed at bindir.
140 everything else is stored at sbindir. ==> clarify/change this -->
141 <dt><code>--bindir=<var>DIR</var></code></dt>
142 <dd>Install user executables in <var>DIR</var>. The user executables
143 are supporting programs like <code>htpasswd</code>,
144 <code>dbmmanage</code>, etc. which are useful for site
145 administrators. By default <var>DIR</var> is set to
146 <code><var>EPREFIX</var>/bin</code>.</dd>
148 <dt><code>--datadir=<var>DIR</var></code></dt>
149 <dd>Install read-only architecture-independent data in <var>DIR</var>.
150 By default <code>datadir</code> is set to
151 <code><var>PREFIX</var>/share</code>. This option is offered by
152 <code>autoconf</code> and currently unused.</dd>
154 <dt><code>--includedir=<var>DIR</var></code></dt>
155 <dd>Install C header files in <var>DIR</var>. By default
156 <code>includedir</code> is set to
157 <code><var>EPREFIX</var>/include</code>.</dd>
159 <dt><code>--infodir=<var>DIR</var></code></dt>
160 <dd>Install info documentation in <var>DIR</var>.
161 By default <code>infodir</code> is set to
162 <code><var>PREFIX</var>/info</code>. This option is currently
165 <dt><code>--libdir=<var>DIR</var></code></dt>
166 <dd>Install object code libraries in <var>DIR</var>. By default
167 <code>libdir</code> is set to
168 <code><var>EPREFIX</var>/lib</code>.</dd>
170 <dt><code>--libexecdir=<var>DIR</var></code></dt>
171 <dd>Install the program executables (i.e., shared modules) in
172 <var>DIR</var>. By default <code>libexecdir</code> is set to
173 <code><var>EPREFIX</var>/libexec</code>.</dd>
175 <dt><code>--localstatedir=<var>DIR</var></code></dt>
176 <dd>Install modifiable single-machine data in <var>DIR</var>.
177 By default <code>localstatedir</code> is set to
178 <code><var>PREFIX</var>/var</code>. This option is offered by
179 <code>autoconf</code> and currently unused.</dd>
181 <dt><code>--mandir=<var>DIR</var></code></dt>
182 <dd>Install the man documentation in <var>DIR</var>. By default
183 <code>mandir</code> is set to
184 <code><var>EPREFIX</var>/man</code>.</dd>
186 <dt><code>--oldincludedir=<var>DIR</var></code></dt>
187 <dd>Install C header files for non-gcc in <var>DIR</var>.
188 By default <code>oldincludedir</code> is set to
189 <code>/usr/include</code>. This option is offered by
190 <code>autoconf</code> and currently unused.</dd>
192 <dt><code>--sbindir=<var>DIR</var></code></dt>
193 <dd>Install the system administrator executables in <var>DIR</var>.
194 Those are server programs like <code>httpd</code>,
195 <code>apachectl</code>, <code>suexec</code>, etc. which are neccessary
196 to run the Apache HTTP Server. By default <code>sbindir</code> is
197 set to <code><var>EPREFIX</var>/sbin</code>.</dd>
199 <dt><code>--sharedstatedir=<var>DIR</var></code></dt>
200 <dd>Install modifiable architecture-independent data in <var>DIR</var>.
201 By default <code>sharedstatedir</code> is set to
202 <code><var>PREFIX</var>/com</code>. This option is offered by
203 <code>autoconf</code> and currently unused.</dd>
205 <dt><code>--sysconfdir=<var>DIR</var></code></dt>
206 <dd>Install read-only single-machine data like the server configuration
207 files <code>httpd.conf</code>, <code>mime.types</code>, etc. in
208 <var>DIR</var>. By default <code>sysconfdir</code> is set to
209 <code><var>PREFIX</var>/etc</code>.</dd>
214 <section id="systemtypes"><title>System types</title>
216 <p>These options are used to cross-compile the Apache HTTP Server to run on
217 another system. In normal cases, when building and running the server on
218 the same system, these options are not used.</p>
221 <dt><code>--build=<var>BUILD</var></code></dt>
222 <dd>Defines the system type of the system on which the tools are being
223 built. It defaults to the result of the script
224 <code>config.guess</code>.</dd>
226 <dt><code>--host=<var>HOST</var></code></dt>
227 <dd>Defines the system type of the system on which the server will run.
228 <var>HOST</var> defaults to <var>BUILD</var>.</dd>
230 <dt><code>--target=<var>TARGET</var></code></dt>
231 <dd>Configure for building compilers for the system type
232 <var>TARGET</var>. It defaults to <var>HOST</var>. This option is
233 offered by <code>autoconf</code> and not necessary for the Apache HTTP
238 <section id="optionalfeatures"><title>Optional Features</title>
240 <p>These options are used to fine tune the features your HTTP server will
243 <section id="generaloptfeat"><title>General syntax</title>
244 <p>Generally you can use the following syntax to enable or disable a
248 <dt><code>--disable-<var>FEATURE</var></code></dt>
249 <dd>Do not include <var>FEATURE</var>. This is the same as
250 <code>--enable-<var>FEATURE</var>=no</code>.</dd>
252 <dt><code>--enable-<var>FEATURE</var>[=<var>ARG</var>]</code></dt>
253 <dd>Include <var>FEATURE</var>. The default value for <var>ARG</var>
254 is <code>yes</code>.</dd>
256 <dt><code>--enable-<var>MODULE</var>=shared</code></dt>
257 <dd>The corresponding module will be build as DSO module.</dd>
259 <dt><code>--enable-<var>MODULE</var>=static</code></dt>
260 <dd>By default enabled modules are linked statically. You can force
261 this explicitly.</dd>
265 <section id="modules"><title>Enable or disable discrete modules</title>
266 <p>Some modules are compiled by default and have to be disabled
267 explicitly while other modules have to be enabled explicitly or by
268 using the keywords <code>most</code> or <code>all</code> (see
269 <code>--enable-mods-shared</code> below for further explanation) to be
270 available. Therefore use the options below.</p>
273 <dt><code>--disable-actions</code></dt>
274 <dd>Disable action triggering on requests, which is provided by
275 <module>mod_actions</module>.</dd>
277 <dt><code>--disable-alias</code></dt>
278 <dd>Disable the mapping of requests to different parts of the filesystem,
279 which is provided by <module>mod_alias</module>.</dd>
281 <dt><code>--disable-asis</code></dt>
282 <dd>Disable support for as-is filetypes, which is provided by
283 <module>mod_asis</module>.</dd>
285 <dt><code>--disable-auth</code></dt>
286 <dd>Disable user-based access control provided by
287 <module>mod_auth</module>.</dd>
289 <dt><code>--disable-autoindex</code></dt>
290 <dd>Disable the directory listing functionality provided by
291 <module>mod_autoindex</module>.</dd>
293 <dt><code>--disable-access</code></dt>
294 <dd>Disable host-based access control provided by
295 <module>mod_access</module>.</dd>
297 <dt><code>--disable-cgi</code></dt>
298 <dd><module>mod_cgi</module>, which provides support for CGI scripts, is
299 enabled by default when using a non-threaded MPM. Use this option to
300 disable CGI support.</dd>
302 <dt><code>--disable-cgid</code></dt>
303 <dd>When using the threaded MPMs <module>worker</module> or
304 <module>perchild</module> support for CGI scripts is provided by
305 <module>mod_cgid</module> by default. To disable CGI support use this
308 <dt><code>--disable-charset-lite</code></dt>
309 <dd>Disable character set translation provided by
310 <module>mod_charset_lite</module>. This module will be installed by
311 default only on EBCDIC systems.</dd>
313 <dt><code>--disable-dir</code></dt>
314 <dd>Disable directory request handling provided by
315 <module>mod_dir</module>.</dd>
317 <dt><code>--disable-env</code></dt>
318 <dd>Enable setting and clearing of environment variables, which is
319 provided by <module>mod_env</module>.</dd>
321 <!-- configure mentions enable-http, but disable-http would make much
323 <dt><code>--disable-http</code></dt>
324 <dd>Disable the HTTP protocol handling. The <code>http</code> module is
325 a basic one, enabling the server to function as an HTTP server. It is
326 only useful to disable it if you want to use another protocol module
327 instead. <strong>Don't disable this module unless you are really sure
328 what you are doing.</strong><br/>
329 Note: This module will always be linked statically.</dd>
331 <dt><code>--disable-imap</code></dt>
332 <dd>Disable support for server based imagemaps, which provided by
333 <module>mod_imap</module>.</dd>
335 <dt><code>--disable-include</code></dt>
336 <dd>Disable Server Side Includes provided by
337 <module>mod_include</module>.</dd>
339 <dt><code>--disable-log-config</code></dt>
340 <dd>Disable the logging configuration provided by
341 <module>mod_log_config</module>.</dd>
343 <dt><code>--disable-mime</code></dt>
344 <dd>Disable the mapping of file-extensions to MIME, which is provided by
345 <module>mod_mime</module>.</dd>
347 <dt><code>--disable-negotiation</code></dt>
348 <dd>Disable content negotiation provided by
349 <module>mod_negotiation</module>.</dd>
351 <dt><code>--disable-setenvif</code></dt>
352 <dd>Disable support for basing environment variables on headers, which
353 is provided by <module>mod_setenvif</module>.</dd>
355 <dt><code>--disable-status</code></dt>
356 <dd>Enable the process/thread monitoring, which is provided by
357 <module>mod_status</module>.</dd>
359 <dt><code>--disable-userdir</code></dt>
360 <dd>Disable the mapping of requests to user-specific directories, which
361 is provided by <module>mod_userdir</module>.</dd>
363 <dt><code>--enable-auth-anon</code></dt>
364 <dd>Enable anonymous user access provided by
365 <module>mod_auth_anon</module>.</dd>
367 <dt><code>--enable-auth-dbm</code></dt>
368 <dd>Enable support for DBM-based access databases provided by
369 <module>mod_auth_dbm</module>.</dd>
371 <dt><code>--enable-auth-digest</code></dt>
372 <dd>Enable RFC2617 Digest authentication provided by
373 <module>mod_auth_digest</module>.</dd>
375 <dt><code>--enable-auth-ldap</code></dt>
376 <dd>Enable LDAP based authentication provided by
377 <module>mod_auth_ldap</module>.</dd>
379 <!-- module doc needed -->
380 <dt><code>--enable-bucketeer</code></dt>
381 <dd>Enable manipulation filter the manipulation filter for buckets,
382 which is provided by <code>mod_bucketeer</code>.</dd>
384 <dt><code>--enable-cache</code></dt>
385 <dd>Enable dynamic file caching provided by
386 <module>mod_cache</module>.</dd>
388 <!-- module doc needed -->
389 <dt><code>--enable-case-filter</code></dt>
390 <dd>Enable the example uppercase conversion output filter support of
391 <code>mod_case_filter</code>.</dd>
393 <!-- module doc needed -->
394 <dt><code>--enable-case-filter-in</code></dt>
395 <dd>Enable the example uppercase conversion input filter support of
396 <code>mod_case_filter_in</code>.</dd>
398 <dt><code>--enable-cern-meta</code></dt>
399 <dd>Enable the CERN-type meta files support provided by
400 <module>mod_cern_meta</module>.</dd>
402 <dt><code>--enable-charset-lite</code></dt>
403 <dd>Enable character set translation provided by
404 <module>mod_charset_lite</module>. This module will be installed by
405 default only on EBCDIC systems. On other systems, you have to enable
408 <dt><code>--enable-dav</code></dt>
409 <dd>Enable the WebDAV protocol handling provided by
410 <module>mod_dav</module>. Support for filesystem resources is
411 provided by the seperate module <module>mod_dav_fs</module>. This
412 module is also automatically enabled with
413 <code>--enable-dav</code>.<br/>
414 Note: <module>mod_dav</module> can only be used together with the
415 <code>http</code> protocol module.</dd>
417 <dt><code>--enable-dav-fs</code></dt>
418 <dd>Enable DAV support for filesystem resources, which is provides by
419 <module>mod_dav_fs</module>. This module is a provider for the
420 <module>mod_dav</module> module, so you should also use
421 <code>--enable-dav</code>.</dd>
423 <dt><code>--enable-deflate</code></dt>
424 <dd>Enable deflate transfer encoding provided by
425 <module>mod_deflate</module>.</dd>
427 <dt><code>--enable-disk-cache</code></dt>
428 <dd>Enable disk caching provided by
429 <module>mod_disk_cache</module>.</dd>
431 <dt><code>--enable-echo</code></dt>
432 <dd>Enable the ECHO server provided by
433 <module>mod_echo</module>.</dd>
435 <dt><code>--enable-example</code></dt>
436 <dd>Enable the example and demo module
437 <module>mod_example</module>.</dd>
439 <dt><code>--enable-expires</code></dt>
440 <dd>Enable Expires header control provided by
441 <module>mod_expires</module>.</dd>
443 <dt><code>--enable-ext-filter</code></dt>
444 <dd>Enable the external filter support provided by
445 <module>mod_ext_filter</module>.</dd>
447 <dt><code>--enable-file-cache</code></dt>
448 <dd>Enable the file cache provided by
449 <module>mod_file_cache</module>.</dd>
451 <dt><code>--enable-headers</code></dt>
452 <dd>Enable control of HTTP headers provided by
453 <module>mod_headers</module>.</dd>
455 <dt><code>--enable-info</code></dt>
456 <dd>Enable the server information provided by
457 <module>mod_info</module>.</dd>
459 <dt><code>--enable-ldap</code></dt>
460 <dd>Enable LDAP caching and connection pooling services provided by
461 <module>mod_ldap</module>.</dd>
463 <dt><code>--enable-logio</code></dt>
464 <dd>Enable logging of input and output bytes including headers provided
465 by <module>mod_logio</module>.</dd>
467 <dt><code>--enable-mem-cache</code></dt>
468 <dd>Enable memory caching provided by
469 <module>mod_mem_cache</module>.</dd>
471 <dt><code>--enable-mime-magic</code></dt>
472 <dd>Enable automatical determining of MIME types, which is provided by
473 <module>mod_mime_magic</module>.</dd>
475 <dt><code>--enable-isapi</code></dt>
476 <dd>Enable the isapi extension support provided by
477 <module>mod_isapi</module>.</dd>
479 <!-- module doc needed -->
480 <dt><code>--enable-optional-fn-export</code></dt>
481 <dd>Enable the example for an optional function exporter, which is
482 provided by <code>mod_optional_fn_export</code>.</dd>
484 <!-- module doc needed -->
485 <dt><code>--enable-optional-fn-import</code></dt>
486 <dd>Enable the example for an optional function importer, which is
487 provided by <code>mod_optional_fn_import</code>.</dd>
489 <!-- module doc needed -->
490 <dt><code>--enable-optional-hook-export</code></dt>
491 <dd>Enable the example for an optional hook exporter, which is provided
492 by <code>mod_optional_hook_export</code>.</dd>
494 <!-- module doc needed -->
495 <dt><code>--enable-optional-hook-import</code></dt>
496 <dd>Enable the example optional hook importer, which is provided by
497 <code>mod_optional_hook_import</code>.</dd>
499 <dt><code>--enable-proxy</code></dt>
500 <dd>Enable the proxy/gateway functionality provided by
501 <module>mod_proxy</module>. The proxying capabilities for
502 <code>CONNECT</code>, <code>FTP</code> and <code>HTTP</code> are
503 provided by the seperate modules <module>mod_proxy_connect</module>,
504 <module>mod_proxy_ftp</module> and <module>mod_proxy_http</module>.
505 These three modules are also automatically enabled with
506 <code>--enable-proxy</code>.</dd>
508 <dt><code>--enable-proxy-connect</code></dt>
509 <dd>Enable proxy support for <code>CONNECT</code> request handling,
510 which is provided by <module>mod_proxy_connect</module>. This module
511 is an extension for the <module>mod_proxy</module> module, so you
512 should also use <code>--enable-proxy</code>.</dd>
514 <dt><code>--enable-proxy-ftp</code></dt>
515 <dd>Enable proxy support for <code>FTP</code> requests, which is
516 provided by <module>mod_proxy_ftp</module>.. This module
517 is an extension for the <module>mod_proxy</module> module, so you
518 should also use <code>--enable-proxy</code>.</dd>
520 <dt><code>--enable-proxy-http</code></dt>
521 <dd>Enable proxy support for <code>HTTP</code> requests, which is
522 provided by <module>mod_proxy_http</module>. This module
523 is an extension for the <module>mod_proxy</module> module, so you
524 should also use <code>--enable-proxy</code>.</dd>
526 <dt><code>--enable-rewrite</code></dt>
527 <dd>Enable rule based URL manipulation provided by
528 <module>mod_rewrite</module>.</dd>
530 <dt><code>--enable-so</code></dt>
531 <dd>Enable DSO capability provided by <module>mod_so</module>. This
532 module will be automatically enabled if you use the
533 <code>--enable-mods-shared</code> option.</dd>
535 <dt><code>--enable-speling</code></dt>
536 <dd>Enable the functionality to correct common URL misspellings, which
537 is provided by <module>mod_spelling</module>.</dd>
539 <dt><code>--enable-ssl</code></dt>
540 <dd>Enable support for SSL/TLS provided by
541 <module>mod_ssl</module>.</dd>
543 <dt><code>--enable-unique-id</code></dt>
544 <dd>Enable the generation of per-request unique ids, which is provided
545 by <module>mod_unique_id</module>.</dd>
547 <dt><code>--enable-usertrack</code></dt>
548 <dd>Enable user-session tracking provided by
549 <module>mod_usertrack</module>.</dd>
551 <dt><code>--with-module=<var>module-type</var>:<var>module-file</var>
553 <dd><p>Add a third-party module to the list of statically linked
554 modules. The module source file <code><var>module-file</var></code>
555 will be searched in the <code>modules/<var>module-type</var></code>
556 subdirectory of your Apache HTTP server source tree so it has to be
557 placed there before. If it is not found here
558 <code>configure</code> is considering <var>module-file</var> to be a
559 an absolute file path and tries to copy the source file into the
560 <var>module-type</var> subdirectory.</p>
561 <p>This option is useful to add small external modules consisting of
562 one source file. For bigger modules you should read the vendor's
564 <note><title>Note</title>
565 If you want to build a DSO module instead of a statically linked use
566 <a href="apxs.html">apxs</a>.</note>
569 <dt><code>--with-mpm=MPM</code></dt>
570 <dd>Choose the process model for your server. You have to select
571 exactly one <a href="mpm.html">Multi-Processing Module</a>. Otherwise
572 the <a href="mpm.html#defaults">default MPM</a> for your operating
573 system will be taken. Possible MPMs are <module>beos</module>,
574 <module>leader</module>, <module>mpmt_os2</module>,
575 <module>perchild</module>, <module>prefork</module>,
576 <module>threadpool</module> and <module>worker</module>.</dd>
580 <section id="otheroptfeat"><title>Cumulative and other options</title>
582 <dt><code>--enable-maintainer-mode</code></dt>
583 <dd>Turn on debugging and compile time warnings.</dd>
585 <dt><code>--enable-mods-shared=<var>MODULE-LIST</var></code></dt>
587 <p>Defines a list of modules to be enabled and build as dynamic
588 shared modules. This mean, these module have to be loaded
589 dynamically by using the <directive
590 module="mod_so">LoadModule</directive> directive.</p>
591 <p><var>MODULE-LIST</var> is a space separated list of modulenames
592 enclosed by quotation marks. The module names are given without the
593 preceding <code>mod_</code>. For example:</p>
595 --enable-mods-shared='headers rewrite dav'
597 <p>Additionally you can use the special keywords <code>all</code> and
598 <code>most</code>. For example,</p>
600 --enable-mods-shared=most
602 <p>will compile most modules and build them as DSO modules.
603 <!-- See <a href="../install/enabledmodules.html">Overview of
604 enabled modules</a> for further information. --></p>
607 <dt><code>--enable-modules=<var>MODULE-LIST</var></code></dt>
608 <dd>This option behaves similar to <code>--enable-mods-shared</code>,
609 but will link the given modules statically. This mean, these modules
610 will always be present while running <code>httpd</code>. They need
611 not be loaded with <directive
612 module="mod_so">LoadModule</directive>.</dd>
614 <dt><code>--enable-v4-mapped</code></dt>
615 <dd>Allow IPv6 sockets to handle IPv4 connections.</dd>
617 <dt><code>--enable-vhost-alias</code></dt>
618 <dd>Enable mass virtual hosting provided by
619 <module>mod_vhost_alias</module>.</dd>
621 <dt><code>--with-port=<var>PORT</var></code></dt>
622 <dd>This defines the port on which <code>httpd</code> will listen. This
623 port number is used when generating the configuration file
624 <code>httpd.conf</code>. The default is 80.</dd>
626 <dt><code>--with-program-name</code></dt>
627 <dd>Define an alternative executable name.</dd>
632 <section id="packages"><title>Optional packages</title>
633 <p>These options are used to define optional packages.</p>
635 <section id="generalpackages"><title>General syntax</title>
636 <p>Generally you can use the following syntax to define an optional
640 <dt><code>--with-<var>PACKAGE</var>[=<var>ARG</var>]</code></dt>
641 <dd>Use the package <var>PACKAGE</var>. The default value for
642 <var>ARG</var> is<code>yes</code>.</dd>
644 <dt><code>--without-<var>PACKAGE</var></code></dt>
645 <dd>Do not use the package <var>PACKAGE</var>. This is the same as
646 <code>--with-<var>PACKAGE</var>=no</code>. This option is provided by
647 <code>autoconf</code> but not very useful for the Apache HTTP
652 <!-- options not known are passed to packasges?
653 are there other important options for packages? -->
655 <section id="packageopt"><title>Specific packages</title>
657 <dt><code>--with-apr=<var>DIR</var>|<var>FILE</var></code></dt>
658 <dd>The Apache Portable Runtime (APR) is part of the <code>httpd</code>
659 source distribution and will automatically be build together with the
660 HTTP server. If you want to use an already installed APR instead you
661 have to tell <code>configure</code> the path to the
662 <code>apr-config</code> script. You may set the absolute path and name
663 or the directory to the installed APR. <code>apr-config</code> must
664 exists within this directory or the subdirectory
665 <code>bin</code>.</dd>
667 <dt><code>--with-apr-util=<var>DIR</var>|<var>FILE</var></code></dt>
668 <dd>The Apache Portable Runtime Utilities (APU) are part of the
669 <code>httpd</code> source distribution and will automatically be build
670 together with the HTTP server. If you want to use an already installed
671 APU instead you have to tell <code>configure</code> the path to the
672 <code>apu-config</code> script. You may set the absolute path and name
673 or the directory to the installed APU. <code>apu-config</code> must
674 exists within this directory or the subdirectory
675 <code>bin</code>.</dd>
677 <dt><code>--with-ssl=<var>DIR</var></code></dt>
678 <dd>If <module>mod_ssl</module> has been enabled <code>configure</code>
679 searches for an installed OpenSSL. You can set the directory path
680 to the SSL/TLS toolkit instead.</dd>
682 <dt><code>--with-z=<var>DIR</var></code></dt>
683 <dd><code>configure</code> searches automatically for an installed
684 <code>zlib</code> library if your source configuration requires one
685 (e.g., when <module>mod_deflate</module> is enabled). You can set the
686 directory path to the compression library instead.</dd>
691 <section id="supportopt"><title>Options for support programs</title>
693 <dt><code>--enable-static-support</code></dt>
694 <dd>Build a statically linked version of the support binaries. This
695 means, a stand-alone executable will be built with all the necessary
696 libraries integrated. Otherwise the support binaries are linked
697 dynamically by default.</dd>
699 <dt><code>--enable-suexec</code></dt>
700 <dd>Use this option to enable <code><a
701 href="suexec.html">suexec</a></code>, which allows you to set uid
702 and gid for spawned processes. Further options to configure
703 <code>suexec</code> are described <a href="#suexec">below</a>.</dd>
706 <p>It is possible to create a statically linked binary of a single
707 support program by using the following options:</p>
710 <dt><code>--enable-static-ab</code></dt>
711 <dd>Build a statically linked version of <code><a
712 href="ab.html">ab</a></code>.</dd>
714 <!-- missing documentation for chechgid -->
715 <dt><code>--enable-static-checkgid</code></dt>
716 <dd>Build a statically linked version of <code>checkgid</code>.</dd>
718 <!-- missing documentation for htdbm -->
719 <dt><code>--enable-static-htdbm</code></dt>
720 <dd>Build a statically linked version of <code>htdbm</code>.</dd>
722 <dt><code>--enable-static-htdigest</code></dt>
723 <dd>Build a statically linked version of <code><a
724 href="htdigest.html">htdigest</a></code>.</dd>
726 <dt><code>--enable-static-htpasswd</code></dt>
727 <dd>Build a statically linked version of <code><a
728 href="htpasswd.html">htpasswd</a></code>.</dd>
730 <dt><code>--enable-static-logresolve</code></dt>
731 <dd>Build a statically linked version of <code><a
732 href="logresolve.html">logresolve</a></code>.</dd>
734 <dt><code>--enable-static-rotatelogs</code></dt>
735 <dd>Build a statically linked version of <code><a
736 href="rotatelogs.html">rotatelogs</a></code>.</dd>
739 <section id="suexec"><title>suexec configuration options</title>
740 <p>The following options are used to fine tune the behavior of <code><a
741 href="suexec.html">suexec</a></code>. See <a
742 href="suexec.html#install">Configuring and installing suEXEC</a>
743 for further information.</p>
746 <dt><code>--with-suexec-bin</code></dt>
747 <dd>This defines the path to suexec binary. Default is
748 <code>--sbindir</code> (see <a href="directoryfinetuning">Fine
749 tuning of installation directories</a>).</dd>
751 <dt><code>--with-suexec-caller</code></dt>
752 <dd>This defines the user allowed to call <code>suexec</code>. It should
753 be the same as the user under which <code>httpd</code> normally
756 <dt><code>--with-suexec-docroot</code></dt>
757 <dd>This defines the directory tree under which <code>suexec</code>
758 access is allowed for executables. Default value is
759 <code>--datadir/htdocs</code>.</dd>
761 <dt><code>--with-suexec-gidmin</code></dt>
762 <dd>Define this as the lowest GID allowed to be a target user for
763 <code>suexec</code>. The default value is 100.</dd>
765 <dt><code>--with-suexec-logfile</code></dt>
766 <dd>This defines the filename of the <code>suexec</code> logfile. By
767 default the logfile is named <code>suexec_log</code> and located in
768 <code>--logfiledir</code>.</dd>
770 <dt><code>--with-suexec-safepath</code></dt>
771 <dd>Define the value of the environment variable <code>PATH</code> to
772 be set for processes started by <code>suexec</code>. Default value is
773 <code>/usr/local/bin:/usr/bin:/bin</code>.</dd>
775 <dt><code>--with-suexec-userdir</code></dt>
776 <dd>This defines the subdirectory under the user's directory that
777 contains all executables for which <code>suexec</code> access is
778 allowed. This setting is necessary when you want to use
779 <code>suexec</code> together with user-specific directories (as
780 provided by <module>mod_userdir</module>). The default is
781 <code>public_html</code>.</dd>
783 <dt><code>--with-suexec-uidmin</code></dt>
784 <dd>Define this as the lowest UID allowed to be a target user for
785 <code>suexec</code>. The default value is 100.</dd>
787 <dt><code>--with-suexec-umask</code></dt>
788 <dd>Set <code>umask</code> for processes started by <code>suexec</code>.
789 It defaults to your system settings.</dd>
795 <section id="env"><title>Environment variables</title>
796 <p>There are some useful environment variables to override the choices made by
797 <code>configure</code> or to help it to find libraries and programs with
798 nonstandard names or locations.</p>
800 <!-- are these all useful variables? -->
802 <dt><code>CC</code></dt>
803 <dd>Define the C compiler command to be used for compilation.</dd>
805 <dt><code>CFLAGS</code></dt>
806 <dd>Set C compiler flags you want to use for compilation.</dd>
808 <dt><code>CPP</code></dt>
809 <dd>Define the C preprocessor command to be used.</dd>
811 <dt><code>CPPFLAGS</code></dt>
812 <dd>Set C/C++ preprocessor flags, e.g. <code>-I<var>includedir</var></code>
813 if you have headers in a nonstandard directory <var>includedir</var>.</dd>
815 <dt><code>LDFLAGS</code></dt>
816 <dd>Set linker flags, e.g. <code>-L<var>libdir</var></code> if you have
817 libraries in a nonstandard directory <var>libdir</var>.</dd>