<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
<!-- English Revision: 1099788 -->
<!-- =====================================================
 Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
   Reviewed by: Orhan Berent <berent belgeler.org>
========================================================== -->

<!--
 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.
-->

<modulesynopsis metafile="mpm_common.xml.meta">

<name>mpm_common</name>
<description>Birden fazla Çok Süreçlilik Modülü (MPM) tarafından gerçeklenmiş
  yönergeler bütünü.</description>
<status>MPM</status>

<directivesynopsis>
<name>AcceptMutex</name>
<description>Apache HTTPd Sunucusunun ağ soketlerinden istekleri kabul eden
  çok sayıda çocuk süreci sıraya sokmak için kullandığı yöntemi
  belirler.</description>
<syntax>AcceptMutex Default|<var>yöntem</var></syntax>
<default>AcceptMutex Default</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>leader</module><module>perchild</module>
<module>prefork</module><module>threadpool</module><module>worker</module>
</modulelist>

<usage>
    <p><directive>AcceptMutex</directive> yönergesi Apache HTTPd Sunucusunun
     ağ soketlerinden istekleri kabul eden çok sayıda çocuk süreci sıraya
     sokmak için kullandığı yöntemi
     belirler. Apache 2.0’dan önce, yöntem sadece derleme sırasında
     seçilebiliyordu. Kullanılacak en uygun yöntem mimariye ve platforma aşırı
     derecede bağımlıdır. Bu konuda daha ayrıntılı bilgi edinmek için <a
     href="../misc/perf-tuning.html">Başarım Arttırma İpuçları</a> belgesine
     bakabilirsiniz.</p>

    <p>Bu yönergeye değer olarak <code>Default</code> belirtilmişse derleme
     sırasında seçilen öntanımlı yöntem kullanılacaktır. Diğer olası yöntemler
     aşağıda listelenmiştir. Tüm yöntemlerin tüm platformlarda mevcut
     olmadığına dikkat ediniz. Eğer belirtilen yöntem mevcut değilse hata
     günlüğüne mevcut yöntemlerin listesini içeren bir ileti yazılacaktır.</p>

    <dl>
      <dt><code>flock</code></dt>
      <dd><directive module="mpm_common">LockFile</directive> yönergesi ile
        belirtilen dosyayı kilitlemek için <code>flock(2)</code> sistem
        çağrısı kullanılır.</dd>

      <dt><code>fcntl</code></dt>
      <dd><directive module="mpm_common">LockFile</directive> yönergesi ile
        belirtilen dosyayı kilitlemek için <code>fcntl(2)</code> sistem
        çağrısı kullanılır.</dd>

      <dt><code>posixsem</code></dt>
      <dd>Muteksleri gerçeklemek için POSIX uyumlu semaforlar kullanılır.</dd>

      <dt><code>pthread</code></dt>
      <dd>POSIX Evreleri (PThreads) belirtimi tarafından gerçeklenen muteksler
       kullanılır.</dd>

      <dt><code>sysvsem</code></dt>
      <dd>Muteksleri gerçeklemek için SysV tarzı semaforlar kullanılır.</dd>
    </dl>

    <p>Sisteminiz için derleme sırasında seçilmiş öntanımlı yöntemi öğrenmek
      isterseniz <directive module="core">LogLevel</directive> yönergesine
      <code>debug</code> değerini atayabilirsiniz. Öntanımlı <directive
      >AcceptMutex</directive>, <directive module="core">ErrorLog</directive>
      ile belirtilen günlük dosyasına yazılacaktır.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>BS2000Account</name>
<description>BS2000 makinelerde yetkisiz hesap tanımlar.</description>
<syntax>BS2000Account <var>account</var></syntax>
<contextlist><context>server config</context></contextlist>
<modulelist><module>perchild</module><module>prefork</module></modulelist>
<compatibility>Sadece BS2000 makineler içindir.</compatibility>

<usage>
    <p><directive>BS2000Account</directive> yönergesi sadece BS2000
	konaklar için kullanılabilir. <directive module="mpm_common"
	>User</directive> yönergesi ile belirtilen yetkisiz apache sunucu
	kullanıcısı için hesap numarası tanımlamakta kullanılmalıdır. Buna,
	CGI betiklerinin sunucu tarafından başlatılmış yetkili hesabın
	(normal olarak <code>SYSROOT</code>’un) özkaynaklarına erişmesini
	engellemek için BS2000 POSIX alt sistemleri tarafından gerek duyulur.</p>

    <note><title>Ek Bilgi</title>
      <p>Sadece bir <code>BS2000Account</code> yönergesi kullanılabilir.</p>
    </note>
 </usage>
<seealso><a href="../platform/ebcdic.html">Apache EBCDIC portu</a></seealso>
 </directivesynopsis>

<directivesynopsis>
<name>CoreDumpDirectory</name>
<description><code>core</code> dosyasını dökümlemek üzere Apache’nin geçmeye
  çalışacağı dizin.</description>
<syntax>CoreDumpDirectory <var>dizin</var></syntax>
<default>Öntanımlı değer için aşağıdaki açıklamaya bakınız</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>beos</module><module>leader</module>
<module>mpm_winnt</module><module>perchild</module><module>prefork</module>
<module>threadpool</module><module>worker</module></modulelist>

