<?xml version="1.0" encoding="UTF-8"?>
<!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="fr" xml:lang="fr"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>apachectl - L'interface de contrôle du serveur HTTP
  Apache - Serveur HTTP Apache Version 2.5</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="../images/favicon.png" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur HTTP Apache Version 2.5</p>
<img alt="" src="../images/feather.png" /></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/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <a href="./">Programmes</a></div><div id="page-content"><div id="preamble"><h1>apachectl - L'interface de contrôle du serveur HTTP
  Apache</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/programs/apachectl.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/programs/apachectl.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ko/programs/apachectl.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/apachectl.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>

     <p><code>apachectl</code> est un frontal pour le serveur HTTP
     Apache. Il a été conçu pour aider l'administrateur à contrôler le
     fonctionnement du démon Apache <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p>

     <p>Le script <code>apachectl</code> possède deux modes de
     fonctionnement. Il peut fonctionner en tant que simple frontal
     de la commande <code class="program"><a href="../programs/httpd.html">httpd</a></code> et ne fait alors que
     définir toute variable d'environnement nécessaire, puis invoque
     <code class="program"><a href="../programs/httpd.html">httpd</a></code> en lui passant tout argument de ligne de
     commande souhaité. Il peut aussi fonctionner en tant que script
     d'initialisation SysV n'acceptant qu'un seul argument tel que
     <code>start</code>, <code>restart</code> et <code>stop</code>, et
     traduisant ce dernier en signaux appropriés pour le démon
     <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p>

     <p>Si votre installation d'Apache utilise des chemins non
     standards, vous devrez éditer le script <code>apachectl</code> afin
     de définir les chemins appropriés pour le binaire
     <code class="program"><a href="../programs/httpd.html">httpd</a></code>. Vous pouvez aussi spécifier tout argument
     de ligne de commande de <code class="program"><a href="../programs/httpd.html">httpd</a></code> nécessaire. Voir
     les commentaires dans le script pour plus de détails.</p>

     <p>Le script <code>apachectl</code> renvoie une valeur égale à 0 en
     cas de succès, et une valeur supérieure à 0 en cas de problème.
     Voir les commentaires dans le script pour plus de détails.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Résumé</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#options">Options</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../invoking.html">Démarrer Apache</a></li><li><a href="../stopping.html">Arrêter Apache</a></li><li><a href="../configuring.html">Fichiers de
configuration</a></li><li><a href="../platform/">Documentation spécifique aux
plates-formes</a></li><li><code class="program"><a href="../programs/httpd.html">httpd</a></code></li><li><a href="#comments_section">Commentaires</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="synopsis" id="synopsis">Résumé</a> <a title="Lien permanent" href="#synopsis" class="permalink">&para;</a></h2>

<p>En mode frontal (pass-through), <code>apachectl</code> peut spécifier
tous les arguments qu'accepte le binaire <code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p>

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

<p>En mode script d'initialisation SysV, <code>apachectl</code>
n'accepte qu'un seul des arguments définis ci-dessous.</p>

<p><code><strong>apachectl</strong> <var>commande</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> <a title="Lien permanent" href="#options" class="permalink">&para;</a></h2>

<p>Seules les options du style initialisation SysV sont décrites ici.
Les autres arguments sont décrits dans la page de manuel de
<code class="program"><a href="../programs/httpd.html">httpd</a></code>.</p>

<dl>

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

<dd>Démarre le démon Apache <code class="program"><a href="../programs/httpd.html">httpd</a></code>. Renvoie une erreur
s'il est déjà en cours d'exécution. Équivalent à <code>apachectl -k
start</code>.</dd>

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

<dd>Arrête le démon Apache <code class="program"><a href="../programs/httpd.html">httpd</a></code>. Équivalent à
<code>apachectl -k stop</code>.</dd>

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

<dd>Redémarre le démon Apache <code class="program"><a href="../programs/httpd.html">httpd</a></code>. Si le démon
n'est pas en cours d'exécution, il est démarré. Cette option vérifie
automatiquement les fichiers de configuration (de la même manière que
l'option <code>configtest</code> ) avant de lancer le redémarrage, afin
d'être sûr que le fonctionnement du démon ne sera pas compromis.
Equivalent à <code>apachectl -k restart</code>.</dd>

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

<dd>Affiche le rapport d'état complet du module
<code class="module"><a href="../mod/mod_status.html">mod_status</a></code>. Pour que ceci fonctionne,
<code class="module"><a href="../mod/mod_status.html">mod_status</a></code> doit être activé dans votre serveur et vous
devez disposer d'un navigateur en mode texte tel que <code>lynx</code>
sur votre système. L'URL utilisée pour accéder au rapport d'état peut
être modifiée en définissant la variable <code>STATUSURL</code> dans le
script.</dd>

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

<dd>Affiche un rapport d'état succinct. Similaire à l'option
<code>fullstatus</code>, excepté que la liste des requêtes en cours de
traitement est omise.</dd>

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

<dd>Redémarre le démon Apache <code class="program"><a href="../programs/httpd.html">httpd</a></code> en douceur. Si le
démon n'est pas en cours d'exécution, il est démarré. À la différence
d'un redémarrage normal, les connexions en cours ne sont pas fermées.
Comme effet de bord, les anciens fichiers journaux ne seront pas fermés
immédiatement. Cela signifie que si l'on utilise un script de rotation
des journaux, un délai suffisant sera nécessaire afin d'être sûr que les
fichiers journaux seront bien fermés avant leur traitement par le script
de rotation. Cette option vérifie
automatiquement les fichiers de configuration (de la même manière que
l'option <code>configtest</code> ) avant de lancer le redémarrage, afin
d'être sûr que le fonctionnement du démon ne sera pas compromis.
Équivalent à <code>apachectl -k graceful</code>.</dd>

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

<dd>Arrête le démon Apache <code class="program"><a href="../programs/httpd.html">httpd</a></code> en douceur. À la
différence d'un arrêt normal, les connexions en cours ne sont pas
fermées. Comme effet de bord, les anciens fichiers journaux ne seront
pas fermés immédiatement. Équivalent à <code>apachectl -k
graceful-stop</code>.</dd>

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

<dd>Effectue une vérification de la syntaxe du fichier de configuration.
Avec cette option, le script parcourt le fichier de configuration et
renvoie soit <code>Syntax Ok</code>, soit des informations détaillées à
propos des éventuelles erreurs de syntaxe. Equivalent à <code>apachectl
-t</code>.</dd>

</dl>

<p>Les options suivantes étaient disponibles dans les anciennes versions
et ont été supprimées.</p>

<dl>

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

<dd>Pour démarrer <code class="program"><a href="../programs/httpd.html">httpd</a></code> avec le support SSL, vous
devez éditer votre fichier de configuration et y inclure les
directives appropriées, puis utiliser la commande de démarrage normale
<code>apachectl start</code>.</dd>

</dl>

</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/programs/apachectl.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/programs/apachectl.html" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ko/programs/apachectl.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/programs/apachectl.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/trunk/programs/apachectl.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else {
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2026 The Apache Software Foundation.<br />Autorisé sous <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/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>