<?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.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.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/quickreference.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.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/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.5</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"><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">Yorum</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> <a title="Permanent link" href="#synopsis" class="permalink">&para;</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> <a title="Permanent link" href="#options" class="permalink">&para;</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">Yorum</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 2023 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/quickreference.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>