<usage>
    <p>Bu yönerge <code>core</code> dosyasını dökümlemek üzere Apache’nin
      geçmeye çalışacağı dizini belirler. <directive
      module="core">ServerRoot</directive> dizini öntanımlı dizin olmakla
      birlikte, bu dizin kullanıcılar tarafından yazılabilir bir dizin
      olmadığından bir <code>core</code> dosyası dökümlenmez. Hata ayıklama
      amacıyla bir <code>core</code> dosyası dökümlemek isterseniz farklı bir
      yer belirtmek için bu yönergeyi kullanabilirsiniz.</p>

    <note><title>Linux üzerinde <code>core</code> dökümlemek</title>
      <p>Apache root olarak başlatılıp başka bir kullanıcıya geçilirse Linux
        çekirdeği süreç tarafından yazılabilir olsa bile <code>core</code>
        dökümlemeyi <em>iptal eder</em>. Eğer
        <directive>CoreDumpDirectory</directive> yönergesi ile açıkça bir
        dizin belirtirseniz, Apache (2.0.46 ve sonraki sürümleri), Linux 2.4 ve
        sonrasında <code>core</code> dökümlemeyi yeniden
        etkinleştirecektir.</p>
    </note>

    <note><title>BSD üzerinde <code>core</code> dökümlemek</title>
      <p>BSD sistemleri (FreeBSD gibi) üzerinde suid'li çalıştırılabilirlerin
      <code>core</code> dökümlemesini etkinleştirmek için
      <code>kern.sugid_coredump</code>'a 1 atayın.
    </p></note>

</usage>
</directivesynopsis>

<directivesynopsis>
<name>EnableExceptionHook</name>
<description>Bir çöküş sonrası olağandışılık eylemcilerini çalıştıracak
  kancayı etkin kılar.</description>
<syntax>EnableExceptionHook On|Off</syntax>
<default>EnableExceptionHook Off</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>leader</module><module>perchild</module>
<module>prefork</module><module>threadpool</module>
<module>worker</module></modulelist>
<compatibility>Sürüm 2.0.49 ve sonrasında mevcuttur</compatibility>

<usage>
    <p>Güvenlik sebebiyle bu yönerge sadece Apache
      <code>--enable-exception-hook</code> seçeneği ile yapılandırılmışsa
      kullanılabilir olacaktır. Bu, harici modüllerin eklenmesine ve bir çocuk
      sürecin çöküşü sonrası bir şeyler yapmaya izin veren bir kancayı etkin
      kılar.</p>

    <p>Bu kancayı kullanan iki modül (<code>mod_whatkilledus</code> ve
    <code>mod_backtrace</code>) zaten vardır. bunlar hakkında daha fazla bilgi
      edinmek için Jeff Trawick'in <a
      href="http://www.apache.org/~trawick/exception_hook.html"
      >EnableExceptionHook site</a>sine bakabilirsiniz.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>Group</name>
<description>İsteklere yanıt verecek sunucunun ait olacağı grubu belirler.</description>
<syntax>Group <var>unix-grubu</var></syntax>
<default>Group #-1</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>beos</module><module>leader</module>
<module>mpmt_os2</module><module>perchild</module><module>prefork</module>
<module>threadpool</module><module>worker</module></modulelist>
<compatibility>Apache 2.0’dan itibaren sadece sunucu geneli için geçerlidir.</compatibility>

<usage>
    <p><directive>Group</directive> yönergesi, sunucunun hangi grup altında
      isteklere yanıt vereceğini belirler. Bu yönergenin uygulanabilmesi için
      sunucunun <code>root</code> olarak çalıştırılmış olması gerekir.
      Sunucuyu <code>root</code> dışında bir kullanıcı başlattığı takdirde,
      sunucu belirtilen gruba geçemez ve kullanıcının kendi grubunda
      çalışmaya devam eder. <var>unix-grubu</var> şunlardan biri olabilir:</p>

    <dl>
      <dt>Bir grup adı</dt>
      <dd>Gruba ismiyle başvurulur.</dd>

      <dt><code>#</code> ardından grup numarası</dt>
      <dd>Gruba numarası ile başvurulur.</dd>
    </dl>

    <example><title>Örnek</title>
      Group www-group
    </example>

    <p>Çalışan sunucu için özellikle yeni bir grup atamanız önerilir. Bazı
      sistem yöneticileri <code>nobody</code> grubunu kullanırlar fakat
      bu her zaman mümkün olmadığı gibi arzulanan da değildir.</p>

    <note type="warning"><title>Güvenlik</title>
      <p>Ne yaptığınızı ve ne tehlikelere yol açacağınızı bilmiyorsanız
      <directive>Group</directive> (veya <directive
      module="mpm_common">User</directive>) yönergesine değer olarak
      <code>root</code> atamayınız.</p>
    </note>

    <p>Özel bilgi: Bu yönergenin <directive module="core"
      type="section">VirtualHost</directive> taşıyıcısı içinde kullanımı
      artık desteklenmemektedir. Sunucunuzu <program>suexec</program> için
      yapılandırırken <directive
      module="mod_suexec">SuexecUserGroup</directive> yönergesini
      kullanınız.</p>

    <note><title>Ek Bilgi</title>
      <p><directive>Group</directive> yönergesi <module>beos</module> ve
        <module>mpmt_os2</module> MPM’lerinde mevcut olsa da, aslında
        işlevsiz olup sadece uyumluluk adına mevcuttur.</p>
    </note>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>PidFile</name>
<description>Ana sürecin süreç kimliğinin (PID) kaydedileceği dosyayı belirler.</description>
<syntax>PidFile <var>dosya</var></syntax>
<default>PidFile logs/httpd.pid</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>beos</module><module>leader</module>
<module>mpm_winnt</module><module>mpmt_os2</module>
<module>perchild</module><module>prefork</module>
<module>threadpool</module><module>worker</module></modulelist>

