<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>apachectl - Apache HTTP Server Control Interface - 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.3</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs-project/">Documentation</a> &gt; <a href="../">Version 2.3</a> &gt; <a href="./">Programs</a></div><div id="page-content"><div id="preamble"><h1>apachectl - Apache HTTP Server Control Interface</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="../en/programs/apachectl.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/programs/apachectl.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>

     <p><code>apachectl</code> is a front end to the Apache HyperText
     Transfer Protocol (HTTP) server.  It is designed to help the
     administrator control the functioning of the Apache
     <code class="program"><a href="../programs/httpd.html">httpd</a></code> daemon.</p>

     <p>The <code>apachectl</code> script can operate in two modes.
     First, it can act as a simple front-end to the <code class="program"><a href="../programs/httpd.html">httpd</a></code>
     command that simply sets any necessary environment variables and
     then invokes <code class="program"><a href="../programs/httpd.html">httpd</a></code>, passing through any command line
     arguments.  Second, <code>apachectl</code> can act as a SysV init
     script, taking simple one-word arguments like <code>start</code>,
     <code>restart</code>, and <code>stop</code>, and translating them
     into appropriate signals to <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p>

     <p>If your Apache installation uses non-standard paths, you will
     need to edit the <code>apachectl</code> script to set the
     appropriate paths to the <code class="program"><a href="../programs/httpd.html">httpd</a></code> binary.  You can also
     specify any necessary <code class="program"><a href="../programs/httpd.html">httpd</a></code> command line arguments.
     See the comments in the script for details.</p>

     <p>The <code>apachectl</code> script returns a 0 exit value on
     success, and &gt;0 if an error occurs.  For more details, view
     the comments in the script.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Synopsis</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
</ul><h3>See also</h3><ul class="seealso"><li><a href="../invoking.html">Starting Apache</a></li><li><a href="../stopping.html">Stopping Apache</a></li><li><a href="../configuring.html">Configuration Files</a></li><li><a href="../platform/">Platform Docs</a></li><li><code class="program"><a href="../programs/httpd.html">httpd</a></code></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="synopsis" id="synopsis">Synopsis</a></h2>

<p>When acting in pass-through mode, <code>apachectl</code> can take
all the arguments available for the <code class="program"><a href="../programs/httpd.html">httpd</a></code>
binary.</p>

<p><code><strong>apachectl</strong> [ <var>httpd-argument</var> ]</code></p>

<p>When acting in SysV init mode, <code>apachectl</code> takes simple,
one-word commands, defined below.</p>

<p><code><strong>apachectl</strong> <var>command</var></code></p>

</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="options" id="options">Options</a></h2>

<p>Only the SysV init-style options are defined here.  Other arguments
are defined on the <code class="program"><a href="../programs/httpd.html">httpd</a></code> manual page.</p>

<dl>

<dt><code>start</code></dt>

<dd>Start the Apache <code class="program"><a href="../programs/httpd.html">httpd</a></code> daemon.  Gives an error if it
is already running.  This is equivalent to <code>apachectl -k
start</code>.</dd>

<dt><code>stop</code></dt>

<dd>Stops the Apache <code class="program"><a href="../programs/httpd.html">httpd</a></code> daemon.  This is equivalent to
<code>apachectl -k stop</code>.</dd>

<dt><code>restart</code></dt>

<dd>Restarts the Apache <code class="program"><a href="../programs/httpd.html">httpd</a></code> daemon.  If the daemon is
not running, it is started.  This command automatically checks the
configuration files as in <code>configtest</code> before initiating
the restart to make sure the daemon doesn't die.  This is equivalent
to <code>apachectl -k restart</code>.</dd>

<dt><code>fullstatus</code></dt>

<dd>Displays a full status report from <code class="module"><a href="../mod/mod_status.html">mod_status</a></code>.
For this to work, you need to have <code class="module"><a href="../mod/mod_status.html">mod_status</a></code> enabled
on your server and a text-based browser such as <code>lynx</code>
available on your system.  The URL used to access the status report
can be set by editing the <code>STATUSURL</code> variable in the
script.</dd>

<dt><code>status</code></dt>

<dd>Displays a brief status report.  Similar to the
<code>fullstatus</code> option, except that the list of requests
currently being served is omitted.</dd>

<dt><code>graceful</code></dt>

<dd>Gracefully restarts the Apache <code class="program"><a href="../programs/httpd.html">httpd</a></code> daemon.  If the
daemon is not running, it is started.  This differs from a normal
restart in that currently open connections are not aborted.  A side
effect is that old log files will not be closed immediately.  This
means that if used in a log rotation script, a substantial delay may
be necessary to ensure that the old log files are closed before
processing them.  This command automatically checks the configuration
files as in <code>configtest</code> before initiating the
restart to make sure Apache doesn't die.  This is equivalent to
<code>apachectl -k graceful</code>.</dd>

<dt><code>graceful-stop</code></dt>

<dd>Gracefully stops the Apache <code class="program"><a href="../programs/httpd.html">httpd</a></code> daemon.  
This differs from a normal stop in that currently open connections are not 
aborted.  A side effect is that old log files will not be closed immediately. 
This is equivalent to <code>apachectl -k graceful-stop</code>.</dd>

<dt><code>configtest</code></dt>

<dd>Run a configuration file syntax test. It parses the configuration
files and either reports <code>Syntax Ok</code>
or detailed information about the particular syntax error.  This is
equivalent to <code>apachectl -t</code>.</dd>

</dl>

<p>The following option was available in earlier versions but has been removed.</p>

<dl>

<dt><code>startssl</code></dt>

<dd>To start <code class="program"><a href="../programs/httpd.html">httpd</a></code> with SSL support, you should edit
your configuration file to include the relevant directives and then
use the normal <code>apachectl start</code>.</dd>

</dl>

</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="../en/programs/apachectl.html" title="English">&nbsp;en&nbsp;</a> |
<a href="../ko/programs/apachectl.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 1995-2005 The Apache Software Foundation or its licensors, as applicable.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</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>