<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
<!-- $LastChangedRevision: 561800 $ -->

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<manualpage metafile="httpd.xml.meta">
<parentdocument href="./">Programs</parentdocument>

  <title>httpd - Apache Hypertext Transfer Protocol Server</title>

<summary>
     <p><code>httpd</code> is the Apache HyperText Transfer Protocol
     (HTTP) server program.  It is designed to be run as a standalone
     daemon process. When used like this it will create a pool of
     child processes or threads to handle requests.</p>

     <p>In general, <code>httpd</code> should not be invoked directly,
     but rather should be invoked via <program>
     apachectl</program> on Unix-based systems or <a
     href="../platform/windows.html#winsvc">as a service on Windows NT,
     2000 and XP</a> and <a href="../platform/windows.html#wincons">as
     a console application on Windows 9x and ME</a>.</p>
</summary>

<seealso><a href="../invoking.html">Starting Apache</a></seealso>
<seealso><a href="../stopping.html">Stopping Apache</a></seealso>
<seealso><a href="../configuring.html">Configuration Files</a></seealso>
<seealso><a href="../platform/">Platform-specific Documentation</a></seealso>
<seealso><program>apachectl</program></seealso>

<section id="synopsis"><title>Synopsis</title>
     <p><code><strong>httpd</strong> [ -<strong>d</strong>
     <var>serverroot</var> ] [ -<strong>f</strong> <var>config</var> ]
     [ -<strong>C</strong> <var>directive</var> ] [ -<strong>c</strong>
     <var>directive</var> ] [ -<strong>D</strong> <var>parameter</var> ]
     [ -<strong>e</strong> <var>level</var> ] [ -<strong>E</strong>
     <var>file</var> ] 
     [ <strong>-k</strong> start|restart|graceful|stop|graceful-stop ]
     [ -<strong>R</strong> <var>directory</var> ] [ -<strong>h</strong> ]
     [ -<strong>l</strong> ] [ -<strong>L</strong> ] [ -<strong>S</strong> ]
     [ -<strong>t</strong> ] [ -<strong>v</strong> ] [ -<strong>V</strong> ]
     [ -<strong>X</strong> ] [ -<strong>M</strong> ]</code></p>

     <p>On <a href="../platform/windows.html">Windows systems</a>, the
     following additional arguments are available:</p>

     <p><code><strong>httpd</strong> [ -<strong>k</strong>
     install|config|uninstall ] [ -<strong>n</strong> <var>name</var> ]
     [ -<strong>w</strong> ]</code></p>
</section>

<section id="options"><title>Options</title>

<dl>
<dt><code>-d <var>serverroot</var></code></dt>

<dd>Set the initial value for the <directive
module="core">ServerRoot</directive> directive to
<var>serverroot</var>.  This can be overridden by the ServerRoot
directive in the configuration file. The default is
<code>/usr/local/apache2</code>.</dd>

<dt><code>-f <var>config</var></code></dt>

<dd>Uses the directives in the file <var>config</var> on startup. If
<var>config</var> does not begin with a /, then it is taken to be a
path relative to the <directive
module="core">ServerRoot</directive>. The default is
<code>conf/httpd.conf</code>.</dd>

<dt><code>-k <code>start|restart|graceful|stop|graceful-stop</code></code></dt>

<dd>Signals <code>httpd</code> to start, restart, or stop.  See <a
href="../stopping.html">Stopping Apache</a> for more information.</dd>

<dt><code>-C <var>directive</var></code></dt>

<dd>Process the configuration <var>directive</var> before reading
config files.</dd>

<dt><code>-c <var>directive</var></code></dt>

<dd>Process the configuration <var>directive</var> after reading config
files.</dd>


<dt><code>-D <var>parameter</var></code></dt>

<dd>Sets a configuration <var>parameter </var>which can be used with
<directive type="section" module="core">IfDefine</directive> sections
in the configuration files to conditionally skip or process commands
at server startup and restart. Also can be used to set certain
less-common startup parameters including <code>-DNO_DETACH</code>
(prevent the parent from forking) and <code>-DFOREGROUND</code>
(prevent the parent from calling <code>setsid()</code> et al).</dd>

<dt><code>-e <var>level</var></code></dt>

<dd>Sets the <directive module="core">LogLevel</directive> to
<var>level</var> during server startup.  This is useful for
temporarily increasing the verbosity of the error messages to find
problems during startup.</dd>

<dt><code>-E <var>file</var></code></dt>

<dd>Send error messages during server startup to <var>file</var>.</dd>

<dt><code>-R <var>directory</var></code></dt>

<dd>When the server is compiled using the <code>SHARED_CORE</code>
rule, this specifies the <var>directory</var> for the shared
object files.</dd>

<dt><code>-h</code></dt>

<dd>Output a short summary of available command line options.</dd>

<dt><code>-l</code></dt>

<dd>Output a list of modules compiled into the server.  This will
<strong>not</strong> list dynamically loaded modules included using
the <directive module="mod_so">LoadModule</directive> directive.</dd>

<dt><code>-L</code></dt>

<dd>Output a list of directives together with expected arguments and
places where the directive is valid.</dd>

<dt><code>-M</code></dt>

<dd>Dump a list of loaded Static and Shared Modules.</dd>

<dt><code>-S</code></dt>

<dd>Show the settings as parsed from the config file (currently only
shows the virtualhost settings).</dd>

<dt><code>-t</code></dt>

<dd>Run syntax tests for configuration files only.  The program
immediately exits after these syntax parsing tests with either a return code
of 0 (Syntax OK) or return code not equal to 0 (Syntax Error).  If -D
<var>DUMP</var>_<var>VHOSTS </var>is also set, details of the virtual host
configuration will be printed. If -D <var>DUMP</var>_<var>MODULES </var> is
set, all loaded modules will be printed.</dd>

<dt><code>-v</code></dt>

<dd>Print the version of <code>httpd</code>, and then exit.</dd>

<dt><code>-V</code></dt>

<dd>Print the version and build parameters of <code>httpd</code>, and
then exit.</dd>

<dt><code>-X</code></dt>

<dd>Run httpd in debug mode.  Only one worker will be started and the
server will not detach from the console.</dd>

</dl>

<p>The following arguments are available only on the <a
href="../platform/windows.html">Windows platform</a>:</p>

<dl>

<dt><code>-k install|config|uninstall</code></dt>

<dd>Install Apache as a Windows NT service; change startup options for
the Apache service; and uninstall the Apache service.</dd>

<dt><code>-n <var>name</var></code></dt>

<dd>The <var>name</var> of the Apache service to signal.</dd>

<dt><code>-w</code></dt>

<dd>Keep the console window open on error so that the error message can 
be read.</dd>

</dl>

</section>

</manualpage>