<usage>
    <p><directive>PidFile</directive> yönergesi, sunucunun artalan sürecinin
      süreç kimliğinin kaydedileceği dosyayı belirler. Dosya ismi mutlak dosya
      yoluyla belirtilmemişse dosya yolunun <directive
      module="core">ServerRoot</directive> dizinine göre belirtildiği kabul
      edilir.</p>

    <example><title>Örnek</title>
      PidFile /var/run/apache.pid
    </example>

    <p>Sunucuya sinyal gönderebilmek çoğunlukla işe yarar. Böylece <directive
      module="core">ErrorLog</directive> ve <directive
      module="mod_log_config">TransferLog</directive> dosyaları kapatılıp
      yeniden açılır ve yapılandırma dosyaları yeniden okunur. Bu,
      <directive>PidFile</directive> dosyasında belirtilen süreç kimliğine bir
      SIGHUP (kill -1) sinyali gönderilerek yapılır.</p>

    <p>Günlük dosyasının yeri ve <a
      href="../misc/security_tips.html#serverroot">güvenlik</a> ile ilgili
      uyarılar <directive>PidFile</directive> dosyası içinde sözkonusu
      olabilir.</p>

    <note><title>Ek Bilgi</title>
      <p>Apache 2’de sunucuyu (yeniden) başlatırken veya durdururken sadece
        <program>apachectl</program> betiğini kullanmanız önerilir.</p>
    </note>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>Listen</name>
<description>Sunucunun dinleyeceği IP adresini ve portu belirler.</description>
<syntax>Listen [<var>IP-adresi</var>:]<var>port-numarası</var></syntax>
<contextlist><context>server config</context></contextlist>
<modulelist><module>beos</module><module>leader</module>
<module>mpm_netware</module><module>mpm_winnt</module>
<module>mpmt_os2</module><module>perchild</module>
<module>prefork</module><module>threadpool</module><module>worker</module>
<module>event</module>
</modulelist>
<compatibility>Apache 2.0’dan beri gerekli yönergelerden
 biridir.</compatibility>

<usage>
    <p><directive>Listen</directive> yönergesi Apache’yi sadece belli IP
      adreslerini ve portlarını dinlemeye sevkeder.
      <directive>Listen</directive> artık belirtilmesi zorunlu yönergelerden
      biridir. Yapılandırma dosyasında bulunmadığı takdirde sunucu
      başlatılırken başarısız olacaktır. Bu Apache Sunucusunun önceki
      sürümünde böyle değildi.</p>

    <p><directive>Listen</directive> yönergesi Apache’ye, sadece belli
      portlardan veya IP adresi ve port çiftlerinden gelen istekleri kabul
      etmesini söyler. Eğer sadece port numarası belirtilmişse sunucu
      belirtilen portu bütün ağ arabirimlerinde dinleyecektir. Eğer portla
      birlikte bir IP adresi de belirtilmişse, sunucu belirtilen portu sadece
      belirtilen arabirimden dinleyecektir.</p>

    <p>Çok sayıda IP adresi ve port belirtmek için çok sayıda
      <directive>Listen</directive> yönergesi kullanılabilir. Sunucu bu
      durumda belirtilen bütün IP adreslerinden ve portlardan gelecek
      isteklere yanıt verecektir.</p>

    <p>Örneğin sunucunun hem port 80 hem de port 8000’den istek kabul etmesini
      istiyorsanız bunu şöyle belirtebilirsiniz:</p>

    <example>
      Listen 80<br />
      Listen 8000
    </example>

    <p>Sunucunun belirtilen iki ağ arabiriminden ve port numarasından gelen
      bağlantıları kabul etmesi için şu yapılandırmayı kullanabilirsiniz:</p>

    <example>
      Listen 192.170.2.1:80<br />
      Listen 192.170.2.5:8000
    </example>

    <p>IPv6 adresleri belirtilirken örnekteki gibi köşeli ayraçlar arasına
      alınmalıdır:</p>

    <example>
      Listen [2001:db8::a00:20ff:fea7:ccea]:80
    </example>

    <note><title>Hata durumu</title>
      Aynı IP adresi ve portun çok sayıda <directive>Listen</directive>
      yönergesinde belirtilmesi bir "adres kullanımda" (<code>Address already
      in use</code>) hatasına yol açar.
    </note>
</usage>
<seealso><a href="../dns-caveats.html">DNS ve Apache ile ilgili Konular</a> </seealso>
<seealso><a href="../bind.html">Sunucunun Kullandığı Adreslerin ve Portların
  Ayarlanması</a></seealso>
</directivesynopsis>

<directivesynopsis>
<name>ListenBackLog</name>
<description>Bekleyen bağlantılar kuyruğunun azami uzunluğunu
  belirler</description>
<syntax>ListenBacklog <var>kuyruk-uzunluğu</var></syntax>
<default>ListenBacklog 511</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>beos</module><module>leader</module>
<module>mpm_netware</module><module>mpm_winnt</module>
<module>mpmt_os2</module><module>perchild</module><module>prefork</module>
<module>threadpool</module><module>worker</module></modulelist>

<usage>
    <p>Bekleyen bağlantılar kuyruğunun azami uzunluğu. Genellikle bu ayar ne
      gerekir ne de istenir. Ancak bazı sistemlerde TCP SYN yüklenme
      saldırılarına karşı bu değerin arttırılması gerekebilir.
      <var>kuyruk-uzunluğu</var> parametresi için <code>listen(2)</code>
      işlevinin açıklamasına bakınız.</p>

    <p>Bu değer çoğunlukla işletim sistemi tarafından daha küçük bir sayıyla
      sınırlanır. Bu, işletim sistemine bağlı olarak değişiklik gösterir.
      Ayrıca, çoğu işletim sisteminin <var>kuyruk-uzunluğu</var> parametresi
      ile ne belirttiğinize bakmaksızın kendisi için atanmış değeri (fakat
      normal olarak daha büyüğünü) kullanacağına dikkat ediniz.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>LockFile</name>
