mpm_common.xml.tr revision ff11394b10b5608991f43efb5308193b6d6001df
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<?xml version="1.0"?>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<!DOCTYPE modulesynopsis SYSTEM "/style/modulesynopsis.dtd">
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<?xml-stylesheet type="text/xsl" href="/style/manual.tr.xsl"?>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<!-- English Revision: 703441 -->
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<!-- =====================================================
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz Reviewed by: Orhan Berent <berent belgeler.org>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz========================================================== -->
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<!--
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz Licensed to the Apache Software Foundation (ASF) under one or more
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz contributor license agreements. See the NOTICE file distributed with
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz this work for additional information regarding copyright ownership.
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz The ASF licenses this file to You under the Apache License, Version 2.0
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz (the "License"); you may not use this file except in compliance with
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz the License. You may obtain a copy of the License at
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz http://www.apache.org/licenses/LICENSE-2.0
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz Unless required by applicable law or agreed to in writing, software
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz distributed under the License is distributed on an "AS IS" BASIS,
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz See the License for the specific language governing permissions and
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz limitations under the License.
ee3bb87ab2da52ee1ad0c6675ea8b699b0af9ddcEwaryst Schulz-->
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<modulesynopsis metafile="mpm_common.xml.meta">
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<name>mpm_common</name>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<description>Birden fazla Çok Süreçlilik Modülü (MPM) tarafından gerçeklenmiş
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz yönergeler bütünü.</description>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<status>MPM</status>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<directivesynopsis>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<name>AcceptMutex</name>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<description>Apache HTTPd Sunucusunun ağ soketlerinden istekleri kabul eden
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz çok sayıda çocuk süreci sıraya sokmak için kullandığı yöntemi
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz belirler.</description>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<syntax>AcceptMutex Default|<var>yöntem</var></syntax>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<default>AcceptMutex Default</default>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<contextlist><context>server config</context></contextlist>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<modulelist><module>leader</module><module>perchild</module>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<module>prefork</module><module>threadpool</module><module>worker</module>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz</modulelist>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz<usage>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <p><directive>AcceptMutex</directive> yönergesi Apache HTTPd Sunucusunun
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz ağ soketlerinden istekleri kabul eden çok sayıda çocuk süreci sıraya
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz sokmak için kullandığı yöntemi (ve uygunsa kilit dosyasının yerini)
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz belirler. Apache 2.0’dan önce, yöntem sadece derleme sırasında
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz seçilebiliyordu. Kullanılacak en uygun yöntem mimariye ve platforma aşırı
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz derecede bağımlıdır. Bu konuda daha ayrıntılı bilgi edinmek için <a
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz href="/misc/perf-tuning.html">Başarım Arttırma İpuçları</a> belgesine
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz bakabilirsiniz.</p>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <p>Bu yönergeye değer olarak <code>Default</code> belirtilmişse derleme
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz sırasında seçilen öntanımlı yöntem kullanılacaktır. Diğer olası yöntemler
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz aşağıda listelenmiştir. Tüm yöntemlerin tüm platformlarda mevcut
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz olmadığına dikkat ediniz. Eğer belirtilen yöntem mevcut değilse hata
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz günlüğüne mevcut yöntemlerin listesini içeren bir ileti yazılacaktır.</p>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <dl>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <dt><code>flock&lt;<var>:/dosya/yolu/kilit.dosyası</var>&gt;</code></dt>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <dd>İsteğe bağlı <var>/dosya/yolu/kilit.dosyası</var> ile tanımlanan
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz dosyayı kilitlemek için <code>flock(2)</code> sistem çağrısı kullanılır.
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz Ayrıca, önerilmiyor olsa bile kilit dosyasının yerini belirtmek için
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <directive module="mpm_common">LockFile</directive> yönergesi
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz kullanılabilir.</dd>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <dt><code>fcntl&lt;<var>:/dosya/yolu/kilit.dosyası</var>&gt;</code></dt>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <dd>İsteğe bağlı <var>/dosya/yolu/kilit.dosyası</var> ile tanımlanan
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz dosyayı kilitlemek için <code>fcntl(2)</code> sistem çağrısı
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz kullanılır. Ayrıca, önerilmiyor olsa bile kilit dosyasının yerini
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz belirtmek için <directive module="mpm_common">LockFile</directive>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz yönergesi kullanılabilir.</dd>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <dt><code>file&lt;<var>:/dosya/yolu/kilit.dosyası</var>&gt;</code></dt>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <dd>Bu yönerge Apache’ye, <code>fcntl</code> ve <code>flock</code>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz arasında "en iyi" dosya kilitleme gerçeklenimini seçip kullanmasını
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz söyler. Sadece bu işlevleri içeren ve <glossary>APR</glossary>’nin
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz ikisinden birini desteklediği platformlarda kullanılabilir.</dd>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <dt><code>posixsem</code></dt>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <dd>Muteksleri gerçeklemek için POSIX uyumlu semaforlar kullanılır.</dd>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <dt><code>sysvsem</code></dt>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <dd>Muteksleri gerçeklemek için SysV tarzı semaforlar kullanılır.</dd>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <dt><code>sem</code></dt>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <dd>Bu yönerge Apache’ye, POSIX ve SystemV IPC arasında "en iyi" semafor
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz gerçeklenimini seçip kullanmasını söyler. Sadece bu semaforları içeren
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz ve <glossary>APR</glossary>’nin ikisinden birini desteklediği
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz platformlarda kullanılabilir.</dd>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <dt><code>pthread</code></dt>
76408af596b604997cabe1ebde1caaa43f58b1e6Ewaryst Schulz <dd>POSIX Evreleri (PThreads) belirtimi tarafından gerçeklenen muteksler
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz kullanılır.</dd>
76408af596b604997cabe1ebde1caaa43f58b1e6Ewaryst Schulz
76408af596b604997cabe1ebde1caaa43f58b1e6Ewaryst Schulz </dl>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <p>Sisteminiz için derleme sırasında seçilmiş öntanımlı yöntemi öğrenmek
76408af596b604997cabe1ebde1caaa43f58b1e6Ewaryst Schulz isterseniz <directive module="core">LogLevel</directive> yönergesine
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <code>debug</code> değerini atayabilirsiniz. Öntanımlı <directive
76408af596b604997cabe1ebde1caaa43f58b1e6Ewaryst Schulz >AcceptMutex</directive>, <directive module="core">ErrorLog</directive>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz ile belirtilen günlük dosyasına yazılacaktır.</p>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <note type="warning"><title>Uyarı</title>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <p>Çoğu sistemde, <code>pthread</code> seçeneği seçildiği takdirde,
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <code>AcceptCntl</code> muteksi tutulurken bir çocuk süreç anormal
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz şekilde sonlanırsa, muteksi kurtarmak için sunucunun elle yeniden
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz başlatılması gerekecektir.</p>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <p>Solaris, bir muteks tutulurken, bir çocuk süreç anormal şekilde
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz sonlandıktan sonra muteksin Apache tarafından kurtarılmasına imkan veren
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz bir mekanizma sağlaması sebebiyle diğerlerinden ayrılır.</p>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz <p>Sisteminiz <code>pthread_mutexattr_setrobust_np()</code> işlevini
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz gerçekliyorsa <code>pthread</code> seçeneğini gönül rahatlığıyla
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz kullanabilirsiniz.</p>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz </note>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz</usage>
7af4df794a0e0f0cb927bd9371556ad098308983Ewaryst Schulz</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>
</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>GracefulShutdownTimeout</name>
<description>Sunucunun nazikçe kapatılmasının ardından ana süreç çıkana kadar
geçecek süre için bir zaman aşımı belirler.</description>
<syntax>GracefulShutDownTimeout <var>saniye</var></syntax>
<default>GracefulShutDownTimeout 0</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>prefork</module><module>worker</module>
<module>event</module></modulelist>
<compatibility>Sürüm 2.2 ve sonrasında mevcuttur</compatibility>
<usage>
<p><directive>GracefulShutdownTimeout</directive> yönergesi, sunucuya
"nazikçe dur" sinyali gönderildikten sonra mevcut bağlantılara hizmet
sunmaya daha kaç saniye devam edebileceğini belirtir.</p>
<p>Bu değerin <code>0</code> olarak belirtilmesi, sunucunun bekleyen bütün
isteklere hizmet sunumu tamamlanıncaya kadar (gerekirse sonsuza kadar)
bekleyebileceği anlamına gelir.</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>
[<var>protokol</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.<br/>
<var>protokol</var> argümanı 2.1.5 sürümünde eklenmiştir.</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>
<p>İsteğe bağlı <var>protocol</var> argümanı çoğu yapılandırmada gerekli
değildir. Belirtilmediği takdirde. port 443 için <code>https</code> ve
tüm diğer portlar için <code>http</code> öntanımlıdır. Protokol, isteği
hangi modülün elde edeceğinin ve <directive
module="core">AcceptFilter</directive> yönergesi ile protokole özgü
hangi en iyilemelerin uygulanacağının saptanmasında kullanılır.</p>
<p>Protokol belirtme ihtiyacını sadece standartdışı portlar
çalıştırıyorsanız duyarsınız. Örneğin, port 8443 üzerinde bir
<code>https</code> sitesi çalıştırmak istiyorsanız bunu şöyle
belirtebilirsiniz:</p>
<example>
Listen 192.170.2.1:8443 https
</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. <em>(kullanımı önerilmemektedir)</em></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>
<note type="warning"><title>Kullanımı önerilmiyor</title>
<p>Bu yönergenin kullanılması önerilmemektedir. Kilit dosyasının yerini
<directive module="mpm_common">AcceptMutex</directive> yönergesinde
muteks kilitleme gerçeklenimiyle birlikte belirtmeniz
önerilmektedir.</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>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>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 (<module>prefork</module> için
200000’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>
<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>ThreadStackSize</name>
<description>İstemci bağlantılarını elde eden evreler tarafından kullanılan
yığıtın bayt cinsinden uzunluğunu belirler.</description>
<syntax>ThreadStackSize <var>boyut</var></syntax>
<default>NetWare üzerinde 65536; diğer işletim sistemlerinde
değişir.</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>leader</module><module>mpm_netware</module>
<module>mpm_winnt</module><module>perchild</module>
<module>threadpool</module><module>worker</module>
</modulelist>
<compatibility>Apache 2.1 ve sonrasında mevcuttur.</compatibility>
<usage>
<p><directive>ThreadStackSize</directive> yönergesi, istemci
bağlantılarını elde eden evreler ve bu bağlantıları işlemekte yardımcı
olan modül çağrıları tarafından kullanılan yığıtın bayt cinsinden
uzunluğunu belirler. Çoğu durumda işletim sistemi yığıtı uygun bir
boyuta ayarlar, fakat yine de ayarlanmasını gerektirecek bazı durumlar
olabilir:</p>
<ul>
<li>HP-UX gibi görece küçük yığıt boyuna sahip platformlarda, Apache,
görece büyük yığıt alanı kullanan bazı üçüncü parti modüller yüzünden
çökebilir. Bu modüller öntanımlı yığıt boyu daha büyük olan diğer
platformlarda sorunsuz çalışabilir. Bu tür çökmeler
<directive>ThreadStackSize</directive> yönergesine daha büyük yığıt
boyu atanarak çözümlenir. Böyle bir ayarlamayı sadece üçüncü parti
modülün üreticisi bunun gerekliliğini belirtmişse veya Apache’nin
evre yığıt boyutunun küçüklüğünden dolayı çöktüğü teşhis edildiği
takdirde yapınız.</li>
<li>Öntanımlı yığıt boyu Apache sunucusu için gerekenden belirgin
şekilde büyük bazı platformalarda, eğer
<directive>ThreadStackSize</directive> yönergesi ile bu boyuttan daha
düşük bir değer atanmışsa çocuk süreç başına evre sayısının yüksek
olduğu durumlarda bu yığıt yetmeyebilir. Böyle bir ayarlama sadece
sunucunun öldüresiye denendiği dolayısıyla yığıt boyutlarının aşırı
zorlandığı deneme ortamlarında yapılmalıdır. Sunucu yapılandırmasında
yapılan bir değişiklik mevcut <directive>ThreadStackSize</directive>
ayarını geçersiz hale getirebilir.</li>
</ul>
</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>
<directivesynopsis>
<name>ChrootDir</name>
<description>Sunucunun başlatıldıktan sonra chroot(8) yapacağı dizini
belirler.</description>
<syntax>ChrootDir <var>/dizin/yolu</var></syntax>
<default>none</default>
<contextlist><context>server config</context></contextlist>
<modulelist><module>event</module>
<module>prefork</module><module>worker</module></modulelist>
<usage>
<p>Bu yönerge httpd 2.2.9(?) ve sonrasında mevcuttur ve sunucuya
başlatıldıktan sonra ağdan gelen istekleri kabul etmeden önce
belirtilen dizine <var>chroot(8)</var> yapmasını söyler.</p>
<p>Sunucuyu chroot altında çalıştırmanın basit bir işlem olmadığına ve
özellikle CGI veya PHP gibi betikler çalıştırıyorsanız ek ayarlamalar
yapmanız gerektiğine dikkat ediniz. Lütfen, bu özelliği kullanmaya
çalışmadan önce chroot işlemleri hakkında gerektiği kadar bilgi sahibi
olduğunuzdan emin olunuz.</p>
</usage>
</directivesynopsis>
</modulesynopsis>