<?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="tr" xml:lang="tr"><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 - Apache HTTP Sunucusu Denetim Arayüzü - Apache HTTP Sunucusu Sürüm 2.4</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.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</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/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.4</a> &gt; <a href="./">Programlar</a></div><div id="page-content"><div id="preamble"><h1>apachectl - Apache HTTP Sunucusu Denetim Arayüzü</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../en/programs/apachectl.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/programs/apachectl.html" hreflang="fr" rel="alternate" 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" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>

    <p><code><strong>apachectl</strong></code> Apache Hiper Metin Aktarım
      Protokolü (HTTP) sunucusu için bir denetim aracıdır. Sistem
      yöneticisinin Apache <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> artalan
      sürecini denetimi altında tutabilmesine yardımcı olmak amacıyla
      tasarlanmıştır.</p>

    <p><code><strong>apachectl</strong></code> iki kipte işleyebilir.
      İlkinde, <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> komutu için basit
      bir önyüz gibi davranarak, gerekli ortam değişkenlerini atar ve
      belirtilen komut satırı seçenekleriyle
      <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> sürecini başlatır. İkinci
      kipte ise, <code><strong>apachectl</strong></code> bir SysV başlatma
      betiği olarak <code><strong>start</strong></code>,
      <code><strong>restart</strong></code>,
      <code><strong>stop</strong></code> gibi tek sözcüklük basit argümanlar
      alır ve bunları uygun sinyallere dönüştürerek
      <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong>'ye gönderir.</p>

    <p>Eğer Apache kurulumunuzda standart dışı dosya yolları kullanmışsanız,
      <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> programına uygun yolları
      atamak için <code><strong>apachectl</strong></code> betiğini elden
      geçirmelisiniz. Bu arada gerek gördüğünüz
      <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> komut satırı argümanlarını da
      belirtebilirsiniz. Ayrıntılar için betik içindeki açıklamalara
      bakınız.</p>

    <p><code><strong>apachectl</strong></code> betiği başarı durumunda 0
      çıkış değeri ile döner. Bir hata durumunda ise sıfırdan farklı bir
      değerle döner. Daha fazla bilgi için betik içindeki açıklamalara
      bakınız.</p>