<description>Apache HTTPd Sunucusunun ağ soketlerinden istekleri kabul eden
  çok sayıda çocuk süreci sıraya sokarken kullandığı kilit dosyasının yerini
  belirler.</description>
<syntax>LockFile <var>dosya</var></syntax>
<default>LockFile logs/accept.lock</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>leader</module><module>perchild</module>
<module>prefork</module><module>threadpool</module><module>worker</module>
</modulelist>

<usage>
    <p><directive>LockFile</directive> yönergesi, <directive
      module="mpm_common">AcceptMutex</directive> yönergesi <code>fcntl</code>
      veya <code>flock</code> değeri ile belirtildiği takdirde kullanılan
      kilit dosyasının yerini belirler. Bu yönerge normalde öntanımlı
      değeriyle bırakılır. Değişmesini gerektiren ana sebep, <code>logs</code>
      dizininin ağ dosya sisteminde (NFS) yeralması halinde <strong>kilit
      dosyasının bir yerel diskte saklanması gereği</strong>dir. Ana sürecin
      süreç kimliği dosyaya kendiliğinden eklenir.</p>

    <note type="warning"><title>Güvenlik</title>
      <p>Bu dosyayı herkesin yazabildiği <code>/var/tmp</code> gibi bir dizine
        koymaktan kaçınmak gerekir. Çünkü, bu takdirde, birileri sunucunun
        hizmet sunmaya başlarken oluşturacağı kilit dosyası ile aynı isimde
        bir dosya oluşturarak hizmet reddi saldırısı (DoS) başlatabilir.</p>
    </note>
</usage>
<seealso><directive module="mpm_common">AcceptMutex</directive></seealso>
</directivesynopsis>

<directivesynopsis>
<name>MaxClients</name>
<description>Aynı anda işleme sokulacak azami bağlantı sayısı</description>
<syntax>MaxClients <var>sayı</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>beos</module><module>leader</module>
<module>prefork</module><module>threadpool</module><module>worker</module>
</modulelist>

<usage>
    <p><directive>MaxClients</directive> yönergesi aynı anda işleme sokulacak
      bağlantı sayısını sınırlamak için kullanılır. <directive
      >MaxClients</directive> bağlantı isteğinden fazlası geldiği takdirde bu
      istekler normal olarak kuyruğa alınıp bekletilir. Kuyrukta bekletilecek
      isteklerin azami sayısı ise <directive module="mpm_common"
      >ListenBacklog</directive> yönergesi ile belirlenir. İstek sunmakta olan
      çocuk süreçlerden biri serbest kaldığında bekletilen bağlantılardan
      birine hizmet sunulmaya başlanır.</p>

    <p>Evreli olmayan sunucularda (<module>prefork</module> gibi)
      <directive>MaxClients</directive> yönergesi istekleri sunmak için
      başlatılacak çocuk süreçlerin azami sayısını belirler. Öntanımlı değer
      256 olup bu değeri arttırmak isterseniz <directive
      module="mpm_common">ServerLimit</directive> değerini de
      arttırmalısınız.</p>

    <p>Çok evreli ve melez sunucularda (<module>beos</module> veya
      <module>worker</module> gibi) <directive>MaxClients</directive>
      yönergesi istemcilere hizmet verecek evre sayısını sınırlar. Öntanımlı
      değer <module>beos</module> için <code>50</code> iken melez MPM’ler için
      <directive module="mpm_common">ServerLimit</directive> ile <directive
      module="mpm_common">ThreadsPerChild</directive> çarpımıdır (<code>16 x
      25</code>). Bu bakımdan <directive>MaxClients</directive> değerini 16
      süreçten fazlasına ayarlamak için <directive
      module="mpm_common">ServerLimit</directive> değerini de
      arttırmalısınız.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>MaxMemFree</name>
<description><code>free()</code> çağrılmaksızın ana bellek ayırıcının
  ayırmasına izin verilen azami bellek miktarını belirler.</description>
<syntax>MaxMemFree <var>kB-sayısı</var></syntax>
<default>MaxMemFree 0</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>beos</module><module>leader</module>
<module>mpm_netware</module><module>prefork</module>
<module>threadpool</module><module>worker</module><module>mpm_winnt</module></modulelist>

<usage>
    <p><directive>MaxMemFree</directive> yönergesi, <code>free()</code>
      çağrılmaksızın ana bellek ayırıcının ayırmasına izin verilen azami
      bellek miktarını kB cinsinden belirler. Bir değerle belirtilmediğinde
      veya <code>0</code> değeriyle belirtildiğinde eşik sınırsız
      olacaktır.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>MaxRequestsPerChild</name>
<description>Tek bir çocuk sürecin ömrü boyunca işleme sokabileceği istek
  sayısını sınırlamakta kullanılır.</description>
<syntax>MaxRequestsPerChild <var>sayı</var></syntax>
<default>MaxRequestsPerChild 10000</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>leader</module><module>mpm_netware</module>
<module>mpm_winnt</module><module>mpmt_os2</module>
<module>perchild</module><module>prefork</module>
<module>threadpool</module><module>worker</module></modulelist>

