2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
4 <!-- English Revision: 813376:1154940 (outdated) -->
5 <!-- =====================================================
6 Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7 Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
11 Licensed to the Apache Software Foundation (ASF) under one or more
12 contributor license agreements. See the NOTICE file distributed with
13 this work for additional information regarding copyright ownership.
14 The ASF licenses this file to You under the Apache License, Version 2.0
15 (the "License"); you may not use this file except in compliance with
16 the License. You may obtain a copy of the License at
18 http://www.apache.org/licenses/LICENSE-2.0
20 Unless required by applicable law or agreed to in writing, software
21 distributed under the License is distributed on an "AS IS" BASIS,
22 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 See the License for the specific language governing permissions and
24 limitations under the License.
27 <modulesynopsis metafile="core.xml.meta">
30 <description>Apache HTTP Sunucusunda daima mevcut olan çekirdek
31 özellikler</description>
35 <name>AcceptFilter</name>
36 <description>Bir protokolün dinleyici soketleri için en iyilemeleri ayarlar
38 <syntax>AcceptFilter <var>protocol</var> <var>kabul_süzgeci</var></syntax>
39 <contextlist><context>server config</context></contextlist>
40 <compatibility>Windows'ta Apache 2.3.3 ve sonrasında diğerlerinde Apache
41 2.1.5 ve sonrasında mevcuttur.</compatibility>
44 <p>Bu yönerge protokol türüne göre bir dinleme soketinin işletim
45 sistemine özgü en iyilemelerini etkin kılar. İşletim sistemi çekirdeği
46 için temel önerme veri alınıncaya kadar veya HTTP isteğinin tamamı
47 tamponlanana kadar sunucu sürecine bir soket tahsis etmemektir.
49 href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&sektion=9"
50 >FreeBSD’nin Kabul Süzgeçleri</a> ve Linux’un soket seçeneklerinden
51 <code>TCP_DEFER_ACCEPT</code> ve Windows'un en iyilenmiş
52 <code>AcceptEx()</code> işlevi desteklenmektedir.</p>
54 <p>Değiştirge olarak <code>none</code> kullanımı, protokolün kabul
55 süzgeçlerini iptal edecektir. <code>ftp:</code> veya <code>nntp</code>
56 gibi sunucunun baştan bir veri göndermesinin gerekli olduğu
57 protokoller için kullanışlıdır. Örnek:</p>
59 <example>AcceptFilter nntp none</example>
61 <p>FreeBSD için öntanımlı değerler:</p>
63 AcceptFilter http httpready <br/>
64 AcceptFilter https dataready
67 <p><code>httpready</code> kabul süzgeci HTTP isteklerinin tamamını
68 işletim sistemi çekirdeği seviyesinde tamponlar. Çekirdek isteğin
69 tamamını alır almaz sunucuya gönderir. Ayrıntılar için <a
70 href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&sektion=9"
71 >accf_http(9)</a> kılavuz sayfasına bakınız. HTTPS istekleri
72 şifrelenmiş olduğundan sadece <a
73 href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&sektion=9"
74 >accf_data(9)</a> süzgeci kullanılır.</p>
76 <p>Linux’taki öntanımlı değerler:</p>
78 AcceptFilter http data <br/>
79 AcceptFilter https data
82 <p>Linux’un <code>TCP_DEFER_ACCEPT</code> soket seçeneği HTTP isteklerinin
83 tamponlanmasını desteklemez. <code>none</code> dahil her değer
84 dinleyici üzerinde <code>TCP_DEFER_ACCEPT</code> seçeneğini etkin kılar.
85 Daha ayrıntılı bilgi edinmek için Linux
86 <a href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/tcp.7.html"
87 >tcp(7)</a> kılavuz sayfasına bakınız.</p>
89 <p>Windows’taki öntanımlı değerler::</p>
92 AcceptFilter http data <br/>
93 AcceptFilter https data
96 <p>Windows'un <code>mpm_winnt</code> modülü <code>AcceptEx()</code>
97 arayüzünü açıp kapamak için <code>AcceptFilter</code>'i yorumlar ve
98 http protokol tamponlamasını desteklemez. Windows
99 <code>AcceptEx()</code> arayüzünü tetikleyen iki değer vardır ve ağ
100 soketlerini bağlantılar arasında yer değiştirirler. <code>data</code>,
101 veri aktarılana kadar yukarıda anlatıldığı gibi bekler ve ilk veri
102 tamponu ve uç ağ adresleri tek bir <code>AcceptEx()</code> çağrısından
103 alınır. <code>connect</code>, <code>AcceptEx()</code> arayüzünü
104 kullanacak, ayrıca uç ağ adresleri de alınacak, fakat
105 <code>none</code> gibi <code>connect</code> seçeneği de ilk veri
106 aktarımını beklemeyecektir.</p>
108 <p>Windows'ta <code>none</code> <code>AcceptEx()</code>'ten ziyade
109 <code>accept()</code> kullanır ve ağ soketlerini bağlantılar arasında
110 yer değiştirmez. Sürücü desteği bozuk ağ bağdaştırıcılarından başka
111 vpn sürücüleri gibi bazı sanal ağ sağlayıcılar veya spam, virus veya
112 casus yazılım süzgeçleri için kullanışlıdır.</p>
117 <name>AcceptPathInfo</name>
118 <description>Dosya isminden sonra belirtilen yol verisini kabul veya
119 reddeder.</description>
120 <syntax>AcceptPathInfo On|Off|Default</syntax>
121 <default>AcceptPathInfo Default</default>
122 <contextlist><context>server config</context>
123 <context>virtual host</context><context>directory</context>
124 <context>.htaccess</context></contextlist>
125 <override>FileInfo</override>
126 <compatibility>Apache 2.0.30 ve sonrasında mevcuttur.</compatibility>
129 <p>Bu yönerge, istekte dosya isminden sonra (dizinde belirtilen dosya
130 bulunmayabilir) belirtilen yol verisinin kabul edilip edilmeyeceğini
131 denetler. Dosya isminden sonra belirtilen yol verisi
132 <code>PATH_INFO</code> ortam değişkeninde betiklerin kullanımına
135 <p>Örneğin, içinde sadece <code>here.html</code> dosyası bulunan bir
136 <code>/test/</code> dizinimiz olsun. <code>/test/here.html/more</code>
137 ve <code>/test/nothere.html/more</code> isteklerinin her ikisi de
138 <code>PATH_INFO</code> değişkenine <code>/more</code> verisinin
139 atanmasını sağlar.</p>
141 <p><directive>AcceptPathInfo</directive> yönergesine atanabilecek argüman
144 <dt><code>Off</code></dt><dd>Sadece dosya isminden sonra yol verisi
145 bulunmayan istekler kabul edilir. Yukarıdaki örnekteki gibi
146 <code>/test/here.html/more</code> şeklindeki istekler bir 404 (Nesne
147 bulunamadı) hatasıyla sonuçlanır.</dd>
149 <dt><code>On</code></dt><dd>Mevcut bir dosyaya ait bir dosya isminden
150 sonra bir yol verisinin de belirtildiği istekler kabul edilir.
151 Yukarıdaki örnekteki gibi <code>/test/here.html/more</code> şeklindeki
152 istekler, <code>/test/here.html</code> geçerli bir dosya olduğu
153 takdirde kabul edilir.</dd>
155 <dt><code>Default</code></dt><dd>Dosya isminden sonra yol verisi
156 belirtilen isteklerin nasıl ele alınacağı istekten sorumlu <a
157 href="../handler.html">eylemci</a> tarafından saptanır. Normal dosyalar
158 için çekirdek eylemci öntanımlı olarak <code>PATH_INFO</code>
159 isteklerini reddeder. <a
160 href="mod_cgi.html"><code>cgi-script</code></a> ve <a
161 href="mod_isapi.html"><code>isapi-handler</code></a> gibi betiklere
162 hizmet eden eylemciler ise genellikle <code>PATH_INFO</code>
163 isteklerini öntanımlı olarak kabul ederler.</dd>
166 <p><code>AcceptPathInfo</code> yönergesinin birincil amacı eylemcinin
167 <code>PATH_INFO</code> istekleri hakkında verdiği kabul veya red
168 kararını geçersiz kılabilmenizi sağlamaktır. Örneğin,
169 <code>PATH_INFO</code>’ya dayalı olarak içerik üretmek için <a
170 href="mod_include.html"><code>INCLUDES</code></a> gibi bir <a
171 href="../filter.html">süzgeç</a> kullandığınız takdirde bu
172 geçersizleştirme zorunlu olur. Normal dosyalar için çekirdek eylemci
173 normal olarak isteği reddederdi, böyle bir durumda bir betiği etkin
174 kılmak için aşağıdaki gibi bir yapılandırma kullanabilirsiniz:</p>
177 <Files "mypaths.shtml"><br />
179 Options +Includes<br />
180 SetOutputFilter INCLUDES<br />
181 AcceptPathInfo On<br />
190 <name>AccessFileName</name>
191 <description>Dağıtık yapılandırma dosyasının ismi belirtilir.</description>
192 <syntax>AccessFileName <var>filename</var> [<var>filename</var>] ...</syntax>
193 <default>AccessFileName .htaccess</default>
194 <contextlist><context>server config</context><context>virtual host</context>
198 <p>Belge yolu üzerindeki dizinlerde dağıtık yapılandırma dosyalarının <a
199 href="#allowoverride">bulunmasına izin verilmişse</a> sunucu bir isteği
200 işlerken önce bu dizinlerde bu yönergede belirtilmiş yapılandırma
201 dosyasını arar. Örnek:</p>
207 <p>Sunucu, <code>/usr/local/web/index.html</code> belgesini döndürmeden
211 <Directory /><br />
213 AllowOverride None<br />
218 <p>şeklinde bir yapılandırma ile iptal edilmiş olmadıkça yönergeler için
219 <code>/.acl</code>, <code>/usr/.acl</code>,
220 <code>/usr/local/.acl</code> ve <code>/usr/local/web/.acl</code>
221 dosyalarını okur.</p>
223 <seealso><directive module="core">AllowOverride</directive></seealso>
224 <seealso><a href="../configuring.html">Yapılandırma Dosyaları</a></seealso>
225 <seealso><a href="../howto/htaccess.html">.htaccess Dosyaları</a></seealso>
229 <name>AddDefaultCharset</name>
230 <description>Bir yanıtın içerik türü <code>text/plain</code> veya
231 <code>text/html</code> olduğunda eklenecek öntanımlı karakter kümesi
232 parametresini belirler.</description>
233 <syntax>AddDefaultCharset On|Off|<var>karküm</var></syntax>
234 <default>AddDefaultCharset Off</default>
235 <contextlist><context>server config</context>
236 <context>virtual host</context><context>directory</context>
237 <context>.htaccess</context></contextlist>
238 <override>FileInfo</override>
241 <p>Bu yönerge, yanıtın içerik türü <code>text/plain</code> veya
242 <code>text/html</code> olmak şartıyla yanıta eklenecek karakter
243 kümesini (karakter kodlamasınının ismini) belirler. Bu, asıl davranış
244 çoğunlukla kullanıcının istemci yapılandırmasına bağlı olmakla
245 birlikte, yanıtın gövdesinde <code>META</code> elemanı vasıtasıyla
246 belirtilmiş karakter kümesini geçersiz kılar. <code>AddDefaultCharset
247 Off</code> şeklinde bir atama bu işlevselliği iptal eder.
248 <code>AddDefaultCharset On</code> ile bu işlevsellik etkin kılınmaktan
249 başka <code>iso-8859-1</code> karakter kümesini öntanımlı olarak yanıta
250 eklenir. Yönergede <var>karküm</var> olarak belirtilecek değerler,
251 Genel Ağ ortam türlerinde (MIME türlerinde) kullanmak üzere <a
252 href="http://www.iana.org/assignments/character-sets">IANA’da kayıtlı
253 karakter kümesi değerleri</a>nden biri olmalıdır. Örnek:</p>
256 AddDefaultCharset utf-8
259 <p><directive>AddDefaultCharset</directive> yönergesi sadece, metin
260 kaynaklarının hepsinin aynı karakter kümesine sahip olduğu bilindiği
261 takdirde ve her birinde ayrı ayrı karakter kümesi belirtmek çok
262 külfetli olacaksa kullanılmalıdır. Buna bir örnek, CGI betikleri
263 tarafından üretilmiş içeriğe sahip kaynaklara karakter kümesinin
264 eklenmesidir; böyle kaynaklar çıktıda kullanıcı tarafından sağlanmış
265 veri içermeleri nedeniyle karşı siteden kaynaklanan betikli
266 saldırılardan zarar görebilir. Bununla birlikte, bir öntanımlı karakter
267 kümesi belirtmek, tarayıcılarında “karakter kodlamasını kendiliğinden
268 sapta” özelliğini etkin kılmış kullanıcıları korumayacağından daha iyi
269 bir çözüm bu betikleri bu tür saldırılara karşı düzeltmek veya en iyisi
272 <seealso><directive module="mod_mime">AddCharset</directive></seealso>
276 <name>AddOutputFilterByType</name>
277 <description>Belli bir ortam türüne bir çıktı süzgeci atar.</description>
278 <syntax>AddOutputFilterByType <var>süzgeç</var>[;<var>süzgeç</var>...]
279 <var>ortam-türü</var> [<var>ortam-türü</var>] ...</syntax>
280 <contextlist><context>server config</context>
281 <context>virtual host</context><context>directory</context>
282 <context>.htaccess</context></contextlist>
283 <override>FileInfo</override>
284 <compatibility>2.0.33 ve sonrasında mevcuttur; Apache 2.1 ve sonrasında
285 kullanımı önerilmemektedir.</compatibility>
288 <p>Bu yönerge yanıtın <glossary ref="mime-type">ortam türü</glossary>ne
289 bağlı olarak bir istek için belli bir <a href="../filter.html">çıktı
290 süzgecini</a> etkin kılar. Aşağıda açıklanan belli başlı sorunlardan
291 dolayı bu yönergenin kullanımı önerilmemektedir. Aynı işlevsellik
292 <module>mod_filter</module> kullanarak sağlanabilmektedir.</p>
294 <p>Aşağıdaki örnekte <module>mod_deflate</module> modülünce sağlanan
295 <code>DEFLATE</code> süzgeci kullanılmıştır. Bu süzgeç,
296 <code>text/html</code> veya <code>text/plain</code> olarak yaftalanmış
297 tüm çıktıyı (ister durağan ister devingen olsun) istemciye göndermeden
301 AddOutputFilterByType DEFLATE text/html text/plain
304 <p>İçeriğin birden fazla süzgeç tarafından işlenmesini isterseniz süzgeç
305 isimlerini noktalı virgüllerle ayırarak belirtebilirsiniz. Ayrıca, bu
306 süzgeçlerin her biri için ayrı bir
307 <directive>AddOutputFilterByType</directive> yönergesi belirtmek de
310 <p>Aşağıdaki yapılandırma <code>text/html</code> olarak yaftalanmış tüm
311 betik çıktılarının önce <code>INCLUDES</code> sonra da
312 <code>DEFLATE</code> süzgecinden geçirilmesine sebep olur.</p>
315 <Location /cgi-bin/><br />
317 Options Includes<br />
318 AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
323 <note type="warning"><title>Ek Bilgi</title>
324 <p>Süzgeçlerin <directive>AddOutputFilterByType</directive> ile etkin
325 kılınması bazı durumlarda kısmen bazılarında da tamamen başarısızlığa
326 uğrayabilir. Örneğin, <glossary ref="mime-type">ortam türü</glossary>
327 saptanamadığı takdirde hiçbir süzgeç uygulanmaz. Süzgeçlerin
328 uygulanacağına emin olmak isterseniz, bir kaynağa içerik türünü
329 örneğin, <directive module="mod_mime">AddType</directive> veya
330 <directive module="core">ForceType</directive> ile açıkça
331 atayabilirsiniz. Ayrıca, içerik türünü (bir nph-olmayan) CGI betiği
332 içinde ayarlamak da bu güvenceyi sağlar.</p>
337 <seealso><directive module="mod_mime">AddOutputFilter</directive></seealso>
338 <seealso><directive module="core">SetOutputFilter</directive></seealso>
339 <seealso><a href="../filter.html">Süzgeçler</a></seealso>
343 <name>AllowEncodedSlashes</name>
344 <description>Kodlanmış dosya yolu ayracı içeren URL’lere izin verilip
345 verilmeyeceğini belirler.</description>
346 <syntax>AllowEncodedSlashes On|Off</syntax>
347 <default>AllowEncodedSlashes Off</default>
348 <contextlist><context>server config</context><context>virtual host</context>
350 <compatibility>Apache 2.0.46 ve sonrasında mevcuttur.</compatibility>
353 <p><directive>AllowEncodedSlashes</directive> yönergesi kodlanmış dosya
354 yolu ayracı içeren URL’lere izin verir (<code>/</code> yerine
355 <code>%2F</code> ve ek olarak <code>\</code> için ilgili sistemlerde
356 <code>%5C</code> kullanılmış URL’ler). Normalde böyle URL’ler bir 404
357 (Nesne bulunamadı) hatasıyla reddedilirler.</p>
359 <p><directive>AllowEncodedSlashes</directive> <code>On</code>, çoğunlukla
360 <code>PATH_INFO</code> ile bir arada kullanıldığı zaman
363 <note><title>Ek Bilgi</title>
364 <p>Kodlanmış bölü çizgilerine izin vermek bu kodlamanın karakter olarak
365 çözümleneceği anlamına gelmez. URL içindeki <code>%2F</code> veya
366 <code>%5C</code>’ler (sadece ilgili sistemlerde), tıpkı normal
367 URL’lere yapıldığı gibi, oldukları gibi bırakılırlar.</p>
370 <seealso><directive module="core">AcceptPathInfo</directive></seealso>
374 <name>AllowOverride</name>
375 <description><code>.htaccess</code> dosyalarında bulunmasına izin verilen
376 yönerge türleri belirtilir.</description>
377 <syntax>AllowOverride All|None|<var>yönerge-türü</var>
378 [<var>yönerge-türü</var>] ...</syntax>
379 <default>AllowOverride All</default>
380 <contextlist><context>directory</context></contextlist>
383 <p>Sunucu <directive module="core">AccessFileName</directive> yönergesi
384 ile belirtildiği şekilde bir <code>.htaccess</code> dosyasına rastlarsa
385 önceki yapılandırma yönergelerinin hangilerinin geçersiz kılınmak üzere
386 bildirildiğini bilmek ister.</p>
388 <note><title>Sadece <Directory> bölümlerinde geçerli</title>
389 <directive>AllowOverride</directive> yönergesi, <directive
390 type="section" module="core">Location</directive>, <directive
391 module="core" type="section">DirectoryMatch</directive> veya <directive
392 type="section" module="core">Files</directive> bölümlerinde değil,
393 sadece düzenli ifade içermeyen <directive type="section"
394 module="core">Directory</directive> bölümlerinde geçerlidir.
397 <p>Yönergeye değer olarak <code>None</code> belirtilirse <a
398 href="#accessfilename">.htaccess</a> dosyaları tamamen yok sayılır. Bu
399 durumda, sunucu dosya sisteminde rastladığı <code>.htaccess</code>
400 dosyalarını okumaya dahi çalışmayacaktır.</p>
402 <p>Bu yönergeye <code>All</code> değeri atanırsa, .htaccess <a
403 href="directive-dict.html#Context">bağlamında</a> kullanılabilecek her
404 yönergeye <code>.htaccess</code> dosyalarında izin verilir.</p>
406 <p><code><var>yönerge-türü</var></code> olarak aşağıdaki yönerge grup
407 isimlerinden biri belirtilebilir:</p>
412 <dd><directive module="mod_authn_dbm">AuthDBMGroupFile</directive>,
413 <directive module="mod_authn_dbm">AuthDBMUserFile</directive>,
414 <directive module="mod_authz_groupfile">AuthGroupFile</directive>,
415 <directive module="mod_authn_core">AuthName</directive>,
416 <directive module="mod_authn_core">AuthType</directive>,
417 <directive module="mod_authn_file">AuthUserFile</directive>,
418 <directive module="mod_authz_core">Require</directive>
419 <em>ve benzeri</em> yetkilendirme yönergelerinin kullanımını izin
424 <dd>Belge türünü denetleyen <module>mod_mime</module>
425 <code>Add*</code> ve <code>Remove*</code> yönergeleri,
426 <directive module="core">ErrorDocument</directive>,
427 <directive module="core">ForceType</directive>,
428 <directive module="mod_negotiation">LanguagePriority</directive>,
429 <directive module="core">SetHandler</directive>,
430 <directive module="core">SetInputFilter</directive>,
431 <directive module="core">SetOutputFilter</directive>
432 yönergeleri ve benzerleri ile
433 <directive module="mod_headers">Header</directive>,
434 <directive module="mod_headers">RequestHeader</directive>,
435 <directive module="mod_setenvif">SetEnvIf</directive>,
436 <directive module="mod_setenvif">SetEnvIfNoCase</directive>,
437 <directive module="mod_setenvif">BrowserMatch</directive>,
438 <directive module="mod_usertrack">CookieExpires</directive>,
439 <directive module="mod_usertrack">CookieDomain</directive>,
440 <directive module="mod_usertrack">CookieStyle</directive>,
441 <directive module="mod_usertrack">CookieTracking</directive>,
442 <directive module="mod_usertrack">CookieName</directive>
443 belge meta veri yönergelerinin,
444 <module>mod_rewrite</module> modülündeki
445 <directive module="mod_rewrite">RewriteEngine</directive>,
446 <directive module="mod_rewrite">RewriteOptions</directive>,
447 <directive module="mod_rewrite">RewriteBase</directive>,
448 <directive module="mod_rewrite">RewriteCond</directive>,
449 <directive module="mod_rewrite">RewriteRule</directive>
450 yönergelerinin ve <module>mod_actions</module> modülündeki
451 <directive module="mod_actions">Action</directive>
452 yönergesinin kullanımına izin verilir.
457 <dd>Dizin içeriğinin listelenmesini denetleyen
458 <directive module="mod_autoindex">AddDescription</directive>,
459 <directive module="mod_autoindex">AddIcon</directive>,
460 <directive module="mod_autoindex">AddIconByEncoding</directive>,
461 <directive module="mod_autoindex">AddIconByType</directive>,
462 <directive module="mod_autoindex">DefaultIcon</directive>,
463 <directive module="mod_dir">DirectoryIndex</directive>,
464 <directive module="mod_autoindex">FancyIndexing</directive>,
465 <directive module="mod_autoindex">HeaderName</directive>,
466 <directive module="mod_autoindex">IndexIgnore</directive>,
467 <directive module="mod_autoindex">IndexOptions</directive>,
468 <directive module="mod_autoindex">ReadmeName</directive>
469 yönergelerinin <em>ve benzerlerinin</em> kullanımına izin
474 <dd>Konak erişimini denetleyen
475 <directive module="mod_authz_host">Allow</directive>,
476 <directive module="mod_authz_host">Deny</directive> ve
477 <directive module="mod_authz_host">Order</directive>
478 yönergelerinin kullanımına izin verilir.</dd>
480 <dt>Options[=<var>seçenek</var>,...]</dt>
482 <dd>Dizinlere özgü özellikleri denetleyen
483 <directive module="core">Options</directive> ve
484 <directive module="mod_include">XBitHack</directive> yönergelerinin
485 kullanımına izin verilir. <directive
486 module="core">Options</directive> komutunda belirtilecek seçenekler
487 bir eşit işaretinden sonra aralarına sadece virgül konarak
488 (boşluksuz) belirtilebilir.</dd>
494 AllowOverride AuthConfig Indexes
497 <p>Bu örnekte <code>AuthConfig</code> ve <code>Indexes</code> grubundaki
498 yönergeler bir dahili sunucu hatasına yol açmayacaktır.</p>
500 <note><p>Güvenlik ve başarımı arttırmak için <code><Directory /></code>
501 bloğu içinde <code>AllowOverride</code> yönergesine <code>None</code>
502 dışında bir değer atamayın. Böyle yapmak yerine bir <code>.htaccess</code>
503 dosyası yerleştirmeyi düşündüğünüz dizine ait bir
504 <code><Directory></code> bloğu olması daha iyidir.</p></note>
507 <seealso><directive module="core">AccessFileName</directive></seealso>
508 <seealso><a href="../configuring.html">Yapılandırma Dosyaları</a></seealso>
509 <seealso><a href="../howto/htaccess.html">.htaccess Dosyaları</a></seealso>
513 <name>CGIMapExtension</name>
514 <description>CGI betik yorumlayıcısını saptama tekniğini belirler.
516 <syntax>CGIMapExtension <var>cgi-yolu</var> <var>.uzantı</var></syntax>
517 <contextlist><context>directory</context><context>.htaccess</context>
519 <override>FileInfo</override>
520 <compatibility>Sadece NetWare’de geçerlidir.</compatibility>
523 <p>Bu yönerge Apache’inin CGI bekitlerini çalıştırmak için kullanacağı
524 yorumlayıcıyı nasıl bulacağını denetlemek için kullanılır. Örneğin,
525 <code>CGIMapExtension sys:\foo.nlm .foo</code> satırı <code>.foo</code>
526 uzantılı CGI betik dosyalarının FOO yorumlayıcıya aktarılmasını
532 <name>ContentDigest</name>
533 <description><code>Content-MD5</code> HTTP yanıt başlıklarının üretimini
534 etkin kılar.</description>
535 <syntax>ContentDigest On|Off</syntax>
536 <default>ContentDigest Off</default>
537 <contextlist><context>server config</context><context>virtual host</context>
538 <context>directory</context><context>.htaccess</context>
540 <override>Options</override>
541 <status>Experimental</status>
544 <p>Bu yönerge RFC2616 ve RFC1864’te tanımlandığı gibi
545 <code>Content-MD5</code> üretimini etkin kılar.</p>
547 <p>MD5, verideki herhangi bir değişikliğin ileti özetinin değişmesi
548 olarak yansıması nedeniyle yüksek derecede itimat sağlayan keyfi
549 uzunlukta bir "ileti özeti" (bazen "parmakizi" dendiği de olur)
550 hesaplama algoritmasıdır.</p>
552 <p><code>Content-MD5</code> başlığı öğe gövdesinin iki uç arasında ileti
553 bütünlük sınamasının yapılabilmesini sağlar. Bir istemci veya vekil
554 aktarılan öğe gövdesinde rastlantısal bir değişiklik olup olmadığını
555 saptamak için bu başlığın doğruluğunu sınayabilir. Başlık örneği:</p>
558 Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
561 <p>Her istekte ileti özeti hesaplanacağından (değerler saklanmaz), bu
562 yönergenin sunucunuzda başarım sorunlarına yol açacağına dikkat
565 <p><code>Content-MD5</code>, herhangi bir modül değil, sadece
566 <module>core</module> modülü tarafından sunulan belgeler için
567 gönderilir. Örneğin, SSI belgeleri CGI betikleri tarafından
568 çıktılanırlar ve bayt seviyesinden çıktılar bu başlığa sahip
574 <name>DefaultType</name>
575 <description>Değeri <code>none</code> olduğu takdirde, bu yönergenin bir
576 uyarı vermekten başka bir etkisi yoktur. Önceki sürümlerde, bu yönerge,
577 sunucunun ortam türünü saptayamadığı durumda göndereceği öntanımlı ortam
578 türünü belirlerdi.</description>
579 <syntax>DefaultType <var>ortam-türü</var>|none</syntax>
580 <default>DefaultType none</default>
581 <contextlist><context>server config</context><context>virtual host</context>
582 <context>directory</context><context>.htaccess</context>
584 <override>FileInfo</override>
585 <compatibility><code>none</code> değeri Apache 2.2.7 ve sonrasında mevcuttur.
586 Diğer tüm seçenekler Apache'nin 2.3.x ve sonraki sürümleri için iptal
587 edilmiştir.</compatibility>
589 <p>Bu yönerge iptal edilmiştir. Yapılandırma dosyalarının geriye
590 uyumluluğunu sağlamak için, öntanımlı bir ortam türünün olmadığını
591 belirten <code>none</code> değeriyle belirtilebilir. Örnek:</p>
597 <p><code>DefaultType None</code> sadece httpd-2.2.7 ve sonrasında
600 <p>Ortam türlerini dosya uzantıları üzerinden yapılandırmak için
601 <directive module="mod_mime">AddType</directive> yönergesini ve
602 <code>mime.types</code> yapılandırma dosyasını veya belli özkaynak
603 türleri için ortam türlerini yapılandırmak için <directive
604 module="core">ForceType</directive> yönergesini kullanın.</p>
610 <description>Bir değişkenin mevcudiyetini betimler.</description>
611 <syntax>Define <var>değişken-ismi</var></syntax>
612 <contextlist><context>server config</context></contextlist>
615 <p><program>httpd</program>’yi <code>-D</code>
616 seçeneğiyle çalıştırmaya eşdeğerdir.</p>
618 <p>Bu yönerge, başlatma betiğinde <code>-D</code> seçeneğinin
619 argümanlarını değiştirme gereği duymaksızın <directive module="core"
620 type="section">IfDefine</directive> bölümlerini kullanıma sokmak için
625 <directivesynopsis type="section">
626 <name>Directory</name>
627 <description>Sadece ismi belirtilen dosya sistemi dizininde ve bunun
628 altdizinlerinde uygulanacak bir yönerge grubunu sarmalar.</description>
629 <syntax><Directory <var>dizin-yolu</var>>
630 ... </Directory></syntax>
631 <contextlist><context>server config</context><context>virtual host</context>
635 <p><directive type="section">Directory</directive> ve
636 <code></Directory></code> sadece ismi belirtilen dosya sistemi
637 dizininde ve bunun altdizinlerinde uygulanacak bir yönerge grubunu
638 sarmalamakta kullanılır. Bir dizin bağlamında kullanılabilecek her
639 yönergeye izin verilir. <var>dizin-yolu</var> bir dizinin tam yolu
640 olabileceği gibi Unix kabuk tarzı bir dosya ismi eşleştirme kalıbı da
641 olabilir. Kalıp dizgesinde, <code>?</code> herhangi bir tek karakterle,
642 <code>*</code> herhangi bir karakter dizisiyle eşleşir. Ayrıca
643 <code>[]</code> karakter aralıkları da kullanılabilir. ‘/’ karakteri
644 ile hiçbir kalıp karakteri eşleşmez, bu bakımdan <code><Directory
645 /*/public_html></code> ile <code>/home/user/public_html</code>
646 değil, ama <code><Directory /home/*/public_html></code>
647 eşleşecektir. Örnek:</p>
650 <Directory /usr/local/httpd/htdocs><br />
652 Options Indexes FollowSymLinks<br />
658 <p><var>dizin-yolu</var> argümanlarını belirtirken dikkatli
659 olmalısınız: Apache’nin dosyalara erişmekte kullandığı dosya sistemi
660 yolu ile bire bir eşleşmelidir. Belli bir
661 <code><Directory></code> dizinine uygulanan yönergeler, aynı
662 dizine farklı bir yoldan, örneğin başka bir sembolik bağ üzerinden
663 erişilen dosyalara uygulanmayacaktır.</p>
666 <p><code>~</code> karakterine ek olarak <glossary ref="regex">düzenli
667 ifadeler</glossary> de kullanılabilir. Örnek:</p>
670 <Directory ~ "^/www/.*/[0-9]{3}">
673 <p>yönergesi <code>/www/</code> içindeki üç rakamdan oluşan dizinlerle
676 <p>Eğer çok sayıda (düzenli ifade olmayan) <directive
677 type="section">Directory</directive> bölümü, bir dosyayı içeren bir
678 dizinle veya üst dizinlerinden biri ile eşleşiyorsa, uygulama en kısa
679 eşleşmedeki yönergelerden başlayarak <a
680 href="#accessfilename">.htaccess</a> dosyalarındaki yönergelere kadar
681 genişletilir. Örneğin,</p>
684 <Directory /><br />
686 AllowOverride None<br />
688 </Directory><br />
690 <Directory /home/><br />
692 AllowOverride FileInfo<br />
697 <p>bölümleri ile <code>/home/web/dir/doc.html</code> belgesine erişirken
698 şu aşamalardan geçilir:</p>
701 <li><code>AllowOverride None</code> yönergesi uygulanır
702 (<code>.htaccess</code> dosyaları iptal edilir).</li>
704 <li><code>AllowOverride FileInfo</code> yönergesi uygulanır
705 (<code>/home</code> dizini için).</li>
707 <li>Sırayla <code>/home/.htaccess</code>,
708 <code>/home/web/.htaccess</code> ve
709 <code>/home/web/dir/.htaccess</code> dosyaları içindeki
710 <code>FileInfo</code> yönergeleri uygulanır.</li>
713 <p>Normal bölümlerin tamamı uygulanıncaya kadar düzenli ifadeler
714 değerlendirilmez. Düzenli ifadelerin tamamı yapılandırma dosyasında
715 görüldükleri sıraya göre sınanırlar. Örneğin,</p>
718 <Directory ~ abc$><br />
720 # ... yönergeler burada ...<br />
725 <p>düzenli ifadeli bölümü, tüm normal <directive
726 type="section">Directory</directive> bölümleri ve
727 <code>.htaccess</code> dosyaları uygulanıncaya kadar
728 değerlendirilmeyecektir. Düzenli ifadeleri değerlendirmeye sıra gelince
729 düzenli ifade <code>/home/abc/public_html/abc</code> ile eşleştirilecek
730 ve buna ilişkin <directive type="section">Directory</directive>
733 <p><strong><code><Directory /></code> için öntanımlı Apache
734 erişiminin <code>Allow from All</code> oluşuna dikkat ediniz. Bunu şöyle
735 bir blokla değiştirmeniz,</strong></p>
738 <Directory /><br />
740 Order Deny,Allow<br />
746 <p><strong>ve erişilebilir olmasını istediğiniz dizinleri ayrıca
747 belirtmeniz önerilir. Daha ayrıntılı bilgi edinmek için <a
748 href="../misc/security_tips.html">Güvenlik İpuçları</a> belgesine
749 bakınız.</strong></p>
751 <p>Dizin bölümleri <code>httpd.conf</code> dosyasında yer alır.
752 <directive type="section">Directory</directive> yönergeleri iç içe
753 olamazlar ve bir <directive module="core"
754 type="section">Limit</directive> veya <directive module="core"
755 type="section">LimitExcept</directive> bölümü içinde bulunamazlar.</p>
757 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir
758 arada ele alındığının anlatıldığı <a
759 href="../sections.html"><Directory>, <Location> ve
760 <Files> bölümleri nasıl çalışır?</a> belgesine de bakınız.</seealso>
763 <directivesynopsis type="section">
764 <name>DirectoryMatch</name>
765 <description>Bir düzenli ifade ile eşleşen dosya sistemi dizininde ve bunun
766 altdizinlerinde uygulanacak bir yönerge grubunu sarmalar.</description>
767 <syntax><DirectoryMatch <var>düzifd</var>>
768 ... </DirectoryMatch></syntax>
769 <contextlist><context>server config</context><context>virtual host</context>
773 <p><directive type="section">DirectoryMatch</directive> and
774 <code></DirectoryMatch></code> yönergeleri <directive
775 module="core" type="section">Directory</directive> gibi sadece ismi
776 belirtilen dosya sistemi dizininde ve bunun altdizinlerinde uygulanacak
777 bir yönerge grubunu sarmalamakta kullanılır. Tek farkla argüman olarak
778 bir <glossary ref="regex">düzenli ifade</glossary> alır. Örnek:</p>
781 <DirectoryMatch "^/www/(.+/)?[0-9]{3}">
784 <p>yönergesi <code>/www/</code> içindeki üç rakamdan oluşan dizinlerle
787 <seealso>Normal <directive type="section">Directory</directive>
788 bölümlerindeki yönergelerle düzenli ifadelerin nasıl karıştırıldığının bir
789 açıklaması için <directive type="section"
790 module="core">Directory</directive> yönergesine bakınız.</seealso>
791 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir arada
792 ele alındığının açıklaması için <a
793 href="../sections.html"><Directory>, <Location> ve
794 <Files> bölümleri nasıl çalışır?</a> belgesine bakınız.</seealso>
798 <name>DocumentRoot</name>
799 <description>İstemciye görünür olan ana belge ağacının kök dizinini belirler.</description>
800 <syntax>DocumentRoot <var>dizin-yolu</var></syntax>
801 <default>DocumentRoot /usr/local/apache/htdocs</default>
802 <contextlist><context>server config</context><context>virtual host</context>
806 <p>Bu yönerge <program>httpd</program> tarafından dosyalarının sunulacağı
807 dizini belirler. <directive module="mod_alias">Alias</directive>
808 benzeri bir yönerge ile eşleşmedikçe, sunucu istenen URL’deki yolu,
809 belge yolu haline getirmek için belge kök dizinine ekler. Örnek:</p>
812 DocumentRoot /usr/web
815 <p>yapılandırması ile <code>http://www.my.host.com/index.html</code>
816 isteği <code>/usr/web/index.html</code> ile eşleştirilir.
817 <var>dizin-yolu</var> ile göreli dosya yolu belirtildiği takdirde belge
818 kök dizininin <directive module="core">ServerRoot</directive> ile
819 belirtilen sunucu kök dizinine göre belirtildiği varsayılır.</p>
821 <p><directive>DocumentRoot</directive> ile belirtilen dizin bir bölü
822 çizgisi ile bitirilmemelidir.</p>
824 <seealso><a href="../urlmapping.html#documentroot">URL’lerin Dosya Sistemi
825 ile Eşlenmesi</a></seealso>
829 <name>EnableMMAP</name>
830 <description>Teslimat sırasında okunacak dosyalar için bellek eşlemeyi etkin
832 <syntax>EnableMMAP On|Off</syntax>
833 <default>EnableMMAP On</default>
834 <contextlist><context>server config</context><context>virtual host</context>
835 <context>directory</context><context>.htaccess</context>
837 <override>FileInfo</override>
838 <compatibility><code>none</code> değeri Apache 2.2.7 ve sonrasında mevcuttur.
841 <p>Bu yönerge, sunucunun teslimat sırasında gerektiği takdirde bir dosya
842 içeriğinin okunması için bellek eşleme kullanıp kullanmayacağını
843 belirler. Öntanımlı olarak, bir isteğin yerine getirilmesi,
844 <module>mod_include</module> kullanarak sunucu tarafından çözümlenen
845 bir dosyanın teslimatı sırasında olduğu gibi, bir dosya içindeki veriye
846 erişilmesini gerektirdiğinde Apache, işletim sistemi tarafından
847 desteklendiği takdirde dosyayı belleğe eşler.</p>
849 <p>Böyle bellek eşleme kimi zaman başarım artışını beraberinde getirirse
850 de bazen sorunlardan kaçınmak için bellek eşlemeyi kapatmak daha iyi
854 <li>Bazı çok işlemcili sistemlerde bellek eşleme
855 <program>httpd</program>’nin başarımını düşürebilmektedir.</li>
856 <li><program>httpd</program> bellek eşlemli çalışırken bir dosyanın silinmesi veya
857 boyutunun küçültülmesi <program>httpd</program>'nin parçalama arızası vererek
858 çökmesine yol açabilir.</li>
861 <p>Bu tür sorunlardan dolayı zarar görülebilecek sunucu
862 yapılandırmalarında dosya teslimatında bellek eşlemlerinin kullanımını
863 şu şekilde iptal etmeniz gerekir:</p>
869 <p>Bu özellik, sadece NFS dosya sistemi üzerinde sunulan dosyaları
870 kapsamak üzere şu şekilde kolayca kapatılabilir:</p>
873 <Directory "/nfs-dosya-yolu">
883 <name>EnableSendfile</name>
884 <description>Dosyaların istemciye tesliminde çekirdeğin dosya gönderme
885 desteğinin kullanımını etkin kılar.</description>
886 <syntax>EnableSendfile On|Off</syntax>
887 <default>EnableSendfile On</default>
888 <contextlist><context>server config</context><context>virtual host</context>
889 <context>directory</context><context>.htaccess</context>
891 <override>FileInfo</override>
892 <compatibility>2.0.44 ve sonrasında mevcuttur.</compatibility>
895 <p>Bu yönerge, dosya içeriğinin istemciye teslimi için
896 <program>httpd</program>’nin çekirdeğin dosya gönderme desteğini
897 kullanıp kullanmayacağını belirler. Öntanımlı olarak, bir isteğin
898 yerine getirilmesi, bir durağan dosyanın teslimatı sırasında olduğu
899 gibi, bir dosya içindeki veriye erişilmesini gerektirmediği takdirde
900 Apache, işletim sistemi tarafından destekleniyorsa dosyayı istemciye
901 teslim etmek için çekirdeğin dosya gönderme özelliğini kullanır.</p>
903 <p>Çekirdeğin dosya gönderme mekanizması, okuma, gönderme ve tampon
904 ayırma işlemlerini ayrı ayrı yapmaktan kaçınır. Fakat bazı
905 platformlarda veya bazı dosya sistemlerinde aşağıda belirtilen işlemsel
906 sorunlardan kaçınmak için bu özelliği iptal etmek daha iyidir:</p>
909 <li>Bazı platformlar, derleme sistemince saptanamayan bozuk bir dosya
910 gönderme desteğine sahiptir; özellikle eğer derleme işlemi dosya
911 gönderme desteğinde sorun olmayan bir makinede yapılıp çalıştırılabilir
912 dosyaların sorunlu makineye kurulduğu durumda bu saptama
913 yapılamayacaktır.</li>
914 <li>Linux’ta IPv6 kullanırken dosya gönderme desteği bazı ağ
915 kartlarındaki TCP toplama sağlaması aktarım hatasını tetikler.</li>
916 <li>Itanium üzerinde çalışan Linux’ta dosya gönderme desteği 2GB’tan
917 büyük dosyalarla çalışamamaktadır.</li>
918 <li><directive module="core">DocumentRoot</directive> ağ dosya sistemi
919 (NFS veya SMB gibi) üzerinde olduğu durumda çekirdek ağ dosyalarını
920 kendi arabelleği üzerinden sunamayabilir.</li>
923 <p>Bu sorunlardan muzdarip sunucu yapılandırmaları için bu özelliği şöyle
924 iptal edebilirsiniz:</p>
930 <p>Bu özellik, sadece bir NFS veya SMB dosya sistemi üzerinde sunulan
931 dosyaları kapsamak üzere şu şekilde kolayca kapatılabilir:</p>
934 <Directory "/path-to-nfs-files">
940 <p><directive>EnableSendfile</directive> yönergesinin .htaccess ve diziniçi
941 yapılandırmalarınını <module>mod_cache_disk</module> tarafından
942 desteklenmediğini lütfen aklınızdan çıkarmayın.
943 <directive>EnableSendfile</directive> yönergesinin sadece küresel
944 tanımları hesaba katılır.</p>
949 <name>ErrorDocument</name>
950 <description>Bir hata durumunda sunucunun istemciye ne döndüreceğini
951 belirler.</description>
952 <syntax>ErrorDocument <var>hata-kodu</var> <var>belge</var></syntax>
953 <contextlist><context>server config</context><context>virtual host</context>
954 <context>directory</context><context>.htaccess</context>
956 <override>FileInfo</override>
957 <compatibility>Metin iletilerini tırnak içine alma sözdizimi Apache 2.0’da
958 farklıdır.</compatibility>
961 <p>Bir sorun çıktığında veya hata oluştuğunda Apache şu dört işlemden
962 birini yapacak şekilde yapılandırılabilir:</p>
965 <li>Yerleşik bir hata iletisi çıktılanır.</li>
967 <li>Özel bir ileti çıktılanır.</li>
969 <li>Sorunu/hatayı işleyecek yerel bir <var>URL-yoluna</var> yönlendirme
972 <li>Sorunu/hatayı işleyecek harici bir <var>URL-yoluna</var>
973 yönlendirme yapılır.</li>
976 <p>İlk seçenek öntanımlıdır. Diğer üç seçenek
977 <directive>ErrorDocument</directive> yönergesinin argümanları (hata
978 kodundan sonra bir URL veya hata iletisi) ile belirtilir. Apache bazı
979 durumlarda sorun/hata ile ilgili ek bilgi verecektir.</p>
981 <p>URL’ler yerel yollarda (<directive
982 module="core">DocumentRoot</directive>’a göre) bir bölü çizgisi (/) ile
983 başlatılabileceği gibi istemci tarafından çözümlenecek tam bir URL
984 şeklinde de belirtilebilir. Bunlar yerine, tarayıcıda gösterilmek üzere
985 bir ileti de belirtilebilir. Örnekler:</p>
988 ErrorDocument 500 http://hata.meselae.dom/cgi-bin/dnmci<br />
989 ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
990 ErrorDocument 401 /subscription_info.html<br />
991 ErrorDocument 403 "Kusura bakmayın, bugün hizmet veremiyoruz."
994 <p>Bunlardan başka, Apache’nin kendi hata iletilerinin kullanılacağı özel
995 <code>default</code> değeri ile belirtilebilir. Normal şartlar altında
996 gerekmese de, bir şey belirtilmediği takdirde mevcut bir
997 <directive>ErrorDocument</directive> yönergesini miras alan
998 yapılandırmalarda Apache’nin kendi hata iletilerinin kullanımı
999 <code>default</code> değeri açıkça belirtilerek örnekteki gibi
1003 ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
1004 <Directory /web/docs><br />
1006 ErrorDocument 404 default<br />
1011 <p><directive>ErrorDocument</directive> yönergesinde bir uzak URL (önünde
1012 <code>http</code> bulunan bir yol) belirtildiğinde, belge aynı sunucuda
1013 olsa bile, Apache’nin istemciye belgeyi bulacağı yer için bir
1014 yönlendirme göndereceğine dikkat ediniz. Bunun bazı istenmeyen etkileri
1015 vardır; en önemlilerinden biri istemcinin hata kodu yerine bir
1016 yönlendirme durum kodu alacak olmasıdır. Bu, bir URL’nin geçerliliğini
1017 durum koduna göre saptayan istemciler veya robotlar için yanıltıcı
1018 olacaktır. Buna ek olarak, <code>ErrorDocument 401</code> için bir uzak
1019 URL belirttiğiniz durumda istemci 401 durum kodunu almayacağı için
1020 kullanıcıdan parola isteğinde bulunamayacaktır. Bu bakımdan,
1021 <strong>ihtiyaç duyduğunuz takdirde, <code>ErrorDocument 401</code>
1022 yönergesine yerel bir belge belirtmelisiniz.</strong></p>
1024 <p>Sunucunun ürettiği hata iletileri "çok kısa" olduğu takdirde,
1025 Microsoft Internet Explorer (MSIE) öntanımlı olarak bu hata iletilerini
1026 yoksayar ve bunun yerine kendi "kullanıcı dostu" hata iletilerini
1027 kullanır. "Çok kısa" eşiği duruma göre değişmekle birlikte, genellikle,
1028 hata iletileriniz 512 bayttan büyük olduğu takdirde MSIE kendi hata
1029 iletileri yerine sunucunun ürettiği hata iletilerini gösterecektir. Bu
1030 konuda daha fazla bilgiyi <a
1031 href="http://support.microsoft.com/default.aspx?scid=kb;tr-tr;Q294807"
1032 >Q294807</a> kodlu Microsoft Knowledge Base makalesinde
1035 <p>Çoğu yerleşik hata iletisi özel iletilerle değiştirilebilse de bazı
1036 durumlarda <directive module="core">ErrorDocument</directive> ile ne
1037 belirtildiğine bakılmaksızın yerleşik hata iletileri kullanılır.
1038 Özellikle, bozuk bir istek saptandığında normal istek işleme hemen
1039 devre dışı bırakılır ve yerleşik hata iletisi döndürülür. Bu, hatalı
1040 istekler yaparak güvenlik sorunlarına yol açılmak istenmesi
1041 durumlarında gereklidir.</p>
1043 <p>2.0 öncesi sürümlerde iletiler bir çift çift-tırnak içine alınmayıp,
1044 tek bir çift-tırnak ile başlatılması yeterli olurdu.</p>
1047 <seealso><a href="../custom-error.html">Özel Hata Yanıtları</a></seealso>
1048 </directivesynopsis>
1051 <name>ErrorLog</name>
1052 <description>Sunucunun hata günlüğünü tutacağı yeri belirler.</description>
1053 <syntax> ErrorLog <var>dosya-yolu</var>|syslog[:<var>oluşum</var>]</syntax>
1054 <default>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows ve OS/2)</default>
1055 <contextlist><context>server config</context><context>virtual host</context>
1059 <p><directive>ErrorLog</directive> yönergesi sunucunun saptadığı hataları
1060 kaydedeceği dosyanın ismini belirtmek için kullanılır.
1061 <var>dosya-yolu</var> ile göreli dosya yolu belirtildiği takdirde
1062 dizininin <directive module="core">ServerRoot</directive> ile
1063 belirtilen sunucu kök dizinine göre belirtildiği varsayılır.</p>
1065 <example><title>Örnek</title>
1066 ErrorLog /var/log/httpd/error_log
1069 <p><var>dosya-yolu</var> bir boru imi (|) ile başlatıldığı takdirde hata
1070 iletilerinin hata günlüğünü işleme sokacak komuta borulanacağı
1073 <example><title>Örnek</title>
1074 ErrorLog "|/usr/local/bin/httpd_errors"
1077 <p>Dosya adı yerine <code>syslog</code> kullanılırsa, sistem desteklediği
1078 takdirde günlük kaydı syslogd(8) üzerinden yürütülür. Öntanımlı olarak
1079 <code>local7</code> syslog oluşumu kullanılır. Bunu
1080 <code>syslog:<var>oluşum</var></code> sözdizimini kullanarak
1081 değiştirebilirsiniz. Buradaki <code><var>oluşum</var></code>
1082 syslog.conf(5) kılavuz sayfasında belirtilen oluşum isimlerinden biri
1085 <example><title>Örnek</title>
1086 ErrorLog syslog:user
1089 <p>GÜVENLİK: Günlük dosyalarının saklandığı dizin, sunucuyu başlatan
1090 kullanıcı dışındakiler tarafından yazılabilir olduğu takdirde
1091 güvenliğinizin nasıl tehlikeye gireceği <a
1092 href="../misc/security_tips.html#serverroot">güvenlik ipuçları</a>
1093 belgesinde ayrıntılı olarak açıklanmıştır.</p>
1094 <note type="warning"><title>Ek Bilgi</title>
1095 <p>Unix-dışı platformlarda dosya yolunu girerken, platform ters bölü
1096 çizgilerini desteklese bile normal bölü çizgileri kullanmaya özen
1097 göstermelisiniz. Genel olarak, dosya yollarını belirtirken
1098 yapılandırma dosyası boyunca normal bölü çizgisi kullanmak her zaman
1102 <seealso><directive module="core">LogLevel</directive></seealso>
1103 <seealso><a href="../logs.html">Apache Günlük Dosyaları</a></seealso>
1104 </directivesynopsis>
1107 <name>FileETag</name>
1108 <description><code>ETag</code> HTTP yanıt başlığını oluşturmakta kullanılacak
1109 dosya özniteliklerini belirler.</description>
1110 <syntax>FileETag <var>bileşen</var> ...</syntax>
1111 <default>FileETag INode MTime Size</default>
1112 <contextlist><context>server config</context><context>virtual host</context>
1113 <context>directory</context><context>.htaccess</context>
1115 <override>FileInfo</override>
1118 <p><directive>FileETag</directive> yönergesi, belge bir dosyaya dayandığı
1119 takdirde <code>ETag</code> (Entity Tag - öğe etiketi kısaltması) yanıt
1120 başlığı alanını oluşturmakta kullanılacak dosya özniteliklerini
1121 yapılandırır. (<code>ETag</code> değeri, ağ band genişliğinden kazanmak
1122 için arabellek yönetiminde kullanılır.) Apache 1.3.22 ve öncesinde
1123 <code>ETag</code> değeri <em>daima</em> dosyanın düğümü, boyutu ve son
1124 değişiklik zamanından (mtime) oluşurdu. <directive>FileETag</directive>
1125 yönergesi ne kullanılması gerektiğini belirleyebilmenizi sağlar. Değer
1126 olarak belirtilebilecek anahtar sözcükler şunlardır:</p>
1129 <dt><strong>INode</strong></dt>
1130 <dd>Dosyanın düğüm numarası hesaba katılır.</dd>
1131 <dt><strong>MTime</strong></dt>
1132 <dd>Dosyanın son değişiklik tarih ve saati dahil edilir.</dd>
1133 <dt><strong>Size</strong></dt>
1134 <dd>Dosyanın bayt cinsinden uzunluğu dahil edilir.</dd>
1135 <dt><strong>All</strong></dt>
1136 <dd>Olası tüm alanlar kullanılır. Bu şuna eşdeğerdir:
1137 <example>FileETag INode MTime Size</example></dd>
1138 <dt><strong>None</strong></dt>
1139 <dd>Bir belge dosyasıyla sunulsa bile yanıta hiçbir <code>ETag</code>
1140 alanı dahil edilmez.</dd>
1143 <p>Öntanımlı ayarları miras alıp bunların kapsamını genişletmek/daraltmak
1144 için <code>INode</code>, <code>MTime</code> ve <code>Size</code>
1145 anahtar sözcüklerinin önüne <code>+</code> veya <code>-</code> imi
1146 konabilir. Bu imlerin bulunmadığı bir anahtar sözcüğün varlığı halinde
1147 hiçbir değer miras alınmaz.</p>
1149 <p>Eğer bir dizinin yapılandırması
1150 <code>FileETag INode MTime Size</code> ve alt dizini
1151 <code>FileETag -INode</code> içeriyorsa bu alt dizinin (ve bir
1152 geçersizleştirme olmadığı takdirde onun alt dizinlerinin) ayarları
1153 <code>FileETag MTime Size</code> yapılandırmasına eşdeğer
1155 <note type="warning"><title>Uyarı</title>
1156 WebDAV’ın etkin olduğu yerlerde veya dizinlerde saklama alanı sağlayıcı
1157 olarak <module>mod_dav_fs</module> kullanılıyorsa öntanımlı ayarları
1158 değiştirmeyiniz. <module>mod_dav_fs</module>, koşullu isteklerde
1159 <code>ETag</code> karşılaştırmaları yapabilmek için
1160 <code>INode MTime Size</code> yapılandırmasını kullanır. Eğer
1161 <code>ETag</code> ayarı <directive>FileETag</directive> yönergesi
1162 kullanılarak değiştirilirse koşullu istekler gerektiği gibi yerine
1166 </directivesynopsis>
1168 <directivesynopsis type="section">
1170 <description>Dosya isimleriyle eşleşme halinde uygulanacak yönergeleri
1171 içerir.</description>
1172 <syntax><Files <var>dosya-adı</var>> ... </Files></syntax>
1173 <contextlist><context>server config</context><context>virtual host</context>
1174 <context>directory</context><context>.htaccess</context>
1176 <override>All</override>
1179 <p><directive type="section">Files</directive> yönergesi, içerdiği
1180 yönergelerin etki alanını dosya isimlerine göre sınırlandırır.
1181 <directive module="core" type="section">Directory</directive> ve
1182 <directive module="core" type="section">Location</directive> bölümleri
1183 ile karşılaştırılabilir. Bir <code></Files></code> yönergesi ile
1184 sonlandırılması gerekir. Bu bölüm içinde belirtilen yönergeler,
1185 <directive type="section">Files</directive> yönergesinde belirtilen
1186 <var>dosya-adı</var>’nın son bileşeniyle (dizinler atıldıktan sonda
1187 kalan dosya ismi) eşleşen nesnelere uygulanır. <directive
1188 type="section">Files</directive> bölümleri yapılandırma dosyasında,
1189 <directive module="core" type="section">Directory</directive> bölümleri
1190 ve <code>.htaccess</code> dosyaları okunduktan sonra fakat <directive
1191 type="section" module="core">Location</directive> yönergelerinden önce
1192 göründükleri sıraya göre işleme sokulurlar. <directive
1193 type="section">Files</directive> bölümlerinin <directive type="section"
1194 module="core">Directory</directive> bölümlerinin içinde uygulama
1195 alanını sınırlamak amacıyla kullanılabileceğine dikkat ediniz.</p>
1197 <p><var>dosya-adı</var> argümanının bir dosya ismi veya bir dosya ismi
1198 kalıbı içermesi gerekir. Bir dosya ismi kalıbındaki her <code>?</code>
1199 imi bir karakterle eşleştirilirken <code>*</code> imi karakter dizileri
1200 ile eşleştirilir. <code>~</code> imine ek olarak <glossary
1201 ref="regex">düzenli ifadeler</glossary> de kullanılabilir. Örneğin</p>
1204 <Files ~ "\.(gif|jpe?g|png)$">
1207 <p>satırı en bilinen resim dosyası biçimleriyle eşleşecektir. Bunun
1208 yerine <directive module="core" type="section">FilesMatch</directive>
1209 yönergesi de tercih edilebilirdi.</p>
1211 <p><directive type="section" module="core">Directory</directive> ve
1212 <directive type="section" module="core">Location</directive>
1213 bölümlerinin aksine, <directive type="section">Files</directive>
1214 bölümleri <code>.htaccess</code> dosyaları içinde kullanılabilir. Bu
1215 sayede kullanıcıların kendi dosyalarına erişimi dosya seviyesinde
1216 denetlemelerine imkan sağlanmış olur.</p>
1219 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir
1220 arada ele alındığının açıklaması için <a href="../sections.html">
1221 <Directory>, <Location> ve <Files> bölümleri nasıl
1222 çalışır?</a> belgesine bakınız.</seealso>
1223 </directivesynopsis>
1225 <directivesynopsis type="section">
1226 <name>FilesMatch</name>
1227 <description>Düzenli ifadelerin dosya isimleriyle eşleşmesi halinde
1228 uygulanacak yönergeleri içerir.</description>
1229 <syntax><FilesMatch <var>düzifd</var>> ... </FilesMatch></syntax>
1230 <contextlist><context>server config</context><context>virtual host</context>
1231 <context>directory</context><context>.htaccess</context>
1233 <override>All</override>
1236 <p><directive type="section">FilesMatch</directive> yönergesi, içerdiği
1237 yönergelerin etki alanını <directive module="core"
1238 type="section">Files</directive> yönergesinin yaptığı gibi dosya
1239 isimlerine göre sınırlandırır. Ancak, argüman olarak bir <glossary
1240 ref="regex">düzenli ifade</glossary> kabul eder. Örneğin</p>
1243 <FilesMatch "\.(gif|jpe?g|png)$">
1246 <p>satırı en bilinen resim dosyası biçimleriyle eşleşecektir.</p>
1249 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir
1250 arada ele alındığının açıklaması için <a href="../sections.html">
1251 <Directory>, <Location> ve <Files> bölümleri nasıl
1252 çalışır?</a> belgesine bakınız.</seealso>
1253 </directivesynopsis>
1256 <name>ForceType</name>
1257 <description>Bütün dosyaların belirtilen ortam türüyle sunulmasına
1258 sebep olur.</description>
1259 <syntax>ForceType <var>ortam-türü</var>|None</syntax>
1260 <contextlist><context>directory</context><context>.htaccess</context>
1262 <override>FileInfo</override>
1263 <compatibility>Apache 2.0’da core modülüne taşındı.</compatibility>
1266 <p>Bu yönerge, bir <code>.htaccess</code> dosyası veya bir
1267 <directive type="section" module="core">Directory</directive>,
1268 <directive type="section" module="core">Location</directive> veya
1269 <directive type="section" module="core">Files</directive> bölümüne
1270 yerleştirildiği zaman, eşleşen tüm dosyaların <var>ortam-türü</var> ile
1271 belirtilen içerik türüyle sunulmasına sebep olur. Örneğin, altında
1272 sadece GIF dosyaları bulunan bir dizininiz varsa ve bunlara tek tek
1273 <code>.gif</code> uzantısı belirtmek istemiyorsanız şu yapılandırmayı
1274 kullanabilirsiniz:</p>
1280 <p>Bu yönerge, <directive module="mod_mime">AddType</directive> yönergesi
1281 üzerinden ve <code>mime.types</code> dosyasında örtük olarak
1282 tanımlanmış ortam türü/dosya uzantısı ilişkilerini geçersiz kılar.</p>
1284 <p>Ayrıca, daha genel <directive>ForceType</directive> ayarlarını da
1285 <code>None</code> değeriyle geçersiz kılabilirsiniz:</p>
1288 # tüm dosyaların image/gif olarak sunulması için:<br />
1289 <Location /images><br />
1291 ForceType image/gif<br />
1293 </Location><br />
1295 # normal MIME-türüne geri dönmek için:<br />
1296 <Location /images/mixed><br />
1298 ForceType None<br />
1303 </directivesynopsis>
1306 <name>HostnameLookups</name>
1307 <description>İstemci IP adresleri üzerinde DNS sorgularını etkin kılar.
1309 <syntax>HostnameLookups On|Off|Double</syntax>
1310 <default>HostnameLookups Off</default>
1311 <contextlist><context>server config</context><context>virtual host</context>
1312 <context>directory</context></contextlist>
1315 <p>Bu yönerge oturum açabilecek konak isimlerini tespit edebilmek için
1316 DNS sorgularını etkin kılar (ve sonuç <code>REMOTE_HOST</code>’ta
1317 belirtilerek CGI/SSI’lere aktarılır). <code>Double</code> değeri
1318 sorgunun çift yönlü yapılacağını belirtir. Yani, bir tersine sorgunun
1319 ardından bir normal sorgu yapılır. Normal sorguda elde edilen IP
1320 adreslerinden birinin istek yapan IP adresi ile eşleşmesi gerekir.
1321 ("tcpwrappers" terminolojisinde buna <code>PARANOID</code> adı
1324 <p>Konak ismine göre erişimi denetlemek için
1325 <module>mod_authz_host</module> kullanıldığında, nasıl bir ayar
1326 yapıldığına bakılmaksızın, çift yönlü sorgulama yapılır. Bu güvenlik
1327 için gereklidir. Bunun dışında açıkça <code>HostnameLookups
1328 Double</code> belirtilmedikçe genellikle çift yönlü sorgulama yapılmaz.
1329 Örneğin, sadece <code>HostnameLookups On</code> belirtilmiş ve konak
1330 ismi kısıtlamalarıyla korunmuş bir nesne için bir istek yapılmışsa çift
1331 yönlü sorgunun başarısına bakılmaksızın CGI’lere
1332 <code>REMOTE_HOST</code> olarak tek yönlü sorgu sonucu aktarılır.</p>
1334 <p>Gerçekte ters yönlü sorguya gerek duyulmayan sitelerde ağ trafiğini
1335 yormamak için <code>Off</code>, öntanımlı değerdir. Ayrıca, son
1336 kullanıcıların DNS sorguları nedeniyle gereksiz yere bir beklemeye
1337 maruz kalmaması için de bu daha iyidir. Yükü zaten ağır olan sitelerde,
1338 DNS sorgularının görece uzun zaman alması nedeniyle bu yönergenin
1339 değeri <code>Off</code> olarak bırakılmalıdır. Öntanımlı olarak kurulum
1340 dizininizin <code>bin</code> alt dizinine kurulan
1341 <program>logresolve</program> uygulaması kullanılarak oturum açan IP
1342 adresleri için isim sorguları çevrim dışıyken yapılabilir.</p>
1344 </directivesynopsis>
1346 <directivesynopsis type="section">
1348 <description>Çalışma anında bir koşul bir istek tarafından yerine getirildiği
1349 takdirde uygulanacak yönergeleri barındırır.</description>
1350 <syntax><If <var>ifade</var>> ... </If></syntax>
1351 <contextlist><context>server config</context><context>virtual host</context>
1352 <context>directory</context><context>.htaccess</context>
1354 <override>All</override>
1357 <p><directive type="section">If</directive> yönergesi bir ifadeyi çalışma
1358 anında değerlendirir ve ifadenin sonucu doğru olduğu takdirde içerdiği
1359 yönergeleri uygular. Örnek:</p>
1362 <If "$req{Host} = ''">
1365 <p>Bir <var>Host:</var> başlığı içermeyen HTTP/1.0 istekleriyle
1368 <p>İstek başlıklarındaki ($req), yanıt başlıklarındaki ($resp) yada
1369 ortamdaki ($env) herhangi bir değişkenin değerini ifadenizde
1370 karşılaştırabilirsiniz.</p>
1373 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir arada
1374 ele alındığının açıklaması için <a href="../sections.html">
1375 <Directory>, <Location> ve <Files> bölümleri nasıl
1376 çalışır?</a> belgesine bakınız. <directive type="section">If</directive>
1377 bölümleri<directive type="section">Files</directive> bölümleri ile aynı
1378 önceliğe sahiptir ve aynı amaçla kullanılır.</seealso>
1379 </directivesynopsis>
1381 <directivesynopsis type="section">
1382 <name>IfDefine</name>
1383 <description>Başlatma sırasında bir doğruluk sınamasından sonra işleme
1384 sokulacak yönergeleri sarmalar.</description>
1385 <syntax><IfDefine [!]<var>parametre-adı</var>> ...
1386 </IfDefine></syntax>
1387 <contextlist><context>server config</context><context>virtual host</context>
1388 <context>directory</context><context>.htaccess</context>
1390 <override>All</override>
1393 <p><code><IfDefine <var>sınama</var>>...</IfDefine>
1394 </code> bölümü koşullu olarak işleme sokulacak yönergeleri içerir.
1395 Bir <directive type="section">IfDefine</directive> bölümü içindeki
1396 yönergeler sadece <var>sınama</var> doğru sonuç verirse işleme sokulur.
1397 Aksi takdirde, bölüm içinde kalan her şey yok sayılır.</p>
1399 <p><directive type="section">IfDefine</directive> bölüm yönergesinde
1400 <var>sınama</var> için belirtilebilecek iki biçim vardır:</p>
1403 <li><var>parametre-adı</var></li>
1405 <li><code>!</code><var>parametre-adı</var></li>
1408 <p>Birinci durumda bölüm içinde kalan yönergeler sadece
1409 <var>parametre-adı</var> ile belirtilen parametre tanımlı ise işleme
1410 sokulur. İkinci durumda ise tersi yapılır, yani sadece
1411 <var>parametre-adı</var> ile belirtilen parametre tanımlı
1412 <strong>değil</strong> ise yönergeler işleme sokulur.</p>
1414 <p><var>parametre-adı</var> argümanı sunucu başlatılırken
1415 <program>httpd</program> komut satırında
1416 <code>-D<var>parametre</var></code> ile
1417 veya <directive module="core">Define</directive> yönergesi ile
1418 belirtilerek tanımlı hale getirilebilir.</p>
1420 <p><directive type="section">IfDefine</directive> bölümleri iç içe
1421 olabilir, dolayısıyla çok parametreli basit sınamalar gerçeklenebilir.
1425 httpd -DReverseProxy -DUseCache -DMemCache ...<br />
1428 <IfDefine ReverseProxy><br />
1430 LoadModule proxy_module modules/mod_proxy.so<br />
1431 LoadModule proxy_http_module modules/mod_proxy_http.so<br />
1432 <IfDefine UseCache><br />
1434 LoadModule cache_module modules/mod_cache.so<br />
1435 <IfDefine MemCache><br />
1437 LoadModule mem_cache_module modules/mod_mem_cache.so<br />
1439 </IfDefine><br />
1440 <IfDefine !MemCache><br />
1442 LoadModule cache_disk_module modules/mod_cache_disk.so<br />
1451 </directivesynopsis>
1453 <directivesynopsis type="section">
1454 <name>IfModule</name>
1455 <description>Belli bir modülün varlığına veya yokluğuna göre işleme sokulacak
1456 yönergeleri sarmalar.</description>
1457 <syntax><IfModule [!]<var>modül-dosyası</var>|<var>modül-betimleyici</var>> ...
1458 </IfModule></syntax>
1459 <contextlist><context>server config</context><context>virtual host</context>
1460 <context>directory</context><context>.htaccess</context>
1462 <override>All</override>
1463 <compatibility>Modül betimleyiciler 2.1 sürümünde ve sonrası için geçerlidir.</compatibility>
1466 <p><code><IfModule <var>sınama</var>>...</IfModule></code>
1467 bölümü belli bir modülün varlığına veya yokluğuna göre işleme sokulacak
1468 yönergeleri içerir. Bir <directive type="section">IfModule</directive>
1469 bölümü içindeki yönergeler sadece <var>sınama</var> doğru sonuç verirse
1470 işleme sokulur. Aksi takdirde, bölüm içinde kalan her şey yok sayılır.</p>
1472 <p><directive type="section">IfModule</directive> bölüm yönergesinde
1473 <var>sınama</var> için belirtilebilecek iki biçim vardır:</p>
1476 <li><var>modül</var></li>
1478 <li>!<var>modül</var></li>
1481 <p>Birinci durumda bölüm içinde kalan yönergeler sadece
1482 <var>modül</var> ile belirtilen modül Apache içine dahil edilmişse veya
1483 <directive module="mod_so">LoadModule</directive> yönergesi ile devingen
1484 olarak yüklenmişse işleme sokulur. İkinci durumda ise tersi yapılır, yani
1485 sadece <var>modül</var> içerilmiş <strong>değil</strong> ise yönergeler
1488 <p><var>modül</var> argümanında bir modül betimleyici veya modülün derleme
1489 sırasındaki dosya adı belirtilebilir. Örneğin, <code>rewrite_module</code>
1490 bir betimleyici, <code>mod_rewrite.c</code> ise bir dosya ismidir. Eğer
1491 modül çok sayıda kaynak dosyasından oluşuyorsa
1492 <code>STANDARD20_MODULE_STUFF</code> dizgesini içeren dosyanın ismi
1495 <p><directive type="section">IfModule</directive> bölümleri iç içe
1496 olabilir, dolayısıyla çok parametreli basit sınamalar gerçeklenebilir.</p>
1498 <note>Bu bölümü sadece yapılandırma dosyanızın belli modüllerin varlığına
1499 veya yokluğuna bağlı olarak çalışması gerektiği durumlarda
1500 kullanmalısınız. Normal işlemlerde yönergelerin <directive
1501 type="section">IfModule</directive> bölümlerine yerleştirilmeleri
1504 </directivesynopsis>
1507 <name>Include</name>
1508 <description>Sunucu yapılandırma dosyalarının başka dosyaları içermesini sağlar.
1510 <syntax>Include <var>dosya-yolu</var>|<var>dizin-yolu</var></syntax>
1511 <contextlist><context>server config</context><context>virtual host</context>
1512 <context>directory</context>
1514 <compatibility>Dosya kalıbıyla eşleşme 2.0.41 ve sonrasında mevcuttur.
1518 <p>Bu yönerge sunucu yapılandırma dosyalarının başka dosyaları içermesini
1521 <p>Çok sayıda dosyayı bir kerede alfabetik sırada içermek için kabuk tarzı
1522 (<code>fnmatch()</code>) dosya ismi kalıp karakterleri kullanılabilir.
1523 Ayrıca, eğer <directive>Include</directive> yönergesi bir dosya değil de
1524 bir dizin gösteriyorsa Apache bu dizindeki ve alt dizinlerindeki bütün
1525 dosyaları okuyacaktır. Bunula birlikte, dizinin bir bütün olarak okutulması
1526 önerilmez, çünkü dizinde <program>httpd</program> programının çökmesine
1527 sebep olabilecek geçici dosyalar unutulabilir. Bunun yerine, belli bir
1528 şablona uyan dosyaları seçebilmek için, örneğin *.conf gibi dosya
1529 kalıplarının kullanılmasını öneriyoruz.</p>
1531 <p>Dosya yolu mutlak bir dosya yolu olarak belirtilebileceği gibi
1532 <directive module="core">ServerRoot</directive> dizinine göreli olarak da
1538 Include /usr/local/apache2/conf/ssl.conf<br />
1539 Include /usr/local/apache2/conf/vhosts/*.conf
1542 <p>Veya dizinler <directive module="core">ServerRoot</directive> dizinine
1543 göre belirtilebilir:</p>
1546 Include conf/ssl.conf<br />
1547 Include conf/vhosts/*.conf
1552 <seealso><program>apachectl</program></seealso>
1553 </directivesynopsis>
1556 <name>KeepAlive</name>
1557 <description>HTTP kalıcı bağlantılarını etkin kılar</description>
1558 <syntax>KeepAlive On|Off</syntax>
1559 <default>KeepAlive On</default>
1560 <contextlist><context>server config</context><context>virtual host</context>
1564 <p><code>Keep-Alive</code> yönergesi HTTP/1.0 protokolüne bir eklenti olup
1565 HTTP/1.1 protokolünün kalıcı bağlantı özelliği aynı TCP bağlantısı
1566 üzerinden çok sayıda isteğin gönderilmesini mümkün kılan uzun süreli HTTP
1567 oturumları açılmasını sağlar. Bunun, çok sayıda resim içeren HTML
1568 belgelerin yanıt zamanlarında bazı durumlarda %50’lik bir hızlanmayla
1569 sonuçlandığı gösterilmiştir. Kalıcı bağlantıları etkin kılmak için
1570 yönerge <code>KeepAlive On</code> şeklinde kullanılır.</p>
1572 <p>HTTP/1.0 istemcileri için kalıcı bağlantılar sadece bir istemci
1573 tarafından özellikle istendiği takdirde kullanılabilir. Ek olarak,
1574 HTTP/1.0 istemci kalıcı bağlantıları sadece içerik uzunluğu baştan
1575 bilindiği zaman kullanılabilir. Bu, CGI çıktısı, SSI sayfaları ve
1576 sunucunun ürettiği dizin listeleri gibi genellikle HTTP/1.0 istemcilere
1577 kalıcı bağlantılar kullanmayan devingen içeriklere uygulanır. HTTP/1.1
1578 istemciler için kalıcı bağlantılar aksi belirtilmedikçe öntanımlıdır.
1579 İstemci istediği takdirde, uzunluğu bilinmeyen içerik kalıcı bağlantılar
1580 üzerinden gönderilirken parçalı kodlama kullanılacaktır.</p>
1582 <p>Bir istemci kalıcı bağlantı kullandığı takdirde, bağlantı üzerinden kaç
1583 istek gönderilirse gönderilsin,
1584 <directive module="mpm_common">MaxRequestsPerChild</directive> yönergesi
1585 bakımından tek bir istek olarak değerlendirilir.</p>
1588 <seealso><directive module="core">MaxKeepAliveRequests</directive></seealso>
1589 </directivesynopsis>
1592 <name>KeepAliveTimeout</name>
1593 <description>Bir kalıcı bağlantıda sunucunun bir sonraki isteği bekleme süresi
1595 <syntax>KeepAliveTimeout <var>sayı</var>[ms]</syntax>
1596 <default>KeepAliveTimeout 5</default>
1597 <contextlist><context>server config</context><context>virtual host</context>
1599 <compatibility>Apache 2.3.2'den itibaren milisaniyelik değerler belirtilebilmektedir.</compatibility>
1602 <p>Sunucunun kalıcı bir bağlantıyı kapatmadan önce bir sonraki isteği kaç
1603 saniye bekleyeceğini belirler. Ayrıca, ms soneki kullanılarak süreyi
1604 milisaniye olarak belirtmek de mümkündür. İstek alındıktan sonra
1605 <directive module="core">Timeout</directive> yönergesiyle belirtilen
1606 zaman aşımı değeri uygulanır.</p>
1608 <p><directive>KeepAliveTimeout</directive> için yüksek bir değer belirtmek
1609 ağır yüklü sunucularda başarım sorunlarına yol açar. Daha yüksek bir
1610 zaman aşımı, boştaki istemcilerin bulunduğu bağlantıları bekleyen daha
1611 fazla sunucu sürecini meşgul edecektir.</p>
1613 <p>İsme dayalı sanal konak bağlamında, <directive
1614 module="core">NameVirtualHost</directive> bölümleri içinde tanımlanmış
1615 ilk sanal konağın (öntanımlı konak) değeri kullanılır. Diğer değerler
1616 görmezden gelinir.</p>
1618 </directivesynopsis>
1620 <directivesynopsis type="section">
1622 <description>Erişimi sınırlanacak HTTP yöntemleri için erişim sınırlayıcıları
1623 sarmalar.</description>
1624 <syntax><Limit <var>yöntem</var> [<var>yöntem</var>] ... > ...
1625 </Limit></syntax>
1626 <contextlist><context>directory</context><context>.htaccess</context>
1628 <override>AuthConfig, Limit</override>
1631 <p>Erişim denetleyicileri normalde <strong>tüm</strong> erişim yöntemleri
1632 için etkindir ve olağan olanı da budur. <strong>Genel durum olarak,
1633 erişim denetim yönergeleri bir <directive
1634 type="section">Limit</directive> bölümüne
1635 yerleştirilmemelidir.</strong></p>
1637 <p><directive type="section">Limit</directive> bölümünün amacı, erişim
1638 denetleyicilerinin etkilerini belli HTTP yöntemleri için sınırlamaktır.
1639 <directive type="section">Limit</directive> bölümü içinde listelenen
1640 erişim sınırlamaları, kalan tüm diğer yöntemler için <strong>etkisiz
1641 olacaktır</strong>. Aşağıdaki örnekte, erişim sınırlaması
1642 <code>POST</code>, <code>PUT</code> ve <code>DELETE</code> yöntemleri
1643 için uygulanmakta, diğer tüm yöntemler korumasız bırakılmaktadır:</p>
1646 <Limit POST PUT DELETE><br />
1648 Require valid-user<br />
1653 <p>Birden fazla bölümde kullanılabilecek yöntem isimleri: <code>GET</code>,
1654 <code>POST</code>, <code>PUT</code>, <code>DELETE</code>,
1655 <code>CONNECT</code>, <code>OPTIONS</code>,
1656 <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>,
1657 <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>,
1658 <code>LOCK</code> ve <code>UNLOCK</code>. <strong>Yöntem isimleri harf
1659 büyüklüğüne duyarlıdır.</strong> <code>GET</code> yöntemi sınırlanırsa
1660 <code>HEAD</code> istekleri de sınırlanmış olur. <code>TRACE</code>
1661 yöntemi sınırlanamaz (bkz, <directive module="core"
1662 >TraceEnable</directive>).</p>
1664 <note type="warning">Erişimi sınarlarken bir <directive
1665 type="section">Limit</directive> bölümü yerine daima bir <directive
1666 type="section" module="core">LimitExcept</directive> bölümünü tercih
1667 etmelisiniz, çünkü <directive type="section" module="core"
1668 >LimitExcept</directive> bölümü belirtilen yöntemler dışında kalanlara
1669 erişim koruması sağlar.</note>
1671 <p><directive type="section">Limit</directive> ve
1672 <directive type="section" module="core">LimitExcept</directive>
1673 yönergeleri iç içe olabilirler. Bu durumda, başarılı her
1674 <directive type="section">Limit</directive> veya <directive
1675 type="section" module="core">LimitExcept</directive> seviyesi, erişim
1676 denetimlerinin uygulanacağı yöntemlerle sınırlı kalmalıdır.</p>
1678 <note type="warning"><directive type="section">Limit</directive> veya
1679 <directive type="section">LimitExcept</directive> yönergelerini
1680 <directive module="mod_authz_core">Require</directive> yönergesi ile
1681 birlikte kullanılırken, ilk <directive module="mod_authz_core"
1682 >Require</directive> yönergesinin bir başka <directive
1683 module="mod_authz_core">Require</directive> yönergesinin varlığından
1684 bağımsız olarak isteği başarıyla yetkilendirdiğine dikkat ediniz.</note>
1686 <p>Örneğin, aşağıdaki yapılandırmayı ele alalım; tüm kullanıcılar
1687 <code>POST</code> istekleri için yetkilendirilecek ve tüm durumlarda
1688 <code>Require group editors</code> yönergesi yoksayılacaktır:</p>
1691 <LimitExcept GET>
1695 </LimitExcept><br />
1698 Require group editors
1704 </directivesynopsis>
1706 <directivesynopsis type="section">
1707 <name>LimitExcept</name>
1708 <description>İsimleri belirtilenler dışında kalan HTTP yöntemleri için
1709 kullanılacak erişim sınırlayıcıları sarmalar.</description>
1710 <syntax><LimitExcept <var>yöntem</var> [<var>yöntem</var>] ... > ...
1711 </LimitExcept></syntax>
1712 <contextlist><context>directory</context><context>.htaccess</context>
1714 <override>AuthConfig, Limit</override>
1717 <p><directive type="section">LimitExcept</directive> ve
1718 <code></LimitExcept></code> argüman olarak belirtilenler
1719 <strong>dışında</strong> kalan HTTP yöntemleri için kullanılacak erişim
1720 sınırlayıcıları gruplamakta kullanılır. Yani, <directive type="section"
1721 module="core">Limit</directive> bölümünün tersine, standart olsun olmasın
1722 bütün yöntemler için erişimi kısıtlamakta kullanılabilir. Daha ayrıntılı
1723 bilgi edinmek için <directive module="core" type="section"
1724 >Limit</directive> yönergesinin açıklamasına bakınız.</p>
1729 <LimitExcept POST GET><br />
1731 Require valid-user<br />
1733 </LimitExcept>
1737 </directivesynopsis>
1740 <name>LimitInternalRecursion</name>
1741 <description>Dahili yönlendirmelerin ve istek içi isteklerin azami sayısını
1742 belirler.</description>
1743 <syntax>LimitInternalRecursion <var>sayı</var> [<var>sayı</var>]</syntax>
1744 <default>LimitInternalRecursion 10</default>
1745 <contextlist><context>server config</context><context>virtual host</context>
1747 <compatibility>Apache 2.0.47 ve sonrasında mevcuttur.</compatibility>
1750 <p>Örneğin, özgün istekleri dahili olarak bir CGI betiğine yönlendiren
1751 <directive module="mod_actions">Action</directive> yönergesi
1752 kullanıldığında bir dahili yönlendirme oluşur. İstek içi istekler ise
1753 bazı URI’ler için istek yapıldığında ne olacağını bulmak için Apache’nin
1754 kullandığı bir mekanizmadır. Örneğin, <module>mod_dir</module>,
1755 <directive module="mod_dir">DirectoryIndex</directive> yönergesinde
1756 listelenen dosyalara bakmak için istek içi istekler kullanır.</p>
1758 <p><directive>LimitInternalRecursion</directive> yönergesi sunucunun dahili
1759 yönlendirmeler ve istek içi isteklerin oluşturduğu döngülerden dolayı
1760 çökmemesini sağlar. Böyle döngüler genellikle yanlış yapılandırma sonucu
1761 ortaya çıkarlar.</p>
1763 <p>Yönerge her istek için değerlendirmeye alınacak iki farklı sınırlama
1764 için kullanılabilir. İlk <var>sayı</var> ardarda gelebilen dahili
1765 yönlendirmelerin azami sayısını, ikinci <var>sayı</var> ise istek içi
1766 isteklerin ne kadar iç içe olabileceğini belirler. Tek bir
1767 <var>sayı</var> belirtilirse iki sınırlama için de aynı değer
1770 <example><title>Örnek</title>
1771 LimitInternalRecursion 5
1774 </directivesynopsis>
1777 <name>LimitRequestBody</name>
1778 <description>İstemci tarafından gönderilen HTTP istek gövdesinin toplam
1779 uzunluğunu sınırlar.</description>
1780 <syntax>LimitRequestBody <var>bayt-sayısı</var></syntax>
1781 <default>LimitRequestBody 0</default>
1782 <contextlist><context>server config</context><context>virtual host</context>
1783 <context>directory</context><context>.htaccess</context>
1785 <override>All</override>
1788 <p>Bu yönerge, bir istek gövdesinde izin verilen bayt sayısını 0 (sınırsız
1789 anlamında) ile 2147483647 (2GB) arasında sınırlamak için kullanılır.</p>
1791 <p><directive>LimitRequestBody</directive> yönergesi kullanıcıya yönergenin
1792 kullanıldığı bağlam (sunucu, belli bir dizin, belli bir dosya, belli bir
1793 yer) dahilinde bir HTTP istek iletisi gövdesinin izin verilen uzunluğu
1794 için bir sınır belirleme imkanı verir. Eğer istemcinin isteği bu sınırı
1795 aşarsa sunucu isteği sunmak yerine bir hata iletisi döndürecektir. Normal
1796 bir istek ileti gövdesinin uzunluğu büyük oranda özkaynağın doğasına ve
1797 bu özkaynak üzerinde izin verilen yöntemlere bağlıdır. CGI betikleri
1798 genellikle ileti gövdesini form bilgisini almak için kullanır.
1799 <code>PUT</code> yöntemi gerçeklenimleri, en azından, sunucunun o
1800 özkaynak için kabul etmek isteyeceği herhangi bir gösterim kadar büyük
1801 bir değer gerektirecektir.</p>
1803 <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu
1804 yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim
1807 <p>Eğer, örneğin, belli bir yere dosya yükleme izni verir ve buraya
1808 yüklenebilecek dosya boyutunu 100 kB ile sınırlamak isterseniz yönergeyi
1809 şöyle kullanabilirsiniz:</p>
1812 LimitRequestBody 102400
1816 </directivesynopsis>
1819 <name>LimitRequestFields</name>
1820 <description>İstemciden kabul edilecek HTTP isteği başlık alanlarının sayısını
1821 sınırlar.</description>
1822 <syntax>LimitRequestFields <var>sayı</var></syntax>
1823 <default>LimitRequestFields 100</default>
1824 <contextlist><context>server config</context></contextlist>
1827 <p><var>sayı</var>, en küçük 0 (sınırsız anlamında), en büyük 32767
1828 olabilir. Öntanımlı değer bir derleme zamanı sabiti olan
1829 <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> ile belirlenir (dağıtımla gelen
1830 değeri 100’dür).</p>
1832 <p><directive>LimitRequestFields</directive> yönergesi sunucu
1833 yöneticilerine bir HTTP isteğinde izin verilen istek başlık alanlarının
1834 sayısı üzerindeki sınırı değiştirebilme imkanı verir. Sunucu bu değerin,
1835 normal bir istemci isteğinin içerebileceği alan sayısından daha büyük
1836 olmasına ihtiyaç duyar. Bir istemci tarafından kullanılan istek başlık
1837 alanlarının sayısı nadiren 20’yi geçer, fakat bu farklı istemci
1838 gerçeklenimleri için değişiklik gösterir ve çoğunlukla kullanıcının
1839 tarayıcısını ayrıntılı içerik müzakeresini desteklemek için nasıl
1840 yapılandırdığıyla ilgilidir. İsteğe bağlı HTTP eklentileri çoğunlukla
1841 istek başlık alanları kullanılarak ifade edilir.</p>
1843 <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu
1844 yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim
1845 imkanı sağlar. Eğer normal istemciler sunucudan istekte bulunurken çok
1846 fazla başlık alanı gönderildiğine dair bir hata iletisi alırlarsa bu
1847 değerin arttırılması gerekir.</p>
1852 LimitRequestFields 50
1856 </directivesynopsis>
1859 <name>LimitRequestFieldSize</name>
1860 <description>İstemciden kabul edilecek HTTP isteği başlık uzunluğunu sınırlar.
1862 <syntax>LimitRequestFieldSize <var>bayt-sayısı</var></syntax>
1863 <default>LimitRequestFieldSize 8190</default>
1864 <contextlist><context>server config</context></contextlist>
1867 <p>Bu yönerge, HTTP istek başlığında izin verilecek bayt sayısını
1870 <p><directive>LimitRequestFieldSize</directive> yönergesi, sunucu
1871 yöneticilerine HTTP istek başlık alanının azami uzunluğunu arttırıp
1872 azaltma imkanı verir. Sunucu bu değerin, normal bir istemci isteğinin
1873 içerebileceği herhangi bir başlık alanını tutabilecek kadar büyük
1874 olmasını gerektirir. Normal bir istek başlık alanı uzunluğu kullanıcının
1875 tarayıcısını ayrıntılı içerik müzakeresini desteklemek için nasıl
1876 yapılandırdığıyla ilgilidir. SPNEGO kimlik doğrulama başlıkları 12392
1877 baytlık olabilir.</p>
1879 <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu
1880 yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim
1886 LimitRequestFieldSize 4094
1889 <note>Normal şartlar altında öntanımlı değer değiştirilmemelidir.</note>
1892 </directivesynopsis>
1895 <name>LimitRequestLine</name>
1896 <description>İstemciden kabul edilecek HTTP istek satırının uzunluğunu sınırlar.
1898 <syntax>LimitRequestLine <var>bayt-sayısı</var></syntax>
1899 <default>LimitRequestLine 8190</default>
1900 <contextlist><context>server config</context></contextlist>
1903 <p>Bu yönerge, HTTP istek satırında izin verilecek bayt sayısını
1906 <p><directive>LimitRequestLine</directive> yönergesi, sunucu yöneticilerine
1907 bir istemcinin HTTP istek satırının azami uzunluğunu arttırıp azaltma
1908 imkanı verir. İstek satırının içeriği HTTP yöntemi, URI ve protokol
1909 sürümünden oluştuğundan <directive>LimitRequestLine</directive>
1910 yönergesi, sunucudan bir istek için kullanılan istek adresinin uzunluğunu
1911 sınırlamış olur. Sunucu bu değerin, bir <code>GET</code> isteğinin sorgu
1912 kısmında aktarılabilen her bilgi dahil, özkaynak isimlerinden her birini
1913 tutabilecek kadar büyük olmasını gerektirir.</p>
1915 <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu
1916 yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim
1922 LimitRequestLine 4094
1925 <note>Normal şartlar altında öntanımlı değer değiştirilmemelidir.</note>
1927 </directivesynopsis>
1930 <name>LimitXMLRequestBody</name>
1931 <description>Bir XML temelli istek gövdesinin uzunluğunu sınırlar.</description>
1932 <syntax>LimitXMLRequestBody <var>bayt-sayısı</var></syntax>
1933 <default>LimitXMLRequestBody 1000000</default>
1934 <contextlist><context>server config</context><context>virtual host</context>
1935 <context>directory</context><context>.htaccess</context></contextlist>
1936 <override>All</override>
1939 <p>Bir XML temelli istek gövdesinin azami bayt sayısını belirler. Değer
1940 olarak <code>0</code> belirtildiğinde herhangi bir boyut sınaması
1946 LimitXMLRequestBody 0
1950 </directivesynopsis>
1952 <directivesynopsis type="section">
1953 <name>Location</name>
1954 <description>İçerdiği yönergeler sadece eşleşen URL’lere uygulanır.
1956 <syntax><Location <var>URL-yolu</var>|<var>URL</var>> ...
1957 </Location></syntax>
1958 <contextlist><context>server config</context><context>virtual host</context>
1962 <p><directive type="section">Location</directive> bölüm yönergesi kapsadığı
1963 yönergelerin etki alanını belirtilen URL’lerle sınırlar. Bu yönerge,
1964 <directive type="section" module="core">Directory</directive> yönergesine
1965 benzer ve <code></Location></code> yönergesi ile biten bir alt
1966 bölüm başlatır. <directive type="section">Location</directive> bölümleri
1967 yapılandırma dosyasında göründükleri sıraya göre, <directive
1968 type="section" module="core">Directory</directive> bölümleri ve
1969 <code>.htaccess</code> dosyaları okunup <directive type="section"
1970 module="core">Files</directive> bölümleri de işlendikten sonra işleme
1973 <p><directive type="section">Location</directive> bölümleri dosya
1974 sisteminin tamamen dışında işlem görürler. Bunun çeşitli sonuçları olur.
1975 En önemlisi, <directive type="section">Location</directive>
1976 yönergelerinin dosya sistemi konumlarına erişimi denetim altına almak
1977 için kullanılmaması gerekliliğidir. Aynı dosya sistemi konumuna farklı
1978 URL’lerle erişmek mümkün olduğundan bu tür erişim denetimleri hile ile
1979 atlatılabilir olacaktır.</p>
1981 <note><title><directive type="section">Location</directive> ne zaman
1982 kullanılmalı</title>
1984 <p><directive type="section">Location</directive> yönergesini dosya sistemi
1985 dışındaki içeriğe çeşitli yönergeler uygulamak için kullanın. Dosya
1986 sisteminde bulunan içerik için <directive type="section"
1987 module="core">Directory</directive> ve <directive type="section"
1988 module="core">Files</directive> bölümlerini kullanın. Bunun istisnası,
1989 sunucunun tamamına bir yapılandırma uygulamak için kolay bir yol olan
1990 <code><Location /></code> kullanımıdır.</p>
1993 <p>Kaynağa yapılan (vekil olmayan) tüm istekler için eşleşecek URL,
1994 <code>/yol/</code> şeklinde bir URL yolu olmalı; <em>ne şema, ne konak ismi
1995 ne port ne de sorgu dizgesi içermelidir</em>. Vekil istekleri için eşleşecek
1996 URL ise <code>şema://sunucuadı/dosya-yolu</code> şeklinde olmalı ve önek
1999 <p>URL içinde dosya kalıp karakterleri kullanılabilir. Dosya kalıp
2000 karakterleri bulunan bir dizgede bulunan <code>?</code> karakteri
2001 herhangi bir tek karakterle eşleşirken <code>*</code> karakteri herhangi
2002 bir karakter dizisi ile eşleşecektir. URL yolu içindeki / karakterleri
2003 ile hiçbir dosya kalıp karakteri eşleşmez.</p>
2005 <p>Ayrıca, <code>~</code> karakteri eşliğinde
2006 <glossary ref="regex">düzenli ifadeler</glossary> de kullanılabilir.
2010 <Location ~ "/(ek|hususi)/veri">
2013 <p>yönergesi <code>/ek/veri</code> ve <code>/hususi/veri</code> alt
2014 dizgeleriyle eşleşecektir. <directive type="section"
2015 module="core">LocationMatch</directive> yönergesi <directive
2016 type="section">Location</directive> yönergesinin düzenli ifade sürümüne
2017 eşdeğer davranır ve bir çok yazı tipinde <code>~</code> karakterini
2018 <code>-</code> karakterinden ayırmak zor olduğu için tercih edilir.</p>
2020 <p><directive type="section">Location</directive> işlevselliği özellikle
2021 <directive module="core">SetHandler</directive> yönergesi ile birlikte
2022 kullanışlı olur. Örneğin, durum isteklerini etkin kılmak ama sadece
2023 <code>mesela.dom</code>’dan gelen isteklere izin vermek için şöyle bir
2024 uygulama yapabilirsiniz:</p>
2027 <Location /status><br />
2029 SetHandler server-status<br />
2030 Order Deny,Allow<br />
2032 Allow from .mesela.dom<br />
2037 <note><title>/ (bölü çizgisi) hakkında</title>
2038 <p>Bölü çizgisinin URL içinde bulunduğu yere bağlı olarak özel anlamları
2039 vardır. Dosya sistemindeki çok sayıda yanyana kullanımının tek bir bölü
2040 çizgisi olarak ele alındığı duruma alışkın olanlar olabilir (yani,
2041 <code>/home///foo</code> ile <code>/home/foo</code> aynıdır). URL
2042 uzayında bunun böyle olması gerekli değildir. Eğer çok sayıda bölü
2043 çizgisini yanyana belirtmeniz gerekiyorsa <directive type="section"
2044 module="core">LocationMatch</directive> yönergesinde ve <directive
2045 type="section">Location</directive> yönergesinin düzenli ifadeli
2046 kullanımında bunu açıkça belirtmeniz gerekir.</p>
2048 <p>Örneğin, <code><LocationMatch ^/abc></code> yönergesi
2049 <code>/abc</code> ile eşleşecek ama <code>//abc</code> ile
2050 eşleşmeyecektir. <directive type="section">Location</directive>
2051 yönergesinin düzenli ifade içermeyen kullanımındaki davranış vekil
2052 isteklerinde kullanılana benzer ve doğrudan kaynağa yapılan (vekil
2053 olmayan) isteklerde çok sayıda bölü çizgisi dolaylı olarak tek bir bölü
2054 çizgisiyle eşleşecektir. Örneğin, <code><Location
2055 /abc/def></code> belirtirseniz ve istek <code>/abc//def</code>
2056 şeklinde olursa bu ikisi eşleşir.</p>
2059 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir arada
2060 ele alındığının açıklaması için <a href="../sections.html">
2061 <Directory>, <Location> ve <Files> bölümleri nasıl
2062 çalışır?</a> belgesine bakınız.</seealso>
2063 </directivesynopsis>
2065 <directivesynopsis type="section">
2066 <name>LocationMatch</name>
2067 <description>İçerdiği yönergeler sadece düzenli ifadelerle eşleşen URL’lere
2068 uygulanır.</description>
2069 <syntax><LocationMatch
2070 <var>düzifade</var>> ... </LocationMatch></syntax>
2071 <contextlist><context>server config</context><context>virtual host</context>
2075 <p><directive type="section">LocationMatch</directive> yönergesi içerdiği
2076 yönergelerin etki alanını <directive module="core" type="section"
2077 >Location</directive> yönergesinin yaptığı gibi belirtilen URL’lerle
2078 sınırlar. Ancak argüman olarak basit bir dizge değil bir <glossary
2079 ref="regex">düzenli ifade</glossary> alır. Örneğin,</p>
2082 <LocationMatch "/(ek|hususi)/veri">
2085 <p>yönergesi <code>/ek/veri</code> ve <code>/hususi/veri</code> alt
2086 dizgeleriyle eşleşecektir.</p>
2089 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir arada
2090 ele alındığının açıklaması için <a href="../sections.html">
2091 <Directory>, <Location> ve <Files> bölümleri nasıl
2092 çalışır?</a> belgesine bakınız.</seealso>
2093 </directivesynopsis>
2096 <name>LogLevel</name>
2097 <description>Hata günlüklerinin ayrıntı seviyesini belirler.</description>
2098 <syntax>LogLevel <var>seviye</var></syntax>
2099 <default>LogLevel warn</default>
2100 <contextlist><context>server config</context><context>virtual host</context>
2104 <p><directive>LogLevel</directive> yönergesi hata günlüklerine kaydedilen
2105 hata iletilerinde hangi ayrıntılara yer verileceğini belirler (<directive
2106 module="core">ErrorLog</directive> yönergesine bakınız). En yüksek önem
2107 derecesinden başlayarak olası <var>seviye</var> değerleri aşağıda
2111 <columnspec><column width=".2"/><column width=".3"/><column width=".5"/>
2114 <th><strong>Seviye</strong> </th>
2115 <th><strong>Açıklama</strong> </th>
2116 <th><strong>Örnek</strong> </th>
2120 <td><code>emerg</code> </td>
2121 <td>Acil durumlar - sistem kullanışsız.</td>
2122 <td>"Child cannot open lock file. Exiting"<br />(Alt süreç kilit
2123 dosyasını açamıyor. Çıkılıyor)</td>
2127 <td><code>alert</code> </td>
2128 <td>Ne yapılacaksa beklemeden yapılmalı.</td>
2129 <td>"getpwuid: couldn't determine user name from uid"<br />(getpwuid:
2130 Kullanıcı ismi numarasından saptanamadı)</td>
2134 <td><code>crit</code> </td>
2135 <td>Kriz durumları.</td>
2136 <td>"socket: Failed to get a socket, exiting child"<br />(socket: bir
2137 soket alınamadı, alt süreç çıkıyor)</td>
2141 <td><code>error</code> </td>
2142 <td>Hata durumları.</td>
2143 <td>"Premature end of script headers"<br />(Betik başlıkları
2144 beklenmedik şekilde bitti)</td>
2148 <td><code>warn</code> </td>
2149 <td>Uyarı durumları.</td>
2150 <td>"child process 1234 did not exit, sending another
2151 SIGHUP"<br />(1234 alt süreci çıkmadı, başka bir SIGHUP
2156 <td><code>notice</code> </td>
2157 <td>Normal fakat önemli durum.</td>
2158 <td>"httpd: caught SIGBUS, attempting to dump core in
2159 ..."<br />(httpd: SIGBUS alındı, core dökümlenmeye çalışılıyor:
2164 <td><code>info</code> </td>
2165 <td>Bilgilendirme.</td>
2166 <td>"Server seems busy, (you may need to increase
2167 StartServers, or Min/MaxSpareServers)..."<br />(Sunucu meşgul
2168 görünüyor, (StartServers veya Min/MaxSpareServers değerlerini
2169 arttırmanız gerekebilir)...)</td>
2173 <td><code>debug</code> </td>
2174 <td>Hata ayıklama seviyesi iletileri</td>
2175 <td>"Opening config file ..."<br />(... yapılandırma dosyası
2180 <p>Belli bir seviye belirtildiğinde daha yüksek seviyeden iletiler de
2181 raporlanır. Örneğin, <code>LogLevel info</code> belirtildiğinde
2182 <code>notice</code> ve <code>warn</code> günlük seviyelerinin iletileri
2183 ayrıca raporlanacaktır.</p>
2185 <p>En az <code>crit</code> seviyesinin kullanılması önerilir.</p>
2193 <note><title>Ek Bilgi</title>
2194 <p>Günlük iletileri normal bir dosyaya yazılırken <code>notice</code>
2195 seviyesinden iletiler engellenemez ve dolayısıyla daima raporlanırlar.
2196 Ancak, günlük kaydı <code>syslog</code> kullanılarak yapılıyorsa bu
2200 </directivesynopsis>
2203 <name>MaxKeepAliveRequests</name>
2204 <description>Bir kalıcı bağlantıda izin verilen istek sayısı</description>
2205 <syntax>MaxKeepAliveRequests <var>sayı</var></syntax>
2206 <default>MaxKeepAliveRequests 100</default>
2207 <contextlist><context>server config</context><context>virtual host</context>
2211 <p><directive>MaxKeepAliveRequests</directive> yönergesi <directive
2212 module="core" >KeepAlive</directive> etkinken bağlantı başına izin
2213 verilecek istek sayısını sınırlar. Değer olarak <code>0</code>
2214 belirtilirse istek sayısı sınırsız olur. Sunucu başarımını yüksek tutmak
2215 için yüksekçe bir değer belirtmenizi öneririz.</p>
2220 MaxKeepAliveRequests 500
2223 </directivesynopsis>
2226 <name>NameVirtualHost</name>
2227 <description>İsme dayalı sanal konaklar için IP adresi belirtir</description>
2228 <syntax>NameVirtualHost <var>adres</var>[:<var>port</var>]</syntax>
2229 <contextlist><context>server config</context></contextlist>
2232 <p>Sunucunun, istemci tarafından talep edilen <em>konak ismine</em>
2233 dayanarak seçtiği her sanal konak kümesi için ayrı bir
2234 <directive>NameVirtualHost</directive> yönergesi vardır.
2235 <directive>NameVirtualHost</directive> yönergesi <a href="../vhosts/"
2236 >isme dayalı sanal konakları</a> yapılandırmak isterseniz gerekli olur.
2239 <p>Bu yönerge ve bununle ilişkili <directive>VirtualHost</directive>
2240 yönergesi, suncu hem HTTP hem de HTTPS bağlantılarını desteklediği
2241 takdirde <em>mutlaka</em> bir port numarası da içermelidir.</p>
2243 <p><var>adres</var> olarak bir konak ismi de belirtebilirsiniz ama daima
2244 bir IP adresi veya bir * kullanmanızı öneririz. Bir yıldız imi
2245 belirtilmiş <directive>NameVirtualHost</directive> yönergeleri sadece
2246 adres yerine bir * belirtilmiş <directive>VirtualHost</directive>
2247 yönergeleri ile eşleşir.</p>
2249 <p>İstekleri bir güvenlik duvarının veya başka bir vekil sunucunun
2250 aldığı ve bunları farklı bir IP adresine sahip bir sunucuya
2251 yönlendirdiği durumlarda, bu yönergeye değer olarak istekleri sunan
2252 makinenin fiziksel ağ arabiriminin IP adresi belirtilmelidir.</p>
2254 <p>Aşağıdaki örnekte, 192.0.2.1 IP adresli arabirimin 80. portundan
2255 alınan isteklerle sadece ilk iki sanal konak arasında seçim
2256 yapılacaktır. Diğer arabirimlerin 80.portundan gelen istekler için ise
2257 sadece üçüncü ve dördüncü sanal konak arasında seçim yapılacaktır.
2258 İsteklerin hangi arabirimden geldiğinin önemli olmadığı durumlarda
2259 (genelde böyledir) <directive>NameVirtualHost</directive> ve
2260 <directive>VirtualHost</directive> yönergelerine sadece "*:80"
2261 belirtmek yeterlidir.</p>
2264 NameVirtualHost 192.0.2.1:80<br />
2265 NameVirtualHost *:80<br /><br />
2267 <VirtualHost 192.0.2.1:80><br />
2268 ServerName namebased-a.example.com<br />
2269 </VirtualHost><br />
2271 <VirtualHost 192.0.2.1:80><br />
2272 Servername namebased-b.example.com<br />
2273 </VirtualHost><br />
2275 <VirtualHost *:80><br />
2276 ServerName namebased-c.example.com <br />
2277 </VirtualHost><br />
2279 <VirtualHost *:80><br />
2280 ServerName namebased-d.example.com <br />
2281 </VirtualHost><br />
2286 <p>IPv6 adresleri belirtilirken örnekteki gibi köşeli ayraçlar arasına
2290 NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080
2293 <note><title><directive type="section">VirtualHost</directive>
2294 yönergesinin değeri</title>
2295 <p><directive type="section">VirtualHost</directive> yönergesinin
2296 değerinin <directive>NameVirtualHost</directive> yönergesininkiyle tam
2297 olarak eşleşmesi gerektiğine dikkat ediniz.</p>
2300 NameVirtualHost 192.0.2.2:80<br />
2301 <VirtualHost 192.0.2.2:80><br />
2303 </VirtualHost><br />
2308 <seealso><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></seealso>
2310 </directivesynopsis>
2313 <name>Options</name>
2314 <description>Belli bir dizinde geçerli olacak özellikleri yapılandırır.
2317 [+|-]<var>seçenek</var> [[+|-]<var>seçenek</var>] ...</syntax>
2318 <default>Options All</default>
2319 <contextlist><context>server config</context><context>virtual host</context>
2320 <context>directory</context><context>.htaccess</context>
2322 <override>Options</override>
2325 <p><directive>Options</directive> yönergesi belli bir dizinde hangi sunucu
2326 özelliklerinin etkin olacağını (veya olmayacağını) belirler.</p>
2328 <p><var>seçenek</var> olarak hiçbir ek özellik etkin olmayacaksa
2329 <code>None</code>, aksi takdirde aşağıdakilerden biri veya bir kaçı
2333 <dt><code>All</code></dt>
2334 <dd><code>MultiViews</code> hariç tüm seçenekler. Bu öntanımlıdır.</dd>
2336 <dt><code>ExecCGI</code></dt>
2337 <dd><module>mod_cgi</module> kullanan CGI betiklerinin çalışmasına izin
2340 <dt><code>FollowSymLinks</code></dt>
2341 <dd>Sunucu bu dizindeki sembolik bağları izler.
2343 <p>Sembolik bağlar izlense bile <directive type="section"
2344 module="core">Directory</directive> bölümleriyle eşleşen dosya yolları
2346 <p>Ayrıca, bu seçenek bir <directive type="section" module="core"
2347 >Location</directive> bölümü içinde belirtildiği takdirde <strong>yok
2348 sayılır</strong>.</p>
2349 <p>Sembolik bağ sınamaları, atlatılabilir yarış koşullarına konu
2350 olduğundan bu seçeneğin yokluğu bir güvenlik sınırlaması olarak
2351 değerlendirilmemelidir.</p>
2354 <dt><code>Includes</code></dt>
2355 <dd><module>mod_include</module> tarafından sağlanan sunucu taraflı
2356 içeriklere izin verilir.</dd>
2358 <dt><code>IncludesNOEXEC</code></dt>
2359 <dd>Sunucu taraflı içeriklere izin verilir fakat <code>#exec cmd</code>
2360 ve <code>#exec cgi</code> iptal edilir. Ancak, <directive
2361 module="mod_alias">ScriptAlias</directive>’lı dizinlerdeki CGI
2362 betikleri için <code>#include virtual</code> hala mümkün olacaktır.</dd>
2364 <dt><code>Indexes</code></dt>
2365 <dd>İstenen URL bir dizin ile eşleşiyorsa ve bu dizin için bir <directive
2366 module="mod_dir">DirectoryIndex</directive> (<code>index.html</code>
2367 gibi) belirtilmemişse <module>mod_autoindex</module> bu dizinin
2368 biçimlenmiş bir listesini döndürecektir.</dd>
2370 <dt><code>MultiViews</code></dt>
2371 <dd><module>mod_negotiation</module> kullanılarak <a
2372 href="../content-negotiation.html">içerik uzlaştırmalı</a> çok
2373 görünümlü içeriğe izin verilir.</dd>
2375 <dt><code>SymLinksIfOwnerMatch</code></dt>
2376 <dd>Sunucu sembolik bağları sadece sembolik bağın hedefi ile bulunduğu
2377 dizinin sahibinin aynı kullanıcı olması halinde izleyecektir.
2379 <note><title>Ek Bilgi</title> <p>Bu seçenek bir <directive module="core"
2380 type="section">Location</directive> bölümü içinde belirtildiğinde yok
2382 <p>Sembolik bağ sınamaları, atlatılabilir yarış koşullarına konu
2383 olduğundan bu seçenek bir güvenlik sınırlaması olarak
2384 değerlendirilmemelidir.</p></note>
2388 <p>Normalde, bir dizine çok sayıda <directive>Options</directive>
2389 uygulanabilirse de, dizine en uygun olanı uygulanıp diğerleri yok
2390 sayılır; seçenekler katıştırılmaz (bkz, <a href="../sections.html#mergin"
2391 >Bölümler Nasıl Katıştırılır?</a>). Bununla birlikte, önüne bir
2392 <code>+</code> veya <code>-</code> simgesi konmuş seçenekler varsa, o
2393 seçenekler katıştırılır. Önüne <code>+</code> konmuş seçenekler
2394 mevcutlara eklenirken <code>-</code> konmuş seçenekler silinir.</p>
2396 <note type="warning"><title>Uyarı</title>
2397 <p><code>+</code> veya <code>-</code> imli seçenekler içeren
2398 <directive>Options</directive> ile imsiz seçenekler içerenlerin karışık
2399 olarak kullanılması beklenmedik sonuçlara yol açması sebebiyle aslında
2400 geçersiz bir sözdizimidir.</p>
2403 <p>Örneğin, <code>+</code> ve <code>-</code> imleri olmaksızın,</p>
2406 <Directory /web/docs><br />
2408 Options Indexes FollowSymLinks<br />
2410 </Directory><br />
2412 <Directory /web/docs/spec><br />
2414 Options Includes<br />
2419 <p>yapılandırmasıyla <code>/web/docs/spec</code> dizininde sadece
2420 <code>Includes</code> seçeneği etkin olacaktır. Bununla birlikte, ikinci
2421 <directive>Options</directive> yönergesinde <code>+</code> ve
2422 <code>-</code> imleri kullanılırsa,</p>
2425 <Directory /web/docs><br />
2427 Options Indexes FollowSymLinks<br />
2429 </Directory><br />
2431 <Directory /web/docs/spec><br />
2433 Options +Includes -Indexes<br />
2438 <p>yapılandırmasıyla <code>/web/docs/spec</code> dizininde
2439 <code>FollowSymLinks</code> ve <code>Includes</code> seçenekleri etkin
2442 <note><title>Ek Bilgi</title>
2443 <p><code>-IncludesNOEXEC</code> veya <code>-Includes</code> kullanımı,
2444 önceki ayarların ne olduğuna bakılmaksızın sunucu taraflı içeriğin
2445 tamamen iptaline sebep olur.</p>
2448 <p>Herhangi bir başka değer belirtilmedikçe <code>All</code>
2451 </directivesynopsis>
2454 <name>RLimitCPU</name>
2455 <description>Apache alt süreçleri tarafından çalıştırılan süreçlerin işlemci
2456 tüketimine sınırlama getirir.</description>
2457 <syntax>RLimitCPU <var>saniye</var>|max [<var>saniye</var>|max]</syntax>
2458 <default>Bir değer belirtilmemiştir; işletim sistemi öntanımlıları kullanılır
2460 <contextlist><context>server config</context><context>virtual host</context>
2461 <context>directory</context><context>.htaccess</context></contextlist>
2462 <override>All</override>
2465 <p>1 veya 2 değer alır. İlk değer bütün süreçler için sanal özkaynak
2466 sınırını, ikinci değer ise kesin özkaynak sınırını belirler. İki değer de
2467 birer sayı olabileceği gibi bu sınırın işletim sistemi yapılandırmasında
2468 izin verilen üst sınıra ayarlanacağını belirtmek üzere <code>max</code>
2469 olabilir. Kesin özkaynak sınırını yükseltmek için sunucunun
2470 <code>root</code> olarak veya sistem açılışı sırasında çalıştırılması
2473 <p>Bu sınırlar Apache’nin kendi alt süreçlerine değil, isteklere yanıt
2474 verirken Apache alt süreçlerinin çatalladıkları süreçlere uygulanır.
2475 Bunlar CGI betikleri ve SSI çalıştırma komutları olabilir fakat borulu
2476 günlük kaydı gibi ana Apache süreci tarafından çatallanmış süreçler
2479 <p>İşlemci özkaynak sınırları saniye cinsinden ifade edilir.</p>
2481 <seealso><directive module="core">RLimitMEM</directive></seealso>
2482 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2483 </directivesynopsis>
2486 <name>RLimitMEM</name>
2487 <description>Apache alt süreçleri tarafından çalıştırılan süreçlerin bellek
2488 tüketimine sınırlama getirir.</description>
2489 <syntax>RLimitMEM <var>bayt-sayısı</var>|max [<var>bayt-sayısı</var>|max]
2491 <default>Bir değer belirtilmemiştir; işletim sistemi öntanımlıları kullanılır
2493 <contextlist><context>server config</context><context>virtual host</context>
2494 <context>directory</context><context>.htaccess</context></contextlist>
2495 <override>All</override>
2498 <p>1 veya 2 değer alır. İlk değer bütün süreçler için sanal özkaynak
2499 sınırını, ikinci değer ise kesin özkaynak sınırını belirler. İki değer de
2500 birer sayı olabileceği gibi bu sınırın işletim sistemi yapılandırmasında
2501 izin verilen üst sınıra ayarlanacağını belirtmek üzere <code>max</code>
2502 olabilir. Kesin özkaynak sınırını yükseltmek için sunucunun
2503 <code>root</code> olarak veya sistem açılışı sırasında çalıştırılması
2506 <p>Bu sınırlar Apache’nin kendi alt süreçlerine değil, isteklere yanıt
2507 verirken Apache alt süreçlerinin çatalladıkları süreçlere uygulanır.
2508 Bunlar CGI betikleri ve SSI çalıştırma komutları olabilir fakat borulu
2509 günlük kaydı gibi ana Apache süreci tarafından çatallanmış süreçler
2512 <p>Bellek özkaynak sınırları süreç başına bayt sayısı olarak ifade edilir.
2515 <seealso><directive module="core">RLimitCPU</directive></seealso>
2516 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2517 </directivesynopsis>
2520 <name>RLimitNPROC</name>
2521 <description>Apache alt süreçleri tarafından çalıştırılabilecek süreç sayısına
2522 sınırlama getirir.</description>
2523 <syntax>RLimitNPROC <var>sayı</var>|max [<var>sayı</var>|max]</syntax>
2524 <default>Bir değer belirtilmemiştir; işletim sistemi öntanımlıları kullanılır
2526 <contextlist><context>server config</context><context>virtual host</context>
2527 <context>directory</context><context>.htaccess</context></contextlist>
2528 <override>All</override>
2531 <p>1 veya 2 değer alır. İlk değer bütün süreçler için sanal özkaynak
2532 sınırını, ikinci değer ise kesin özkaynak sınırını belirler. İki değer de
2533 birer sayı olabileceği gibi bu sınırın işletim sistemi yapılandırmasında
2534 izin verilen üst sınıra ayarlanacağını belirtmek üzere <code>max</code>
2535 olabilir. Kesin özkaynak sınırını yükseltmek için sunucunun
2536 <code>root</code> olarak veya sistem açılışı sırasında çalıştırılması
2539 <p>Bu sınırlar Apache’nin kendi alt süreçlerine değil, isteklere yanıt
2540 verirken Apache alt süreçlerinin çatalladıkları süreçlere uygulanır.
2541 Bunlar CGI betikleri ve SSI çalıştırma komutları olabilir fakat borulu
2542 günlük kaydı gibi ana Apache süreci tarafından çatallanmış süreçler
2545 <p>Süreç sayısı sınırı kullanıcı başına süreç sayısına sınırlama getirir.
2548 <note><title>Ek Bilgi</title>
2549 <p>CGI süreçleri sunucu kullanıcı kimliğinden farklı bir kullanıcı
2550 kimliği altında çalışmıyorsa bu yönerge sunucunun kendi oluşturduğu
2551 süreç sayısını sınırlayacaktır. Bunun kanıtı <code>error_log</code>’da
2552 iletilerin çatallanamamasıdır.</p>
2555 <seealso><directive module="core">RLimitMEM</directive></seealso>
2556 <seealso><directive module="core">RLimitCPU</directive></seealso>
2557 </directivesynopsis>
2560 <name>ScriptInterpreterSource</name>
2561 <description>CGI betikleri için yorumlayıcı belirleme tekniği</description>
2562 <syntax>ScriptInterpreterSource Registry|Registry-Strict|Script</syntax>
2563 <default>ScriptInterpreterSource Script</default>
2564 <contextlist><context>server config</context><context>virtual host</context>
2565 <context>directory</context><context>.htaccess</context></contextlist>
2566 <override>FileInfo</override>
2567 <compatibility>Sadece Win32 için; <code>Registry-Strict</code> seçeneği Apache
2568 2.0 ve sonrası için geçerlidir.</compatibility>
2571 <p>Bu yönerge Apache’nin CGI betiklerini çalıştıracak yorumlayıcıyı nasıl
2572 tespit edeceğini belirler. <code>Script</code> öntanımlı olup Apache’nin
2573 yorumlayıcı olarak betiğin diyezli ünlem satırında (<code>#!</code> ile
2574 başlayan ilk satır) belirtilen yorumlayıcıyı kullanacağını belirtir.
2575 Win32 sistemlerinde bu satır genellikle şöyledir:</p>
2578 #!C:/Perl/bin/perl.exe
2581 <p><code>perl</code> yorumlayıcının yeri <code>PATH</code> değişkeninde
2582 kayıtlı ise şöyle de olabilir:</p>
2588 <p><code>ScriptInterpreterSource Registry</code> değeri ise betik dosyası
2589 uzantısının (<code>.pl</code> gibi) Windows Sicili içindeki
2590 <code>HKEY_CLASSES_ROOT</code> ağacında arama yapmak için bir arama
2591 anahtarı olarak kullanılmasını sağlar. Betik dosyasını çalıştırmak için
2592 tanımlanmış komutu bulmak için <code>Shell\ExecCGI\Command</code> yoluna,
2593 orada yoksa <code>Shell\Open\Command</code> yoluna bakılır. İkisi de
2594 yoksa son çare olarak <code>Script</code> seçeneğinin davranışına
2597 <note type="warning"><title>Güvenlik</title>
2598 <p><directive module="mod_alias">ScriptAlias</directive>’lı dizinlerde
2599 Apache bulduğu <strong>her</strong> dosyayı çalıştırmayı deneyeceğinden
2600 <code>ScriptInterpreterSource Registry</code> yapılandırmasını
2601 kullanırken dikkatli olun. <code>Registry</code> seçeneği genellikle
2602 çalıştırılmayacak dosyalar için istenmeyen program çağrılarına sebep
2603 olabilir. Örneğin, çoğu Windows sisteminde <code>.htm</code> dosyaları
2604 için ön tanımlı "open" komutu Microsoft Internet Explorer’ın
2605 çalıştırılmasına sebep olur; bu bakımdan, betik dizininde bulunan bir
2606 <code>.htm</code> dosyası için yapılan bir HTTP isteği tarayıcının sunucu
2607 artalanında çalıştırılmasına sebep olacaktır. Bu, sistemi bir kaç dakika
2608 içinde çökertmek için iyi bir yoldur.</p>
2611 <p><code>Registry-Strict</code> seçeneği Apache 2.0’da yeni olup
2612 <code>Registry</code> seçeneğinin yaptığını
2613 <code>Shell\ExecCGI\Command</code> yolu için yapar. <code>ExecCGI</code>
2614 sistem tarafından bilinen bir anahtar olmadığından Windows Siciline elle
2615 kaydedilmesi gerekir ve dolayısıyla sisteminiz üzerinde istenmeyen
2616 program çağrılarına sebep olmaz.</p>
2618 </directivesynopsis>
2621 <name>ServerAdmin</name>
2622 <description>Sunucunun hata iletilerinde istemciye göstereceği eposta adresi
2624 <syntax>ServerAdmin <var>eposta-adresi</var>|<var>URL</var></syntax>
2625 <contextlist><context>server config</context><context>virtual host</context>
2629 <p><directive>ServerAdmin</directive> yönergesi, sunucunun bir hata
2630 durumunda istemciye döndüreceği hata iletilerinde içereceği iletişim
2631 adresini belirtmek için kullanılır. Eğer <program>httpd</program>
2632 sağlanan değerin bir URL olmadığını saptarsa değerin bir eposta adresi
2633 olduğuna hükmeder ve önüne <code>mailto:</code> getirerek onu bir hiper
2634 bağ hedefi olarak kullanır. Çoğu CGI betiği bir eposta adresi
2635 belirtildiği kabulünü yaptığından değer olarak bir URL değil bir eposta
2636 adresi belirtmeniz önerilir. Eğer bir URL belirtecekseniz hedef sizin
2637 denetiminizde olan başka bir sunucuda bulunmalıdır, yoksa kullanıcılar
2638 hata durumunda bu adrese erişemeyebilirler.</p>
2640 <p>Kullanıcıların sunucu hakkında konuşurken isminizden bahsetmemeleri için
2641 burada belirtilecek adresin sırf bu işe adanmış bir adres olması daha
2645 ServerAdmin www-admin@falan.filan.dom
2648 </directivesynopsis>
2651 <name>ServerAlias</name>
2652 <description>İstekleri isme dayalı sanal konaklarla eşleştirilirken
2653 kullanılacak konak adları için başka isimler belirtebilmeyi sağlar.
2655 <syntax>ServerAlias <var>konakadı</var> [<var>konakadı</var>] ...</syntax>
2656 <contextlist><context>virtual host</context></contextlist>
2659 <p><directive>ServerAlias</directive> yönergesi, istekleri <a
2660 href="../vhosts/name-based.html">isme dayalı sanal konaklarla</a>
2661 eşleştirilirken kullanılacak konak adları için başka isimler
2662 belirtebilmeyi sağlar. <directive>ServerAlias</directive> dosya adı kalıp
2663 karakterleri içerebilir.</p>
2666 <VirtualHost *:80><br />
2667 ServerName sunucu.mesela.dom<br />
2668 ServerAlias sunucu sunucu2.mesela.dom sunucu2<br />
2669 ServerAlias *.mesela.dom<br />
2671 </VirtualHost>
2674 <seealso><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></seealso>
2675 </directivesynopsis>
2678 <name>ServerName</name>
2679 <description>Sunucunun özdeşleşeceği konak ismi ve port.</description>
2680 <syntax>ServerName [<var>şema</var>://]<var>tam-nitelenmiş-alan-adı</var>[:<var>port</var>]
2682 <contextlist><context>server config</context><context>virtual host</context>
2684 <compatibility>Bu yönerge 2.0 sürümünden itibaren 1.3 sürümündeki
2685 <directive>Port</directive> yönergesinin işlevselliğini de
2686 üstlenmiştir.</compatibility>
2689 <p><directive>ServerName</directive> yönergesi, sunucunun kendini
2690 betimlemekte kullanacağı şema, konak adı ve port değerlerini belirler.
2691 Bu, yönlendirme URL’leri oluşturulurken kullanılır. Örneğin, HTTP
2692 sunucusunun barındırıldığı makinenin ismi <code>falan.filan.dom</code>
2693 olduğu halde makinenin bir de <code>www.filan.dom</code> diye bir de DNS
2694 rumuzu varsa ve HTTP sunucunuzun bu rumuzla kendini özdeşleştirmesini
2695 isterseniz bunu şöyle belirtebilirsiniz:</p>
2698 ServerName www.filan.dom:80
2701 <p>Bir <directive>ServerName</directive> ataması yapılmamışsa sunucu IP
2702 adresine atanmış sunucu ismi için bir ters DNS sorgusu yapacaktır.
2703 <directive>ServerName</directive> yönergesinde bir port belirtilmediği
2704 takdirde sunucu, isteğin geldiği portu kullanacaktır. Öngörülebilirlik ve
2705 güvenilirlik açısından en iyisi <directive>ServerName</directive>
2706 yönergesini kullanarak açıkça bir konak ismi ve port belirtmektir.</p>
2708 <p><a href="../vhosts/name-based.html">İsme dayalı sanal konaklar</a>
2709 kullanıyorsanız, <directive type="section" module="core"
2710 >VirtualHost</directive> bölümü içindeki
2711 <directive>ServerName</directive> yönergesi, isteğin <code>Host:</code>
2712 başlığında bu sanal konakla eşleşecek konak ismini belirler.</p>
2715 <p>Bazen sunucu, bir ters vekil, yük dengeleyici veya SSL yük aktarım
2716 uygulaması gibi bir aygıtın arkasında çalışır. Böyle durumlarda sunucunun
2717 kendine yönelik URL’leri doğru üretebildiğinden emin olmak için
2718 <directive>ServerName</directive> yönergesinde istemcinin bağlanacağı
2719 <code>https://</code> şeması ve port numarası belirtilir.</p>
2721 <p>Sunucunun kendine yönelik URL’lerin belirtilen portu içerip içermediğini
2722 veya istemcinin yaptığı istekte belirtilen port numarasının verilip
2723 verilmediğinin saptamasını sağlayan (örneğin, <module>mod_dir</module>
2724 modülü tarafından) ayarlar için <directive
2725 module="core">UseCanonicalName</directive> ve
2726 <directive module="core">UseCanonicalPhysicalPort</directive>
2727 yönergelerinin açıklamalarına bakınız.</p>
2731 <seealso><a href="../dns-caveats.html">DNS ile ilgili konular ve Apache</a>
2733 <seealso><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></seealso>
2734 <seealso><directive module="core">UseCanonicalName</directive></seealso>
2735 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
2736 <seealso><directive module="core">NameVirtualHost</directive></seealso>
2737 <seealso><directive module="core">ServerAlias</directive></seealso>
2738 </directivesynopsis>
2741 <name>ServerPath</name>
2742 <description>Uyumsuz bir tarayıcı tarafından erişilmesi için bir isme dayalı sanal konak için meşru URL yolu</description>
2743 <syntax>ServerPath <var>URL-yolu</var></syntax>
2744 <contextlist><context>virtual host</context></contextlist>
2747 <p><directive>ServerPath</directive> yönergesi <a href="../vhosts/">isme
2748 dayalı sanal konaklar</a>da kullanmak için konağa meşru bir URL yolu
2751 <seealso><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></seealso>
2752 </directivesynopsis>
2755 <name>ServerRoot</name>
2756 <description>Sunucu yapılandırması için kök dizin</description>
2757 <syntax>ServerRoot <var>dizin-yolu</var></syntax>
2758 <default>ServerRoot /usr/local/apache</default>
2759 <contextlist><context>server config</context></contextlist>
2762 <p><directive>ServerRoot</directive> yönergesi sunucu yapılandırmasını
2763 içeren dizinin yerini belirtir. Genellikle <code>conf/</code> ve
2764 <code>logs/</code> gibi alt dizinler içerir. <directive
2765 module="core">Include</directive>, <directive
2766 module="mod_so">LoadModule</directive> gibi diğer yapılandırma
2767 yönergelerindeki göreli yollar bu dizine göre ele alınır.</p>
2769 <example><title>Örnek</title>
2770 ServerRoot /home/httpd
2774 <seealso><a href="../invoking.html"><code>httpd</code> için <code>-d</code> seçeneği</a></seealso>
2775 <seealso><directive>ServerRoot</directive> dizininin erişim izinlerinin nasıl
2776 ayarlanması gerektiğini öğrenmek için <a
2777 href="../misc/security_tips.html#serverroot">güvenlik ipuçları</a></seealso>
2778 </directivesynopsis>
2781 <name>ServerSignature</name>
2782 <description>Sunucu tarafından üretilen belgelerin dipnotunu ayarlar.
2784 <syntax>ServerSignature On|Off|EMail</syntax>
2785 <default>ServerSignature Off</default>
2786 <contextlist><context>server config</context><context>virtual host</context>
2787 <context>directory</context><context>.htaccess</context>
2789 <override>All</override>
2792 <p><directive>ServerSignature</directive> yönergesi, sunucu tarafından
2793 üretilen belgelerin (hata iletileri, <module>mod_proxy</module> ftp dizin
2794 listeleri, <module>mod_info</module> çıktısı, vs.) altındaki dipnot
2795 satırını yapılandırabilmenizi sağlar. Böyle bir dipnot satırın
2796 istenmesinin sebebi vekil zincirlerinde istemciye dönen hata iletisinin
2797 aslında hangi sunucu tarafından üretildiğini kullanıcıya bildirmektir.</p>
2799 <p><code>Off</code> değeri öntanımlı değer olup dipnot satırının
2800 gösterilmemesini sağlar (Apache-1.2 ve öncesi ile uyumluluk).
2801 <code>On</code> değeri, sunucu sürüm numarası ve hizmeti sunan sanal
2802 konağın isminden (<directive module="core">ServerName</directive>) oluşan
2803 bir dipnot satırı oluşturulmasını sağlar; <code>EMail</code> değeri bu
2804 ikisine ek olarak satıra <directive module="core">ServerAdmin</directive>
2805 ile belirtilen adres için bir "mailto:" bağı ekler.</p>
2807 <p>2.0.44 sürümünden beri sunucu sürüm numarasının ayrıntıları <directive
2808 module="core">ServerTokens</directive> yönergesi ile belirlenmektedir.</p>
2810 <seealso><directive module="core">ServerTokens</directive></seealso>
2811 </directivesynopsis>
2814 <name>ServerTokens</name>
2815 <description><code>Server</code> HTTP yanıt başlığını yapılandırır.
2817 <syntax>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</syntax>
2818 <default>ServerTokens Full</default>
2819 <contextlist><context>server config</context></contextlist>
2822 <p>Bu yönerge <code>Server</code> HTTP yanıt başlığı alanında istemcilere
2823 sunucunun işletim sistemi, sunucuyla derlenmiş modüller, vs. hakkında
2824 bilgi verilip verilmeyeceğini belirler.</p>
2827 <dt><code>ServerTokens Full</code> (veya belirtilmezse)</dt>
2828 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: Apache/2.0.41
2829 (Unix) PHP/4.2.2 MyMod/1.2</code></dd>
2831 <dt><code>ServerTokens Prod[uctOnly]</code></dt>
2832 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server:
2835 <dt><code>ServerTokens Major</code></dt>
2836 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server:
2837 Apache/2</code></dd>
2839 <dt><code>ServerTokens Minor</code></dt>
2840 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server:
2841 Apache/2.0</code></dd>
2843 <dt><code>ServerTokens Min[imal]</code></dt>
2844 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server:
2845 Apache/2.0.41</code></dd>
2847 <dt><code>ServerTokens OS</code></dt>
2848 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: Apache/2.0.41
2853 <p>Bu ayarlama sunucunun tamamını etkiler ve her sanal konak için
2854 farklılaştırılamaz.</p>
2856 <p>2.0.44 sürümünden itibaren bu yönerge <directive
2857 module="core">ServerSignature</directive> yönergesi tarafından sunulan
2858 bilgiyi de etkilemektedir.</p>
2860 <note><directive>ServerTokens</directive> yönergesinde
2861 <code>minimal</code>'den azının belirtilmesi önerilmez. Bunun sebebi ara
2862 işlemlerle ilgili hata ayıklamasını zorlaştırmasıdır. Ayrıca,
2863 <code>Server:</code> başlığının iptal edilmesinin sunucunuzu daha güvenli
2864 yapmayacağına dikkat ediniz; "çapraşıklıkla sağlanan güvenlik" düşüncesi
2865 gerçekle bağdaşmaz ve güvenliği olumsuz etkiler.</note>
2868 <seealso><directive module="core">ServerSignature</directive></seealso>
2869 </directivesynopsis>
2872 <name>SetHandler</name>
2873 <description>Eşleşen tüm dosyaların belli bir eylemci tarafından işlenmesine
2874 sebep olur.</description>
2875 <syntax>SetHandler <var>eylemci-ismi</var>|None</syntax>
2876 <contextlist><context>server config</context><context>virtual host</context>
2877 <context>directory</context><context>.htaccess</context>
2879 <override>FileInfo</override>
2880 <compatibility>Apache 2.0’da core modülüne taşındı.</compatibility>
2883 <p>Bir <code>.htaccess</code> dosyasına veya bir <directive type="section"
2884 module="core">Directory</directive> ya da <directive type="section"
2885 module="core">Location</directive> bölümüne yerleştirildiğinde, eşleşen
2886 tüm dosyaların, ismi <var>eylemci-ismi</var> ile belirtilen <a
2887 href="../handler.html">eylemci</a> tarafından çözümlenmesine sebep olur.
2888 Örneğin, bir dizin içindeki bütün dosyaların, uzantılarına bakılmaksızın
2889 birer imagemap kural dosyası olarak çözümlenmesini istersiniz, bu dizin
2890 içindeki bir <code>.htaccess</code> dosyasına şöyle bir satır
2894 SetHandler imap-file
2897 <p>Başka bir örnek: <code>http://localhost/status</code> gibi bir istek
2898 yapıldığında sunucunun bir durum bilgisi göstermesi için
2899 <code>httpd.conf</code> dosyasına şöyle bir satır koyabilirsiniz:</p>
2902 <Location /status><br />
2904 SetHandler server-status<br />
2909 <p>Evvelce tanımlanmış bir <directive>SetHandler</directive> yönergesini
2910 <code>None</code> değeriyle geçersiz hale getirebilirsiniz.</p>
2912 <p><strong>Bilginize:</strong><directive>SetHandler</directive> yönergesi,
2913 öntanımlı eylemcileri geçersiz kıldığından, index dosyaları ve dizinleri
2914 belirtmek için URL’nin sonuna / getirmek şeklindeki normal davranış
2918 <seealso><directive module="mod_mime">AddHandler</directive></seealso>
2920 </directivesynopsis>
2923 <name>SetInputFilter</name>
2924 <description>POST girdilerini ve istemci isteklerini işleyecek süzgeçleri
2925 belirler.</description>
2926 <syntax>SetInputFilter <var>süzgeç</var>[;<var>süzgeç</var>...]</syntax>
2927 <contextlist><context>server config</context><context>virtual host</context>
2928 <context>directory</context><context>.htaccess</context>
2930 <override>FileInfo</override>
2933 <p><directive>SetInputFilter</directive> yönergesi, istemci isteklerini
2934 ve sunucu tarafından alındığı takdirde POST girdisini işleyecek süzgeç
2935 veya süzgeçleri belirler. Bu, diğer <directive module="mod_mime"
2936 >AddInputFilter</directive> yönergeleri dahil evvelce tanımlanmış
2937 süzgeçlere eklenir.</p>
2939 <p>Birden fazla süzgeç belirtilmek istenirse birbirlerinden noktalı
2940 virgüllerle ayrılmalı ve çıktıyı işleyecekleri sıraya uygun olarak
2941 sıralanmalıdırlar.</p>
2943 <seealso><a href="../filter.html">Süzgeçler</a> belgesi</seealso>
2944 </directivesynopsis>
2947 <name>SetOutputFilter</name>
2948 <description>Sunucunun yanıtlarını işleyecek süzgeçleri belirler.</description>
2949 <syntax>SetOutputFilter <var>süzgeç</var>[;<var>süzgeç</var>...]</syntax>
2950 <contextlist><context>server config</context><context>virtual host</context>
2951 <context>directory</context><context>.htaccess</context>
2953 <override>FileInfo</override>
2956 <p><directive>SetOutputFilter</directive> yönergesi, istemciye
2957 gönderilmeden önce sunucunun yanıtlarını işleyecek süzgeçleri belirler.
2958 Bu, diğer <directive module="mod_mime">AddOutputFilter</directive>
2959 yönergeleri dahil evvelce tanımlanmış süzgeçlere eklenir.</p>
2961 <p>Örneğin, aşağıdaki yapılandırma ile <code>/www/data/</code> dizinindeki
2962 bütün dosyalar sunucu taraflı içerik kapsamında ele alınacaktır.</p>
2965 <Directory /www/data/><br />
2967 SetOutputFilter INCLUDES<br />
2972 <p>Birden fazla süzgeç belirtilmek istenirse birbirlerinden noktalı
2973 virgüllerle ayrılmalı ve çıktıyı işleyecekleri sıraya uygun olarak
2974 sıralanmalıdırlar.</p>
2976 <seealso><a href="../filter.html">Süzgeçler</a> belgesi</seealso>
2977 </directivesynopsis>
2980 <name>TimeOut</name>
2981 <description>Bir istek için başarısız olmadan önce belirli olayların
2982 gerçekleşmesi için sunucunun geçmesini bekleyeceği süre.</description>
2983 <syntax>TimeOut <var>saniye</var></syntax>
2984 <default>TimeOut 300</default>
2985 <contextlist><context>server config</context><context>virtual host</context>
2989 <p><directive>TimeOut</directive> yönergesi Apache’nin aşağıdaki durumlarda
2990 G/Ç için bekleyeceği süreyi belirler:</p>
2993 <li>Veriyi istemciden okurken, okuma tamponu boş olduğu takdirde bir TCP
2994 paketinin gelmesini bekleyeceği süre.</li>
2996 <li>Veriyi istemciye yazarken, gönderme tamponu dolu olduğu takdirde bir
2997 paket alındısı için beklenecek süre.</li>
2999 <li><module>mod_cgi</module> modülünde, bir CGI betiğinden çıktı için
3000 beklenecek süre.</li>
3002 <li><module>mod_ext_filter</module> modülünde, bir süzme işleminden çıktı
3003 almak için beklenecek süre.</li>
3005 <li><module>mod_proxy</module> modülünde, <directive
3006 module="mod_proxy">ProxyTimeout</directive> yönergesi
3007 yapılandırılmamışsa öntanımlı zaman aşımı değeri.</li>
3011 </directivesynopsis>
3014 <name>TraceEnable</name>
3015 <description><code>TRACE</code> isteklerinde davranış şeklini belirler
3017 <syntax>TraceEnable <var>[on|off|extended]</var></syntax>
3018 <default>TraceEnable on</default>
3019 <contextlist><context>server config</context></contextlist>
3020 <compatibility>Apache 1.3.34, 2.0.55 ve sonrasında mevcuttur.</compatibility>
3023 <p>Bu yönerge çekirdek ve vekil (<module>mod_proxy</module>) sunucuların
3024 her ikisi için öntanımlı <code>TRACE</code> davranışını değiştirir.
3025 Öntanımlı olan <code>TraceEnable on</code> ile RFC 2616’dan kaynaklanan
3026 ve isteğe herhangi bir istek gövdesinin eşlik etmesine izin vermeyen
3027 <code>TRACE</code> isteklerine izin verilir. <code>TraceEnable off</code>
3028 ile çekirdek ve vekil (<module>mod_proxy</module>) sunucuların her ikisi
3029 de <code>TRACE</code> isteklerine yanıt olarak bir <code>405</code>
3030 (Yönteme izin verilmiyor) hatası döndürür.</p>
3032 <p><code>TraceEnable extended</code> ile sadece sınama ve tanı koyma
3033 amaçlarına yönelik olarak istek gövdelerine izin verilir. Asıl sunucu
3034 istek gövdesini 64k ile sınırlar (<code>Transfer-Encoding: chunked</code>
3035 kullanılmışsa bölüm başlıkları için 8k daha). Asıl sunucu yanıt
3036 gövdesinde tüm başlıkları ve bölüm başlıklarının tamamını yansıtacaktır.
3037 Vekil sunucuda ise istek gövdesi için 64k’lık sınır yoktur.</p>
3039 </directivesynopsis>
3042 <name>UseCanonicalName</name>
3043 <description>Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar
3045 <syntax>UseCanonicalName On|Off|DNS</syntax>
3046 <default>UseCanonicalName Off</default>
3047 <contextlist><context>server config</context><context>virtual host</context>
3048 <context>directory</context></contextlist>
3051 <p>Apache‘nin çoğu durumda özüne yönelik URL‘ler (isteğin tekrar aynı
3052 sunucuya yapıldığı bir URL türü) oluşturması gerekir.
3053 <code>UseCanonicalName On</code> ile Apache, sunucu için meşru ismi ve
3054 portu oluşturmak için <directive module="core">ServerName</directive>
3055 yönergesinde belirtilen ismi ve portu kullanır. Bu isim CGI'lerde
3056 <code>SERVER_NAME</code> ve <code>SERVER_PORT</code> değerlerinde ve tüm
3057 özüne yönelik URL’lerde kullanılır.</p>
3059 <p><code>UseCanonicalName Off</code> ile Apache, özüne yönelik URL’leri
3060 varsa istemci tarafından sağlanan konak ismini ve portu kullanarak
3061 oluşturur; bunlar istemci tarafından sağlanmamışsa yukarıda tanımlanan
3062 işleme başvurulur. Bu değerler, <a href="../vhosts/name-based.html">isme
3063 dayalı sanal konakları</a> gerçekleştirirken kullanılan değerlerle aynı
3064 olup aynı istemcilerle kullanılabilir. <code>SERVER_NAME</code> ve
3065 <code>SERVER_PORT</code> CGI değişkenleri de istemci tarafından sağlanan
3066 isim ve portla oluşturulur.</p>
3068 <p>Bir örnek olarak, iç ağdaki istemcilerin sunucuya <code>www</code> gibi
3069 bir kısa isim kullanarak bağlandığı durumu ele alırsak daha yararlı olur.
3070 Kullanıcılar bir kısa isim ve bir dizin isminden oluşan ve <em>bir / ile
3071 sonlandırılmamış</em> <code>http://www/splat</code> şeklinde bir istek
3072 yaparlarsa, Apache onları <code>http://www.mesela.dom/splat/</code>
3073 adresine yönlendirecektir. Eğer kimlik doğrulama da etkinse bu
3074 kullanıcının iki defa kimlik doğrulamasına sokulmasına sebep olacaktır
3075 (bir kere <code>www</code> için bir kere de <code>www.mesela.dom</code>
3076 için; daha ayrıntılı bilgi için <a
3077 href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">SSS</a>’y
3078 e bakınız). Fakat <directive>UseCanonicalName Off</directive> olsaydı
3079 Apache isteği <code>http://www/splat/</code> adresine yönlendirecekti.</p>
3081 <p><code>UseCanonicalName DNS</code> diye üçüncü bir seçenek daha vardır ve
3082 istek yaparken <code>Host:</code> başlığını kullanmayan eski istemcileri
3083 desteklemek amacıyla IP’ye dayalı sanal konaklarla kullanmak için
3084 tasarlanmıştır. Bu seçenek etkin olduğunda Apache, istemciyi özüne
3085 yönelik URL’lerle doğru yere bağlamak için sunucu IP adresi üzerinde bir
3086 ters DNS sorgusu yapar.</p>
3088 <note type="warning"><title>Uyarı</title>
3089 <p>Eğer CGI’ler <code>SERVER_NAME</code> değerleri için önkabuller
3090 yapıyorlarsa bu seçenek işlerinin bozulmasına yol açabilir. Aslında
3091 istemciler konak ismi olarak istedikleri değeri vermekte özgürdürler.
3092 Fakat eğer CGI, özüne yönelik URL’leri oluştururken sadece
3093 <code>SERVER_NAME</code> değerini kullanıyorsa bu istendiği gibi
3097 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
3098 <seealso><directive module="core">ServerName</directive></seealso>
3099 <seealso><directive module="mpm_common">Listen</directive></seealso>
3100 </directivesynopsis>
3103 <name>UseCanonicalPhysicalPort</name>
3104 <description>Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar
3106 <syntax>UseCanonicalPhysicalPort On|Off</syntax>
3107 <default>UseCanonicalPhysicalPort Off</default>
3108 <contextlist><context>server config</context><context>virtual host</context>
3109 <context>directory</context></contextlist>
3112 <p>Apache‘nin çoğu durumda özüne yönelik URL‘ler (isteğin tekrar aynı
3113 sunucuya yapıldığı bir URL türü) oluşturması gerekir. Apache <directive
3114 module="core">UseCanonicalName</directive> yönergesine bağlı olarak
3115 sunucu için meşru portu oluştururken <code>UseCanonicalPhysicalPort
3116 On</code> ile olası port olarak istek tarafından kullanılmakta olan
3117 fiziksel portu kullanacaktır. <code>UseCanonicalPhysicalPort Off</code>
3118 olduğunda ise geçerli bir port numarası oluşturmak için asıl fiziksel
3119 port yerine yapılandırma bilgisi kullanılır.</p>
3121 <note><title>Ek Bilgi</title>
3122 <p>Fiziksel port kullanımı etkin olduğunda işlemler şu sırayla
3123 yürütülür:<br /><br />
3124 <code>UseCanonicalName On</code></p>
3126 <li><code>Servername</code> yönergesinde belirtilen port</li>
3127 <li>Fiziksel port</li>
3128 <li>Öntanımlı port</li>
3130 <code>UseCanonicalName Off | DNS</code>
3132 <li><code>Host:</code> başlığından çözümlenen port</li>
3133 <li>Fiziksel port</li>
3134 <li><code>Servername</code> yönergesinde belirtilen port</li>
3135 <li>Öntanımlı port</li>
3138 <p><code>UseCanonicalPhysicalPort Off</code> olduğunda işlem sırasında
3139 fiziksel port adımları atlanır.</p>
3143 <seealso><directive module="core">UseCanonicalName</directive></seealso>
3144 <seealso><directive module="core">ServerName</directive></seealso>
3145 <seealso><directive module="mpm_common">Listen</directive></seealso>
3146 </directivesynopsis>
3148 <directivesynopsis type="section">
3149 <name>VirtualHost</name>
3150 <description>Sadece belli bir konak ismine ve porta uygulanacak yönergeleri barındırır.</description>
3151 <syntax><VirtualHost
3152 <var>adres</var>[:<var>port</var>] [<var>adres</var>[:<var>port</var>]]
3153 ...> ... </VirtualHost></syntax>
3154 <contextlist><context>server config</context></contextlist>
3157 <p><directive type="section">VirtualHost</directive> ve
3158 <code></VirtualHost></code> birlikte sadece belli bir sanal konağa
3159 uygulanacak yönergeleri sarmalamakta kullanılırlar. Bir sanal konak
3160 kapsamında belirtilebilecek her yönerge kullanılabilir. Sunucu belli bir
3161 sanal konak üzerindeki bir belge için bir istek aldığında <directive
3162 type="section">VirtualHost</directive> bölümünde bulunan yapılandırma
3163 yönergelerini kullanır. <var>adres</var> şunlardan biri olabilir:</p>
3166 <li>Sanal konağın IP adresi.</li>
3168 <li>Sanal konağın IP adresi için tam nitelenmiş alan adı (önerilmez).</li>
3170 <li><code>NameVirtualHost *</code> ile birlikte tüm IP adresleri ile
3171 eşleşmek üzere <code>*</code> karakteri.</li>
3173 <li>Sadece IP sanal konaklarında kullanmak için eşleşmeyen IP adreslerini
3174 yakalamak amacıyla <code>_default_</code> dizgesi.</li>
3177 <example><title>Örnek</title>
3178 <VirtualHost 10.1.2.3><br />
3180 ServerAdmin webmaster@konak.mesela.dom<br />
3181 DocumentRoot /www/docs/konak.mesela.dom<br />
3182 ServerName konak.mesela.dom<br />
3183 ErrorLog logs/konak.mesela.dom-error_log<br />
3184 TransferLog logs/konak.mesela.dom-access_log<br />
3186 </VirtualHost>
3190 <p>İsteğe bağlı port numarasını belirtmeyi mümkün kılmak için IPv6
3191 adresleri köşeli ayraç içine alınır. IPv6 adresi kullanılan bir örnek:</p>
3194 <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br />
3196 ServerAdmin webmaster@konak.mesela.dom<br />
3197 DocumentRoot /www/docs/konak.mesela.dom<br />
3198 ServerName konak.mesela.dom<br />
3199 ErrorLog logs/konak.mesela.dom-error_log<br />
3200 TransferLog logs/konak.mesela.dom-access_log<br />
3202 </VirtualHost>
3205 <p>Her sanal konağın ya farklı bir IP adresi ve port ile ya da farklı bir
3206 konak ismiyle eşleşmesi gerekir. Birinci durumda sunucu makinesinin çok
3207 sayıda adresten IP paketleri kabul edecek şekilde yapılandırılması
3208 gerekir. (Eğer makinede çok sayıda ağ arabirimi yoksa bu, işletim sistemi
3209 desteklediği takdirde <code>ifconfig alias</code> komutuyla
3212 <note><title>Ek Bilgi</title>
3213 <p><directive type="section">VirtualHost</directive> kullanımı Apache’nin
3214 dinleyeceği adresler üzerinde belirleyici değildir. Apache’nin doğru
3215 adresi dinlediğinden emin olmak için <directive
3216 module="mpm_common">Listen</directive> kullanmanız gerekebilir.</p>
3219 <p>IP’ye dayalı sanal konakları kullanıyorsanız, diğer sanal konaklarda
3220 açıkça belirtilmemiş bir IP adresiyle eşleşecek sanal konağı
3221 <code>_default_</code> özel ismiyle belirtebilirsiniz. "Ana" sunucu
3222 yapılandırmasında <code>_default_</code> diye bir sanal konağın
3223 bulunmaması halinde, hiçbir IP adresi eşleşmesi bulunamadığı takdirde
3224 <directive type="section">VirtualHost</directive> bölümleri dışında
3225 kalan tüm yapılandırmalar bu amaca yönelik olarak kullanılır.</p>
3227 <p>Eşleşilecek portu değiştirmek için bir <code>:port</code>
3228 belirtebilirsiniz. Port bu şekilde değiştirilmediği takdirde ana
3229 sunucunun son <directive module="mpm_common">Listen</directive>
3230 yönergesinde belirtilen port kullanılır. Bir adresteki tüm portlarla
3231 eşleşileceğini belirtmek için <code>:*</code> kullanabilirsiniz. (Bu,
3232 <code>_default_</code> kullanıldığı takdirde önerilir.)</p>
3234 <p>Her <directive type="section">VirtualHost</directive> bloku içinde bir
3235 <directive module="core">ServerName</directive> yönergesi mutlaka
3236 olmalıdır. Yokluğu halinde "ana" sunucu yapılandırmasındaki <directive
3237 module="core">ServerName</directive> miras alınacaktır (yani, sanal konak
3238 belirtmek için boşuna uğraşmış olursunuz).</p>
3240 <note type="warning"><title>Güvenlik</title>
3241 <p>Günlük dosyalarının sunucuyu çalıştıran kullanıcıdan başka herkes
3242 tarafından yazılabilen bir yerde saklanmasından dolayı ortaya çıkabilecek
3243 güvenlik sorunları hakkında daha ayrıntılı bilgi için <a
3244 href="../misc/security_tips.html">güvenlik ipuçları</a> belgesine
3248 <seealso><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></seealso>
3249 <seealso><a href="../dns-caveats.html">DNS ile İlgili Konular ve Apache</a></seealso>
3250 <seealso><a href="../bind.html">Apache’nin belli adresleri ve portları dinlemek
3251 üzere yapılandırılması</a></seealso>
3252 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir arada
3253 ele alındığının açıklaması için <a href="../sections.html">
3254 <Directory>, <Location> ve <Files> bölümleri nasıl
3255 çalışır?</a> belgesine bakınız.</seealso>
3256 </directivesynopsis>