</div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Kullanım</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#options">Seçenekler</a></li>
</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="../invoking.html">Apache'nin Başlatılması</a></li><li><a href="../stopping.html">Apache'nin Durdurulması</a></li><li><a href="../configuring.html">Yapılandırma Dosyaları</a></li><li><a href="../platform/">Platform Belgeleri</a></li><li><code class="program"><a href="../programs/httpd.html">httpd</a></code></li><li><a href="#comments_section">Yorumlar</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">Kullanım</a></h2>

    <p><code><strong>apachectl</strong></code> önyüz kipinde çalıştığında
      <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> programının bütün komut
      satırı argümanlarını kabul edebilir.</p>

    <p><code><strong>apachectl</strong> [ <var>httpd-argümanları</var> ]
    </code></p>

    <p>SysV başlatma betiği kipinde ise,
      <code><strong>apachectl</strong></code> aşağıda tanımlanan basit, tek
      sözcüklük komutları kabul eder.</p>

    <p><code><strong>apachectl</strong> <var>komut</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">Seçenekler</a></h2>

    <p>Burada sadece SysV başlatma betiğine özgü seçeneklere yer verilmiştir.
      Diğer argümanlar için <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> kılavuz
      sayfasına bakınız.</p>

    <dl>
      <dt><code><strong>start</strong></code></dt>
      <dd>Apache <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> artalan sürecini
        başlatır. Zaten çalışmaktaysa bir hata verir. <code><strong>apachectl
        -k start</strong></code> komutuna eşdeğerdir.</dd>

      <dt><code><strong>stop</strong></code></dt>
      <dd>Apache <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> artalan sürecini
        durdurur. <code><strong>apachectl -k stop</strong></code> komutuna
        eşdeğerdir.</dd>

      <dt><code><strong>restart</strong></code></dt>
      <dd>Apache <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> artalan sürecini
        yeniden başlatır; çalışmıyorsa çalıştırılır. Artalan sürecinin ölü
        olmadığından emin olmak için yeniden başlatmadan önce
        <code><strong>configtest</strong></code> seçeneği verilmiş gibi
        yapılandırma dosyaları sınanır. <code><strong>apachectl -k
        restart</strong></code> komutuna eşdeğerdir.</dd>

      <dt><code><strong>fullstatus</strong></code></dt>
      <dd><strong><code class="module"><a href="../mod/mod_status.html">mod_status</a></code></strong> üzerinden tam bir
        durum raporu gösterir. Bunun çalışması için sunucuda
        <strong><code class="module"><a href="../mod/mod_status.html">mod_status</a></code></strong> etkinleştirilmiş olmalı
        ve sisteminizde <code><strong>lynx</strong></code> gibi bir metin
        kipi HTTP tarayıcı kurulu olmalıdır. Durum raporuna erişmek için
        kullanılacak adres betik içinde <code>STATUSURL</code> değişkenine
        atanabilir.</dd>

      <dt><code><strong>status</strong></code></dt>
      <dd>Özet halinde bir durum raporu gösterir. O an sunulmakta olan
        isteklerin gösterilmemesi dışında
        <code><strong>fullstatus</strong></code> seçeneği gibidir.</dd>

      <dt><code><strong>graceful</strong></code></dt>
      <dd>Apache <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> artalan sürecini
        <em>nazikçe</em> yeniden başlatır; çalışmıyorsa çalıştırılır. O an
        hizmet sunmakta olan çocuk süreçleri hemen durdurmaması dışında
        normal yeniden başlatma gibidir. Bir yan etki olarak eski günlük
        dosyaları hemen kapatılmaz. Yani, günlük dosyalarını döndüren bir
        betik kullanıyorsanız yenilerini başlatmadan önce eski dosyaların
        tamamen kapandığından emin olmak için belli bir süre beklemeniz
        gerekecektir. Artalan sürecinin ölü olmadığından emin olmak için
        yeniden başlatmadan önce  <code><strong>configtest</strong></code>
        seçeneği verilmiş gibi yapılandırma dosyaları sınanır.
        <code><strong>apachectl -k graceful</strong></code> komutuna
        eşdeğerdir.</dd>

      <dt><code><strong>graceful-stop</strong></code></dt>
      <dd>Apache <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> artalan sürecini
        <em>nazikçe</em> durdurur. O an hizmet sunmakta olan çocuk süreçleri
        hemen durdurmaması dışında normal durdurma gibidir. Bir yan etki
        olarak eski günlük dosyaları hemen kapatılmaz.
        <code><strong>apachectl -k graceful-stop</strong></code> komutuna
        eşdeğerdir.</dd>

      <dt><code><strong>configtest</strong></code></dt>
      <dd>Yapılandırma dosyasında sözdizimi denetimi yapılmasını sağlar.
        Yapılandırma dosyaları çözümlenir ve bir sorun yoksa bir <code>Syntax
        Ok</code> raporu verilir fakat, bir hata varsa o hataya ilişkin
        ayrıntılı bilgi verilir. <code><strong>apachectl -t</strong></code>
        komutuna eşdeğerdir.</dd>

    </dl>

    <p>Aşağıdaki seçenek eski sürümlerde kullanılmaktaydı, fakat artık
      kullanılmamaktadır.</p>

    <dl>
      <dt><code>startssl</code></dt>
      <dd><strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> programını SSL destekli
        başlatmak için, yapılandırma dosyanızı ilgili yönergeleri içermesi
        için elden geçirmeli ve normal <code><strong>apachectl
        start</strong></code> komutunu kullanmalısınız.</dd>
    </dl>
</div></div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="../en/programs/apachectl.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/programs/apachectl.html" hreflang="fr" rel="alternate" 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" 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">Yorumlar</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/2.4/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 2025 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>