<usage>
    <p><directive>MaxRequestsPerChild</directive> yönergesi, tek bir çocuk
      sürecin işleme sokabileceği istek sayısını sınırlamakta kullanılır.
      <directive>MaxRequestsPerChild</directive> istekten sonra çocuk süreç
      ölür. Eğer <directive>MaxRequestsPerChild</directive> için
      <code>0</code> belirtilmişse sürecin ömrü sonsuz olacaktır.</p>

    <note><title>Sıfırdan farklı öntanımlı değerler</title>
      <p><module>mpm_netware</module> ve <module>mpm_winnt</module> için
        öntanımlı değer <code>0</code>’dır.</p>
    </note>

    <p><directive>MaxRequestsPerChild</directive> için sıfırdan farklı bir
      değer belirtilmesi sürecin kullanacağı bellek miktarını sınırlamak
      suretiyle olası bellek sızıntılarını engeller.</p>

    <note><title>Ek Bilgi</title>
      <p><directive module="core">KeepAlive</directive> isteklerinde sadece
        ilk istek bu sınıra uygun sayılır. Etkisi ise, davranışın çocuk süreç
        başına <em>bağlantı</em> sayısının sınırlanması şeklinde
        değişmesidir.</p>
    </note>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>MaxSpareThreads</name>
<description>Boştaki azami evre sayısını belirler</description>
<syntax>MaxSpareThreads <var>number</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>beos</module><module>leader</module>
<module>mpm_netware</module><module>mpmt_os2</module>
<module>perchild</module><module>threadpool</module><module>worker</module>
</modulelist>

<usage>
    <p>Boştaki azami evre sayısı. Her MPM bu yönerge karşısında farklı
      davranır.</p>

    <p><module>perchild</module> için <code>MaxSpareThreads 10</code>
      öntanımlıdır. Bu MPM, boştaki evrelerin sayısını çocuk süreç başına
      boştaki evre sayısı olarak izler.  Bir çocukta çok fazla boşta evre
      varsa sunucu sadece o çocuğun boştaki evrelerini öldürür.</p>

    <p><module>worker</module>, <module>leader</module> ve
      <module>threadpool</module> için <code>MaxSpareThreads 250</code>
      öntanımlıdır. Bu MPM’ler boştaki evreleri sunucu genelinde izler. Eğer
      sunucuda çok fazla boşta evre varsa, sunucu boştaki evrelerin sayısı bu
      sınırın altına inene kadar çocuk süreçleri öldürür.</p>

    <p><module>mpm_netware</module> için <code>MaxSpareThreads 100</code>
      öntanımlıdır. Bu MPM tek bir süreç olarak çalıştığından boştaki evre
      sayısı aynı zamanda sunucu genelinde boştaki evre sayısıdır.</p>

    <p><module>beos</module> ve <module>mpmt_os2</module> MPM’leri
      <module>mpm_netware</module> gibidir. <module>beos</module> için
      <code>MaxSpareThreads 50</code> öntanımlıyken  <module>mpmt_os2</module>
      için öntanımlı değer <code>10</code>’dur.</p>

    <note><title>Kısıtlamalar</title>
      <p><directive>MaxSpareThreads</directive> için değer aralığı sınırlıdır.
        Apache belirtilen değeri aşağıdaki kurallara uygun olarak
        kendiliğinden düzeltecektir:</p>
      <ul>
        <li><module>perchild</module> için
          <directive>MaxSpareThreads</directive> değerinin <directive
          module="mpm_common">ThreadLimit</directive> değerinden küçük veya
          eşit olması gerekir.</li>

        <li><module>mpm_netware</module> modülü, değerin <directive
          module="mpm_common">MinSpareThreads</directive> değerinden küçük
          olmasını gerektirir.</li>

        <li><module>leader</module>, <module>threadpool</module> ve
          <module>worker</module> için değer, <directive
          module="mpm_common">MinSpareThreads</directive>
          ve <directive module="mpm_common">ThreadsPerChild</directive>
          toplamına eşit veya büyük olmak zorundadır.</li>
      </ul>
    </note>
</usage>
<seealso><directive module="mpm_common">MinSpareThreads</directive></seealso>
<seealso><directive module="mpm_common">StartServers</directive></seealso>
</directivesynopsis>

<directivesynopsis>
<name>MinSpareThreads</name>
<description>İsteklerin ani artışında devreye girecek boştaki evrelerin asgari
  sayısını belirler.</description>
<syntax>MinSpareThreads <var>number</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>beos</module><module>leader</module>
<module>mpm_netware</module><module>mpmt_os2</module>
<module>perchild</module><module>threadpool</module><module>worker</module>
</modulelist>

<usage>
    <p>İsteklerin ani artışında devreye girecek boştaki evrelerin asgari
      sayısı. Her MPM bu yönerge karşısında farklı davranır.</p>

    <p><module>perchild</module> için <code>MinSpareThreads 5</code>
      öntanımlıdır ve çocuk süreç başına boştaki evre sayısını izler. Bir
      çocuk için yeterince boşta evre yoksa sunucu bu çocuk için yeni evreler
      oluşturmaya başlar. Nitekim, <directive
      module="perchild">NumServers</directive> için <code>10</code> ve
      <directive>MinSpareThreads</directive> için <code>5</code> atarsanız
      sisteminizdeki boştaki evre sayısı en az 50 olur.</p>

    <p><module>worker</module>, <module>leader</module> ve
      <module>threadpool</module> modülleri için <code>MinSpareThreads
      75</code> öntanımlıdır ve bu modüller boştaki evreleri sunucu genelinde
      izler. Eğer sunucuda boştaki evre sayısı yetersizse, sunucu boştaki
      evrelerin sayısı bu sınırın üstüne çıkana kadar çocuk süreç
      oluşturur.</p>

    <p><module>mpm_netware</module> için <code>MinSpareThreads 10</code>
      öntanımlıdır ve tek süreç kendisi olduğundan izleme sunucu genelinde
      yapılır.</p>

    <p><module>beos</module> ve <module>mpmt_os2</module> modülleri
      <module>mpm_netware</module> gibidir. <module>beos</module> için
      <code>MinSpareThreads 1</code> öntanımlı iken <module>mpmt_os2</module>
      için öntanımlı değer <code>5</code>’tir.</p>
</usage>
<seealso><directive module="mpm_common">MaxSpareThreads</directive></seealso>
<seealso><directive module="mpm_common">StartServers</directive></seealso>
</directivesynopsis>

<directivesynopsis>
<name>ScoreBoardFile</name>
<description>Çocuk süreçler için eşgüdüm verisini saklamakta kullanılan
  dosyanın yerini belirler.</description>
<syntax>ScoreBoardFile <var>dosya-yolu</var></syntax>
<default>ScoreBoardFile logs/apache_status</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>beos</module><module>leader</module>
<module>mpm_winnt</module><module>perchild</module><module>prefork</module>
<module>threadpool</module><module>worker</module></modulelist>

<usage>
    <p>Apache ana ve çocuk süreçler arasında iletişim için bir çetele tutar.
      Bazı mimariler bu iletişimi kolaylaştırmak için bir dosya gerektirir.
      Eğer yönerge belirtilmezse Apache çeteleyi önce tamamen bellekte
      oluşturmayı dener (anonim paylaşımlı bellek kullanarak); bunda başarılı
      olamazsa dosyayı diskte oluşturmaya çalışacaktır (paylaşımlı belleğe
      eşlemli dosya kullanarak). Bu yönergenin belirtilmesi Apache sunucusunun
      dosyayı daima diskte oluşturmasına sebep olur.</p>

    <example><title>Örnek</title>
      ScoreBoardFile /var/run/apache_status
    </example>

    <p>Paylaşımlı belleğe eşlemli dosya, çeteleye doğrudan erişmesi gereken
      üçüncü parti uygulamalar için yararlıdır.</p>

    <p>Eğer <directive>ScoreBoardFile</directive> yönergesi ile bir dosya
      belirtecekseniz, dosyayı bir RAM diske yerleştirerek hız artışı
      sağlayabilirsiniz. Fakat, günlük dosyası yerleştirme ve <a
      href="../misc/security_tips.html">güvenlik</a> ile ilgili uyarılara
      benzer uyarılara karşı dikkatli olunuz.</p>
</usage>
<seealso><a href="../stopping.html">Sunucuyu Durdurma ve Yeniden Başlatma</a> </seealso>
</directivesynopsis>

<directivesynopsis>
<name>ReceiveBufferSize</name>
<description>TCP alım tamponu boyu</description>
<syntax>ReceiveBufferSize <var>bayt-sayısı</var></syntax>
<default>ReceiveBufferSize 0</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>beos</module><module>leader</module>
<module>mpm_netware</module><module>mpm_winnt</module>
<module>mpmt_os2</module><module>perchild</module><module>prefork</module>
<module>threadpool</module><module>worker</module></modulelist>

<usage>
    <p>Sunucu TCP alım tamponu boyunu <var>bayt-sayısı</var> ile belirtilen
      bayta ayarlayacaktır.</p>

    <p><code>0</code> değeri atarsanız sunucu işletim sistemi öntanımlısını
      kullanacaktır.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>SendBufferSize</name>
<description>TCP tamponu boyu</description>
<syntax>SendBufferSize <var>bayt-sayısı</var></syntax>
<default>SendBufferSize 0</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>beos</module><module>leader</module>
<module>mpm_netware</module><module>mpm_winnt</module>
<module>mpmt_os2</module><module>perchild</module><module>prefork</module>
<module>threadpool</module><module>worker</module></modulelist>

<usage>
    <p>Sunucu TCP gönderim tamponu boyunu <var>bayt-sayısı</var> ile
      belirtilen bayta ayarlayacaktır. Yüksek hızlı yüksek yataklık süresi
      için standart işletim sistemi öntanımlılarını arttırmak çok yararlıdır
      (örneğin, kıtalar arası hızlı borularda olduğu gibi 100 ms
      civarında).</p>

    <p><code>0</code> değeri atarsanız sunucu işletim sistemi öntanımlısını
      kullanacaktır.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>ServerLimit</name>
<description>Ayarlanabilir süreç sayısının üst sınırını belirler.</description>
<syntax>ServerLimit <var>sayı</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>leader</module><module>perchild</module>
<module>prefork</module><module>threadpool</module><module>worker</module>
</modulelist>

<usage>
    <p><module>prefork</module> modülü söz konusu olduğunda bu yönerge, Apache
      sürecinin ömrü boyunca <directive
      module="mpm_common">MaxClients</directive> yönergesine atanabilecek
      azami değeri belirler. <module>worker</module> modülü sözkonusu
      olduğunda ise, Apache sürecinin ömrü boyunca <directive
      module="mpm_common">MaxClients</directive> yönergesine atanabilecek
      azami değeri <directive module="mpm_common">ThreadLimit</directive> ile
      birlikte belirler. Bu yönergeyi bir yeniden başlatma sırasında
      değiştirirseniz bu değişiklik yok sayılır fakat <directive
      module="mpm_common">MaxClients</directive> değişiklikleri dikkate
      alınır.</p>

    <p>Bu yönergenin kullanılması özel bir dikkat gerektirir. Eğer
      <directive>ServerLimit</directive> gereğinden yüksek bir değere
      ayarlanırsa, gereksiz yere paylaşımlı bellek ayrılmış olur. Eğer
      <directive>ServerLimit</directive> ve <directive
      module="mpm_common">MaxClients</directive> değerleri sistemin
      işleyebileceğinden daha yüksek değerlere ayarlanırsa Apache
      başlayamayacağı gibi sistemi kararsız hale de getirebilir.</p>

    <p>Bu yönergeyi <module>prefork</module> modülü ile sadece <directive
      module="mpm_common">MaxClients</directive> yönergesine 256’dan
      (öntanımlı) daha büyük bir değer atayacaksanız kullanınız. Bu yönergeye
      <directive module="mpm_common">MaxClients</directive> için atamak
      istediğiniz değerden fazlasını atamayınız.</p>

    <p><module>worker</module>, <module>leader</module> ve
      <module>threadpool</module> modülleri söz konusu olduğunda bu yönergeyi
      <directive module="mpm_common">MaxClients</directive> ve
      <directive module="mpm_common">ThreadsPerChild</directive> ayarları 16
      sunucu sürecinden (16 öntanımlıdır) fazlasını gerektiriyorsa
      ayarlayınız. Bu yönergeye <directive module="mpm_common">MaxClients
      </directive> ve <directive
      module="mpm_common">ThreadsPerChild</directive> için gerekli gördüğünüz
      sunucu süreci sayısından fazlasını atamayınız.</p>

    <p><module>perchild</module> modülüyle bu yönergeyi eğer <directive
      module="perchild">NumServers</directive> yönergesine 8’den (öntanımlı)
      büyük bir değer atayacaksanız kullanınız.</p>

    <note><title>Ek Bilgi</title>
      <p>Sunucu içinde derlenmiş olarak <code>ServerLimit 20000</code>
        şeklinde bir zorlayıcı sınır vardır. Bu önlem, yazım hatalarının
        istenmeyen sonuçlara yol açmasını engellemek için düşünülmüştür.</p>
    </note>
</usage>
<seealso><a href="../stopping.html">Sunucuyu Durdurma ve Yeniden Başlatma</a> </seealso>
</directivesynopsis>

<directivesynopsis>
<name>StartServers</name>
<description>Sunucunun başlatılması sırasında oluşturulan çocuk süreçlerin
  sayısını belirler.</description>
<syntax>StartServers <var>sayı</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>leader</module><module>mpmt_os2</module>
<module>prefork</module><module>threadpool</module><module>worker</module>
</modulelist>

<usage>
    <p><directive>StartServers</directive> yönergesi, sunucunun başlatılması
      sırasında oluşturulan çocuk süreçlerin sayısını belirler. Süreç sayısı
      normal olarak yüke bağlı olarak değişse de bu değerin ayarlanmasını
      gerektirecek küçük bir sebep vardır.</p>

    <p>Öntanımlı değer MPM’den MPM’e fark eder. Öntanımlı değer
      <module>leader</module>, <module>threadpool</module> ve
      <module>worker</module> için <code>3</code> iken
      <module>prefork</module> için <code>5</code> ve
      <module>mpmt_os2</module> için <code>2</code>’dir.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>StartThreads</name>
<description>Sunucunun başlatılması sırasında oluşturulan evrelerin sayısını
  belirler.</description>
<syntax>StartThreads <var>sayı</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>beos</module><module>mpm_netware</module>
<module>perchild</module></modulelist>

<usage>
    <p><directive>StartThreads</directive> yönergesi, sunucunun başlatılması
      sırasında oluşturulan evrelerin sayısını belirler. Evre sayısı normal
      olarak yüke bağlı olarak değişse de bu değerin ayarlanmasını
      gerektirecek küçük bir sebep vardır.</p>

    <p><module>perchild</module> için <code>StartThreads 5</code> öntanımlı
      olup bu yönerge sunucunun başlatılması sırasında oluşturulan süreç
      başına evre sayısıyla bağlantısını sürdürür.</p>

    <p><module>mpm_netware</module> için <code>StartThreads 50</code>
      öntanımlı olup, sadece tek bir süreç olduğundan, sunucunun başlatılması
      sırasında oluşturulan evrelerin toplam sayısı <code>50</code>’dir.</p>

    <p><module>beos</module> için <code>StartThreads 10</code> öntanımlı olup
      sunucunun başlatılması sırasında oluşturulan evrelerin toplam sayısı
      <code>10</code>’dur.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>ThreadLimit</name>
<description>Çocuk süreç başına ayarlanabilir evre sayısının üst sınırını
  belirler.</description>
<syntax>ThreadLimit <var>sayı</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>leader</module><module>mpm_winnt</module>
<module>perchild</module><module>threadpool</module><module>worker</module>
</modulelist>
<compatibility><module>mpm_winnt</module> için Apache 2.0.41 ve sonrasında mevcuttur.</compatibility>

<usage>
    <p>Bu yönerge, Apache sürecinin ömrü boyunca <directive
      module="mpm_common">ThreadsPerChild</directive> yönergesine
      atanabilecek azami değeri belirler. Bu yönergeyi bir yeniden başlatma
      sırasında değiştirirseniz bu değişiklik yok sayılır fakat <directive
      module="mpm_common">ThreadsPerChild</directive> değişiklikleri dikkate
      alınır.</p>

    <p>Bu yönergenin kullanılması özel bir dikkat gerektirir. Eğer
      <directive>ThreadLimit</directive> değeri <directive
      module="mpm_common">ThreadsPerChild</directive> değerinden yüksek bir
      değere ayarlanırsa, gereksiz yere paylaşımlı bellek ayrılmış olur. Eğer
      <directive>ThreadLimit</directive> ve <directive
      module="mpm_common">ThreadsPerChild</directive> değerleri sistemin
      işleyebileceğinden daha yüksek değerlere ayarlanırsa Apache
      başlayamayacağı gibi sistemi kararsız hale de getirebilir. Bu yönergeye
      Apache sunucusunun çalışması için öngörülmüş en büyük değerden daha
      yükseğini atamayınız.</p>

    <p><directive>ThreadLimit</directive> yönergesinin öntanımlı değeri
      <module>mpm_winnt</module> için <code>1920</code>, diğerleri için
      <code>64</code>’tür.</p>

    <note><title>Ek Bilgi</title>
      <p>Sunucu içinde derlenmiş olarak <code>ThreadLimit 20000</code>
        şeklinde bir zorlayıcı sınır vardır (<module>mpm_winnt</module> için
        15000’dir). Bu önlem, yazım hatalarının istenmeyen sonuçlara yol
        açmasını engellemek için düşünülmüştür.</p>
    </note>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>ThreadsPerChild</name>
<description>Her çocuk süreç tarafından oluşturulan evrelerin sayısını
  belirler.</description>
<syntax>ThreadsPerChild <var>sayı</var></syntax>
<default>Ayrıntılar için aşağıdaki açıklamaya bakınız.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>leader</module><module>mpm_winnt</module>
<module>threadpool</module><module>worker</module></modulelist>

<usage>
    <p>Bu yönerge, her çocuk süreç tarafından oluşturulan evrelerin sayısını
      belirler. Çocuk süreçler bu evreleri başlatıldıklarında oluştururlar ve
      bundan daha fazlasını asla oluşturmazlar. <module>mpm_winnt</module>
      gibi sadece bir çocuk sürecin bulunduğu bir MPM kullanıyorsanız, bu
      sayı sunucunun tüm yükünü kaldırabilecek kadar büyük olmalıdır.
      <module>worker</module> gibi çok çocuk süreçli bir MPM kullanıyorsanız,
      <em>toplam</em> evre sayısı sunucunun tüm yükünü kaldırabilecek kadar
      büyük olmalıdır.</p>

    <p><directive>ThreadsPerChild</directive> için öntanımlı değer
      <module>mpm_winnt</module> kullanıldığında <code>64</code> diğerleri
      için <code>25</code>’tir.</p>
</usage>
</directivesynopsis>

<directivesynopsis>
<name>User</name>
<description>İsteklere yanıt verecek sunucunun ait olacağı kullanıcıyı
  belirler.</description>
<syntax>User <var>unix-kullanıcısı</var></syntax>
<default>User #-1</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>leader</module><module>perchild</module>
<module>prefork</module><module>threadpool</module><module>worker</module>
</modulelist>
<compatibility>Apache 2.0’dan itibaren sadece sunucu geneli için
  geçerlidir.</compatibility>

<usage>
    <p><directive>User</directive> yönergesi, sunucunun hangi kullanıcı olarak
      isteklere yanıt vereceğini belirler. Bu yönergenin uygulanabilmesi için
      sunucunun <code>root</code> olarak çalıştırılmış olması gerekir.
      Sunucuyu <code>root</code> dışında bir kullanıcı başlattığı takdirde,
      sunucu belirtilen kullanıcıya geçemez ve mevcut kullanıcıyla çalışmaya
      devam eder. Eğer sunucuyu <code>root</code> olarak başlatmışsanız ana
      süreç root olarak çalışmaya devam edecektir. <var>unix-kullanıcısı</var>
      şunlardan biri olabilir:</p>

    <dl>
      <dt>Bir kullanıcı adı</dt>
      <dd>Gruba ismiyle başvurulur.</dd>

      <dt><code>#</code> ardından kullanıcı numarası</dt>
      <dd>Kullanıcıya numarası ile başvurulur.</dd>
    </dl>

    <p>Bu yönergede belirtilecek kullanıcının, başkaları tarafından üzerinde
      değişiklik yapılabilecek dosyalardan başkasına erişemeyen bir kullanıcı
      olmaması gerektiği gibi, HTTP isteklerini işlemek dışında işlemler de
      yapabilen bir kullanıcı olmamalıdır.
      Çalışan sunucu için özellikle yeni bir grup atamanız önerilir. Bazı
      sistem yöneticileri <code>nobody</code> kullanıcısını kullanırlar fakat
      <code>nobody</code> kullanıcısı sistemde başka amaçlarla
      kullanılabildiğinden bu her zaman mümkün olmadığı gibi arzulanan da
      değildir.</p>

    <note type="warning"><title>Güvenlik</title>
      <p>Ne yaptığınızı ve ne tehlikelere yol açacağınızı bilmiyorsanız
      <directive>User</directive> (veya <directive
      module="mpm_common">Group</directive>) yönergesine değer olarak
      <code>root</code> atamayınız.</p>
    </note>

    <p>Sanal konakları farklı kullanıcı kimliklerle çalıştırmak üzere
      tasarlanan <module>perchild</module> modülü kullanıldığında <directive
      type="section" module="core">VirtualHost</directive> bölümlerinde
      <directive module="perchild">AssignUserID</directive> yönergesi ile
      farklı bir kullanıcı kimlik tanımlanmadığı takdirde
      <directive>User</directive> yönergesi ile ana sunucu için tanımlanan
      kullanıcı kimlik sanal konak için de geçerli olur.</p>

    <p>Özel bilgi: Bu yönergenin <directive module="core"
      type="section">VirtualHost</directive> taşıyıcısı içinde kullanımı
      artık desteklenmemektedir. Sunucunuzu <program>suexec</program> için
      yapılandırırken <directive
      module="mod_suexec">SuexecUserGroup</directive> yönergesini
      kullanınız.</p>

    <note><title>Ek Bilgi</title>
      <p><directive>User</directive>yönergesi <module>beos</module> ve
        <module>mpmt_os2</module> MPM’lerinde mevcut olsa da, aslında
        işlevsiz olup sadece uyumluluk adına mevcuttur.</p>
    </note>
</usage>
</directivesynopsis>

</modulesynopsis>
