2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
4 <!-- English Revision: 773774 -->
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><directive module="core">DocumentRoot</directive> NFS gibi bir ağ
857 dosya sistemi üzerinde ise ağ kopması sonucunda, bir dosyanın silinmesi
858 veya dosya okuma işleminin kesilmesi durumunda
859 <program>httpd</program> parçalama arızası vererek çökebilir.</li>
862 <p>Bu tür sorunlardan dolayı zarar görülebilecek sunucu
863 yapılandırmalarında dosya teslimatında bellek eşlemlerinin kullanımını
864 şu şekilde iptal etmeniz gerekir:</p>
870 <p>Bu özellik, sadece NFS dosya sistemi üzerinde sunulan dosyaları
871 kapsamak üzere şu şekilde kolayca kapatılabilir:</p>
874 <Directory "/nfs-dosya-yolu">
884 <name>EnableSendfile</name>
885 <description>Dosyaların istemciye tesliminde çekirdeğin dosya gönderme
886 desteğinin kullanımını etkin kılar.</description>
887 <syntax>EnableSendfile On|Off</syntax>
888 <default>EnableSendfile On</default>
889 <contextlist><context>server config</context><context>virtual host</context>
890 <context>directory</context><context>.htaccess</context>
892 <override>FileInfo</override>
893 <compatibility>2.0.44 ve sonrasında mevcuttur.</compatibility>
896 <p>Bu yönerge, dosya içeriğinin istemciye teslimi için
897 <program>httpd</program>’nin çekirdeğin dosya gönderme desteğini
898 kullanıp kullanmayacağını belirler. Öntanımlı olarak, bir isteğin
899 yerine getirilmesi, bir durağan dosyanın teslimatı sırasında olduğu
900 gibi, bir dosya içindeki veriye erişilmesini gerektirmediği takdirde
901 Apache, işletim sistemi tarafından destekleniyorsa dosyayı istemciye
902 teslim etmek için çekirdeğin dosya gönderme özelliğini kullanır.</p>
904 <p>Çekirdeğin dosya gönderme mekanizması, okuma, gönderme ve tampon
905 ayırma işlemlerini ayrı ayrı yapmaktan kaçınır. Fakat bazı
906 platformlarda veya bazı dosya sistemlerinde aşağıda belirtilen işlemsel
907 sorunlardan kaçınmak için bu özelliği iptal etmek daha iyidir:</p>
910 <li>Bazı platformlar, derleme sistemince saptanamayan bozuk bir dosya
911 gönderme desteğine sahiptir; özellikle eğer derleme işlemi dosya
912 gönderme desteğinde sorun olmayan bir makinede yapılıp çalıştırılabilir
913 dosyaların sorunlu makineye kurulduğu durumda bu saptama
914 yapılamayacaktır.</li>
915 <li>Linux’ta IPv6 kullanırken dosya gönderme desteği bazı ağ
916 kartlarındaki TCP toplama sağlaması aktarım hatasını tetikler.</li>
917 <li>Itanium üzerinde çalışan Linux’ta dosya gönderme desteği 2GB’tan
918 büyük dosyalarla çalışamamaktadır.</li>
919 <li><directive module="core">DocumentRoot</directive> ağ dosya sistemi
920 (NFS veya SMB gibi) üzerinde olduğu durumda çekirdek ağ dosyalarını
921 kendi arabelleği üzerinden sunamayabilir.</li>
924 <p>Bu sorunlardan muzdarip sunucu yapılandırmaları için bu özelliği şöyle
925 iptal edebilirsiniz:</p>
931 <p>Bu özellik, sadece bir NFS veya SMB dosya sistemi üzerinde sunulan
932 dosyaları kapsamak üzere şu şekilde kolayca kapatılabilir:</p>
935 <Directory "/path-to-nfs-files">
941 <p><directive>EnableSendfile</directive> yönergesinin .htaccess ve diziniçi
942 yapılandırmalarınını <module>mod_disk_cache</module> tarafından
943 desteklenmediğini lütfen aklınızdan çıkarmayın.
944 <directive>EnableSendfile</directive> yönergesinin sadece küresel
945 tanımları hesaba katılır.</p>
950 <name>ErrorDocument</name>
951 <description>Bir hata durumunda sunucunun istemciye ne döndüreceğini
952 belirler.</description>
953 <syntax>ErrorDocument <var>hata-kodu</var> <var>belge</var></syntax>
954 <contextlist><context>server config</context><context>virtual host</context>
955 <context>directory</context><context>.htaccess</context>
957 <override>FileInfo</override>
958 <compatibility>Metin iletilerini tırnak içine alma sözdizimi Apache 2.0’da
959 farklıdır.</compatibility>
962 <p>Bir sorun çıktığında veya hata oluştuğunda Apache şu dört işlemden
963 birini yapacak şekilde yapılandırılabilir:</p>
966 <li>Yerleşik bir hata iletisi çıktılanır.</li>
968 <li>Özel bir ileti çıktılanır.</li>
970 <li>Sorunu/hatayı işleyecek yerel bir <var>URL-yoluna</var> yönlendirme
973 <li>Sorunu/hatayı işleyecek harici bir <var>URL-yoluna</var>
974 yönlendirme yapılır.</li>
977 <p>İlk seçenek öntanımlıdır. Diğer üç seçenek
978 <directive>ErrorDocument</directive> yönergesinin argümanları (hata
979 kodundan sonra bir URL veya hata iletisi) ile belirtilir. Apache bazı
980 durumlarda sorun/hata ile ilgili ek bilgi verecektir.</p>
982 <p>URL’ler yerel yollarda (<directive
983 module="core">DocumentRoot</directive>’a göre) bir bölü çizgisi (/) ile
984 başlatılabileceği gibi istemci tarafından çözümlenecek tam bir URL
985 şeklinde de belirtilebilir. Bunlar yerine, tarayıcıda gösterilmek üzere
986 bir ileti de belirtilebilir. Örnekler:</p>
989 ErrorDocument 500 http://hata.meselae.dom/cgi-bin/dnmci<br />
990 ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
991 ErrorDocument 401 /subscription_info.html<br />
992 ErrorDocument 403 "Kusura bakmayın, bugün hizmet veremiyoruz."
995 <p>Bunlardan başka, Apache’nin kendi hata iletilerinin kullanılacağı özel
996 <code>default</code> değeri ile belirtilebilir. Normal şartlar altında
997 gerekmese de, bir şey belirtilmediği takdirde mevcut bir
998 <directive>ErrorDocument</directive> yönergesini miras alan
999 yapılandırmalarda Apache’nin kendi hata iletilerinin kullanımı
1000 <code>default</code> değeri açıkça belirtilerek örnekteki gibi
1004 ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
1005 <Directory /web/docs><br />
1007 ErrorDocument 404 default<br />
1012 <p><directive>ErrorDocument</directive> yönergesinde bir uzak URL (önünde
1013 <code>http</code> bulunan bir yol) belirtildiğinde, belge aynı sunucuda
1014 olsa bile, Apache’nin istemciye belgeyi bulacağı yer için bir
1015 yönlendirme göndereceğine dikkat ediniz. Bunun bazı istenmeyen etkileri
1016 vardır; en önemlilerinden biri istemcinin hata kodu yerine bir
1017 yönlendirme durum kodu alacak olmasıdır. Bu, bir URL’nin geçerliliğini
1018 durum koduna göre saptayan istemciler veya robotlar için yanıltıcı
1019 olacaktır. Buna ek olarak, <code>ErrorDocument 401</code> için bir uzak
1020 URL belirttiğiniz durumda istemci 401 durum kodunu almayacağı için
1021 kullanıcıdan parola isteğinde bulunamayacaktır. Bu bakımdan,
1022 <strong>ihtiyaç duyduğunuz takdirde, <code>ErrorDocument 401</code>
1023 yönergesine yerel bir belge belirtmelisiniz.</strong></p>
1025 <p>Sunucunun ürettiği hata iletileri "çok kısa" olduğu takdirde,
1026 Microsoft Internet Explorer (MSIE) öntanımlı olarak bu hata iletilerini
1027 yoksayar ve bunun yerine kendi "kullanıcı dostu" hata iletilerini
1028 kullanır. "Çok kısa" eşiği duruma göre değişmekle birlikte, genellikle,
1029 hata iletileriniz 512 bayttan büyük olduğu takdirde MSIE kendi hata
1030 iletileri yerine sunucunun ürettiği hata iletilerini gösterecektir. Bu
1031 konuda daha fazla bilgiyi <a
1032 href="http://support.microsoft.com/default.aspx?scid=kb;tr-tr;Q294807"
1033 >Q294807</a> kodlu Microsoft Knowledge Base makalesinde
1036 <p>Çoğu yerleşik hata iletisi özel iletilerle değiştirilebilse de bazı
1037 durumlarda <directive module="core">ErrorDocument</directive> ile ne
1038 belirtildiğine bakılmaksızın yerleşik hata iletileri kullanılır.
1039 Özellikle, bozuk bir istek saptandığında normal istek işleme hemen
1040 devre dışı bırakılır ve yerleşik hata iletisi döndürülür. Bu, hatalı
1041 istekler yaparak güvenlik sorunlarına yol açılmak istenmesi
1042 durumlarında gereklidir.</p>
1044 <p>2.0 öncesi sürümlerde iletiler bir çift çift-tırnak içine alınmayıp,
1045 tek bir çift-tırnak ile başlatılması yeterli olurdu.</p>
1048 <seealso><a href="../custom-error.html">Özel Hata Yanıtları</a></seealso>
1049 </directivesynopsis>
1052 <name>ErrorLog</name>
1053 <description>Sunucunun hata günlüğünü tutacağı yeri belirler.</description>
1054 <syntax> ErrorLog <var>dosya-yolu</var>|syslog[:<var>oluşum</var>]</syntax>
1055 <default>ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows)</default>
1056 <contextlist><context>server config</context><context>virtual host</context>
1060 <p><directive>ErrorLog</directive> yönergesi sunucunun saptadığı hataları
1061 kaydedeceği dosyanın ismini belirtmek için kullanılır.
1062 <var>dosya-yolu</var> ile göreli dosya yolu belirtildiği takdirde
1063 dizininin <directive module="core">ServerRoot</directive> ile
1064 belirtilen sunucu kök dizinine göre belirtildiği varsayılır.</p>
1066 <example><title>Örnek</title>
1067 ErrorLog /var/log/httpd/error_log
1070 <p><var>dosya-yolu</var> bir boru imi (|) ile başlatıldığı takdirde hata
1071 iletilerinin hata günlüğünü işleme sokacak komuta borulanacağı
1074 <example><title>Örnek</title>
1075 ErrorLog "|/usr/local/bin/httpd_errors"
1078 <p>Dosya adı yerine <code>syslog</code> kullanılırsa, sistem desteklediği
1079 takdirde günlük kaydı syslogd(8) üzerinden yürütülür. Öntanımlı olarak
1080 <code>local7</code> syslog oluşumu kullanılır. Bunu
1081 <code>syslog:<var>oluşum</var></code> sözdizimini kullanarak
1082 değiştirebilirsiniz. Buradaki <code><var>oluşum</var></code>
1083 syslog.conf(5) kılavuz sayfasında belirtilen oluşum isimlerinden biri
1086 <example><title>Örnek</title>
1087 ErrorLog syslog:user
1090 <p>GÜVENLİK: Günlük dosyalarının saklandığı dizin, sunucuyu başlatan
1091 kullanıcı dışındakiler tarafından yazılabilir olduğu takdirde
1092 güvenliğinizin nasıl tehlikeye gireceği <a
1093 href="../misc/security_tips.html#serverroot">güvenlik ipuçları</a>
1094 belgesinde ayrıntılı olarak açıklanmıştır.</p>
1095 <note type="warning"><title>Ek Bilgi</title>
1096 <p>Unix-dışı platformlarda dosya yolunu girerken, platform ters bölü
1097 çizgilerini desteklese bile normal bölü çizgileri kullanmaya özen
1098 göstermelisiniz. Genel olarak, dosya yollarını belirtirken
1099 yapılandırma dosyası boyunca normal bölü çizgisi kullanmak her zaman
1103 <seealso><directive module="core">LogLevel</directive></seealso>
1104 <seealso><a href="../logs.html">Apache Günlük Dosyaları</a></seealso>
1105 </directivesynopsis>
1108 <name>FileETag</name>
1109 <description><code>ETag</code> HTTP yanıt başlığını oluşturmakta kullanılacak
1110 dosya özniteliklerini belirler.</description>
1111 <syntax>FileETag <var>bileşen</var> ...</syntax>
1112 <default>FileETag INode MTime Size</default>
1113 <contextlist><context>server config</context><context>virtual host</context>
1114 <context>directory</context><context>.htaccess</context>
1116 <override>FileInfo</override>
1119 <p><directive>FileETag</directive> yönergesi, belge bir dosyaya dayandığı
1120 takdirde <code>ETag</code> (Entity Tag - öğe etiketi kısaltması) yanıt
1121 başlığı alanını oluşturmakta kullanılacak dosya özniteliklerini
1122 yapılandırır. (<code>ETag</code> değeri, ağ band genişliğinden kazanmak
1123 için arabellek yönetiminde kullanılır.) Apache 1.3.22 ve öncesinde
1124 <code>ETag</code> değeri <em>daima</em> dosyanın düğümü, boyutu ve son
1125 değişiklik zamanından (mtime) oluşurdu. <directive>FileETag</directive>
1126 yönergesi ne kullanılması gerektiğini belirleyebilmenizi sağlar. Değer
1127 olarak belirtilebilecek anahtar sözcükler şunlardır:</p>
1130 <dt><strong>INode</strong></dt>
1131 <dd>Dosyanın düğüm numarası hesaba katılır.</dd>
1132 <dt><strong>MTime</strong></dt>
1133 <dd>Dosyanın son değişiklik tarih ve saati dahil edilir.</dd>
1134 <dt><strong>Size</strong></dt>
1135 <dd>Dosyanın bayt cinsinden uzunluğu dahil edilir.</dd>
1136 <dt><strong>All</strong></dt>
1137 <dd>Olası tüm alanlar kullanılır. Bu şuna eşdeğerdir:
1138 <example>FileETag INode MTime Size</example></dd>
1139 <dt><strong>None</strong></dt>
1140 <dd>Bir belge dosyasıyla sunulsa bile yanıta hiçbir <code>ETag</code>
1141 alanı dahil edilmez.</dd>
1144 <p>Öntanımlı ayarları miras alıp bunların kapsamını genişletmek/daraltmak
1145 için <code>INode</code>, <code>MTime</code> ve <code>Size</code>
1146 anahtar sözcüklerinin önüne <code>+</code> veya <code>-</code> imi
1147 konabilir. Bu imlerin bulunmadığı bir anahtar sözcüğün varlığı halinde
1148 hiçbir değer miras alınmaz.</p>
1150 <p>Eğer bir dizinin yapılandırması
1151 <code>FileETag INode MTime Size</code> ve alt dizini
1152 <code>FileETag -INode</code> içeriyorsa bu alt dizinin (ve bir
1153 geçersizleştirme olmadığı takdirde onun alt dizinlerinin) ayarları
1154 <code>FileETag MTime Size</code> yapılandırmasına eşdeğer
1156 <note type="warning"><title>Uyarı</title>
1157 WebDAV’ın etkin olduğu yerlerde veya dizinlerde saklama alanı sağlayıcı
1158 olarak <module>mod_dav_fs</module> kullanılıyorsa öntanımlı ayarları
1159 değiştirmeyiniz. <module>mod_dav_fs</module>, koşullu isteklerde
1160 <code>ETag</code> karşılaştırmaları yapabilmek için
1161 <code>INode MTime Size</code> yapılandırmasını kullanır. Eğer
1162 <code>ETag</code> ayarı <directive>FileETag</directive> yönergesi
1163 kullanılarak değiştirilirse koşullu istekler gerektiği gibi yerine
1167 </directivesynopsis>
1169 <directivesynopsis type="section">
1171 <description>Dosya isimleriyle eşleşme halinde uygulanacak yönergeleri
1172 içerir.</description>
1173 <syntax><Files <var>dosya-adı</var>> ... </Files></syntax>
1174 <contextlist><context>server config</context><context>virtual host</context>
1175 <context>directory</context><context>.htaccess</context>
1177 <override>All</override>
1180 <p><directive type="section">Files</directive> yönergesi, içerdiği
1181 yönergelerin etki alanını dosya isimlerine göre sınırlandırır.
1182 <directive module="core" type="section">Directory</directive> ve
1183 <directive module="core" type="section">Location</directive> bölümleri
1184 ile karşılaştırılabilir. Bir <code></Files></code> yönergesi ile
1185 sonlandırılması gerekir. Bu bölüm içinde belirtilen yönergeler,
1186 <directive type="section">Files</directive> yönergesinde belirtilen
1187 <var>dosya-adı</var>’nın son bileşeniyle (dizinler atıldıktan sonda
1188 kalan dosya ismi) eşleşen nesnelere uygulanır. <directive
1189 type="section">Files</directive> bölümleri yapılandırma dosyasında,
1190 <directive module="core" type="section">Directory</directive> bölümleri
1191 ve <code>.htaccess</code> dosyaları okunduktan sonra fakat <directive
1192 type="section" module="core">Location</directive> yönergelerinden önce
1193 göründükleri sıraya göre işleme sokulurlar. <directive
1194 type="section">Files</directive> bölümlerinin <directive type="section"
1195 module="core">Directory</directive> bölümlerinin içinde uygulama
1196 alanını sınırlamak amacıyla kullanılabileceğine dikkat ediniz.</p>
1198 <p><var>dosya-adı</var> argümanının bir dosya ismi veya bir dosya ismi
1199 kalıbı içermesi gerekir. Bir dosya ismi kalıbındaki her <code>?</code>
1200 imi bir karakterle eşleştirilirken <code>*</code> imi karakter dizileri
1201 ile eşleştirilir. <code>~</code> imine ek olarak <glossary
1202 ref="regex">düzenli ifadeler</glossary> de kullanılabilir. Örneğin</p>
1205 <Files ~ "\.(gif|jpe?g|png)$">
1208 <p>satırı en bilinen resim dosyası biçimleriyle eşleşecektir. Bunun
1209 yerine <directive module="core" type="section">FilesMatch</directive>
1210 yönergesi de tercih edilebilirdi.</p>
1212 <p><directive type="section" module="core">Directory</directive> ve
1213 <directive type="section" module="core">Location</directive>
1214 bölümlerinin aksine, <directive type="section">Files</directive>
1215 bölümleri <code>.htaccess</code> dosyaları içinde kullanılabilir. Bu
1216 sayede kullanıcıların kendi dosyalarına erişimi dosya seviyesinde
1217 denetlemelerine imkan sağlanmış olur.</p>
1220 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir
1221 arada ele alındığının açıklaması için <a href="../sections.html">
1222 <Directory>, <Location> ve <Files> bölümleri nasıl
1223 çalışır?</a> belgesine bakınız.</seealso>
1224 </directivesynopsis>
1226 <directivesynopsis type="section">
1227 <name>FilesMatch</name>
1228 <description>Düzenli ifadelerin dosya isimleriyle eşleşmesi halinde
1229 uygulanacak yönergeleri içerir.</description>
1230 <syntax><FilesMatch <var>düzifd</var>> ... </FilesMatch></syntax>
1231 <contextlist><context>server config</context><context>virtual host</context>
1232 <context>directory</context><context>.htaccess</context>
1234 <override>All</override>
1237 <p><directive type="section">FilesMatch</directive> yönergesi, içerdiği
1238 yönergelerin etki alanını <directive module="core"
1239 type="section">Files</directive> yönergesinin yaptığı gibi dosya
1240 isimlerine göre sınırlandırır. Ancak, argüman olarak bir <glossary
1241 ref="regex">düzenli ifade</glossary> kabul eder. Örneğin</p>
1244 <FilesMatch "\.(gif|jpe?g|png)$">
1247 <p>satırı en bilinen resim dosyası biçimleriyle eşleşecektir.</p>
1250 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir
1251 arada ele alındığının açıklaması için <a href="../sections.html">
1252 <Directory>, <Location> ve <Files> bölümleri nasıl
1253 çalışır?</a> belgesine bakınız.</seealso>
1254 </directivesynopsis>
1257 <name>ForceType</name>
1258 <description>Bütün dosyaların belirtilen ortam türüyle sunulmasına
1259 sebep olur.</description>
1260 <syntax>ForceType <var>ortam-türü</var>|None</syntax>
1261 <contextlist><context>directory</context><context>.htaccess</context>
1263 <override>FileInfo</override>
1264 <compatibility>Apache 2.0’da core modülüne taşındı.</compatibility>
1267 <p>Bu yönerge, bir <code>.htaccess</code> dosyası veya bir
1268 <directive type="section" module="core">Directory</directive>,
1269 <directive type="section" module="core">Location</directive> veya
1270 <directive type="section" module="core">Files</directive> bölümüne
1271 yerleştirildiği zaman, eşleşen tüm dosyaların <var>ortam-türü</var> ile
1272 belirtilen içerik türüyle sunulmasına sebep olur. Örneğin, altında
1273 sadece GIF dosyaları bulunan bir dizininiz varsa ve bunlara tek tek
1274 <code>.gif</code> uzantısı belirtmek istemiyorsanız şu yapılandırmayı
1275 kullanabilirsiniz:</p>
1281 <p>Bu yönerge, <directive module="mod_mime">AddType</directive> yönergesi
1282 üzerinden ve <code>mime.types</code> dosyasında örtük olarak
1283 tanımlanmış ortam türü/dosya uzantısı ilişkilerini geçersiz kılar.</p>
1285 <p>Ayrıca, daha genel <directive>ForceType</directive> ayarlarını da
1286 <code>None</code> değeriyle geçersiz kılabilirsiniz:</p>
1289 # tüm dosyaların image/gif olarak sunulması için:<br />
1290 <Location /images><br />
1292 ForceType image/gif<br />
1294 </Location><br />
1296 # normal MIME-türüne geri dönmek için:<br />
1297 <Location /images/mixed><br />
1299 ForceType None<br />
1304 </directivesynopsis>
1307 <name>HostnameLookups</name>
1308 <description>İstemci IP adresleri üzerinde DNS sorgularını etkin kılar.
1310 <syntax>HostnameLookups On|Off|Double</syntax>
1311 <default>HostnameLookups Off</default>
1312 <contextlist><context>server config</context><context>virtual host</context>
1313 <context>directory</context></contextlist>
1316 <p>Bu yönerge oturum açabilecek konak isimlerini tespit edebilmek için
1317 DNS sorgularını etkin kılar (ve sonuç <code>REMOTE_HOST</code>’ta
1318 belirtilerek CGI/SSI’lere aktarılır). <code>Double</code> değeri
1319 sorgunun çift yönlü yapılacağını belirtir. Yani, bir tersine sorgunun
1320 ardından bir normal sorgu yapılır. Normal sorguda elde edilen IP
1321 adreslerinden birinin istek yapan IP adresi ile eşleşmesi gerekir.
1322 ("tcpwrappers" terminolojisinde buna <code>PARANOID</code> adı
1325 <p>Konak ismine göre erişimi denetlemek için
1326 <module>mod_authz_host</module> kullanıldığında, nasıl bir ayar
1327 yapıldığına bakılmaksızın, çift yönlü sorgulama yapılır. Bu güvenlik
1328 için gereklidir. Bunun dışında açıkça <code>HostnameLookups
1329 Double</code> belirtilmedikçe genellikle çift yönlü sorgulama yapılmaz.
1330 Örneğin, sadece <code>HostnameLookups On</code> belirtilmiş ve konak
1331 ismi kısıtlamalarıyla korunmuş bir nesne için bir istek yapılmışsa çift
1332 yönlü sorgunun başarısına bakılmaksızın CGI’lere
1333 <code>REMOTE_HOST</code> olarak tek yönlü sorgu sonucu aktarılır.</p>
1335 <p>Gerçekte ters yönlü sorguya gerek duyulmayan sitelerde ağ trafiğini
1336 yormamak için <code>Off</code>, öntanımlı değerdir. Ayrıca, son
1337 kullanıcıların DNS sorguları nedeniyle gereksiz yere bir beklemeye
1338 maruz kalmaması için de bu daha iyidir. Yükü zaten ağır olan sitelerde,
1339 DNS sorgularının görece uzun zaman alması nedeniyle bu yönergenin
1340 değeri <code>Off</code> olarak bırakılmalıdır. Öntanımlı olarak kurulum
1341 dizininizin <code>bin</code> alt dizinine kurulan
1342 <program>logresolve</program> uygulaması kullanılarak oturum açan IP
1343 adresleri için isim sorguları çevrim dışıyken yapılabilir.</p>
1345 </directivesynopsis>
1347 <directivesynopsis type="section">
1349 <description>Çalışma anında bir koşul bir istek tarafından yerine getirildiği
1350 takdirde uygulanacak yönergeleri barındırır.</description>
1351 <syntax><If <var>ifade</var>> ... </If></syntax>
1352 <contextlist><context>server config</context><context>virtual host</context>
1353 <context>directory</context><context>.htaccess</context>
1355 <override>All</override>
1358 <p><directive type="section">If</directive> yönergesi bir ifadeyi çalışma
1359 anında değerlendirir ve ifadenin sonucu doğru olduğu takdirde içerdiği
1360 yönergeleri uygular. Örnek:</p>
1363 <If "$req{Host} = ''">
1366 <p>Bir <var>Host:</var> başlığı içermeyen HTTP/1.0 istekleriyle eşleşir.</p>
1369 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir arada
1370 ele alındığının açıklaması için <a href="../sections.html">
1371 <Directory>, <Location> ve <Files> bölümleri nasıl
1372 çalışır?</a> belgesine bakınız. <directive type="section">If</directive>
1373 bölümleri<directive type="section">Files</directive> bölümleri ile aynı
1374 önceliğe sahiptir ve aynı amaçla kullanılır.</seealso>
1375 </directivesynopsis>
1377 <directivesynopsis type="section">
1378 <name>IfDefine</name>
1379 <description>Başlatma sırasında bir doğruluk sınamasından sonra işleme
1380 sokulacak yönergeleri sarmalar.</description>
1381 <syntax><IfDefine [!]<var>parametre-adı</var>> ...
1382 </IfDefine></syntax>
1383 <contextlist><context>server config</context><context>virtual host</context>
1384 <context>directory</context><context>.htaccess</context>
1386 <override>All</override>
1389 <p><code><IfDefine <var>sınama</var>>...</IfDefine>
1390 </code> bölümü koşullu olarak işleme sokulacak yönergeleri içerir.
1391 Bir <directive type="section">IfDefine</directive> bölümü içindeki
1392 yönergeler sadece <var>sınama</var> doğru sonuç verirse işleme sokulur.
1393 Aksi takdirde, bölüm içinde kalan her şey yok sayılır.</p>
1395 <p><directive type="section">IfDefine</directive> bölüm yönergesinde
1396 <var>sınama</var> için belirtilebilecek iki biçim vardır:</p>
1399 <li><var>parametre-adı</var></li>
1401 <li><code>!</code><var>parametre-adı</var></li>
1404 <p>Birinci durumda bölüm içinde kalan yönergeler sadece
1405 <var>parametre-adı</var> ile belirtilen parametre tanımlı ise işleme
1406 sokulur. İkinci durumda ise tersi yapılır, yani sadece
1407 <var>parametre-adı</var> ile belirtilen parametre tanımlı
1408 <strong>değil</strong> ise yönergeler işleme sokulur.</p>
1410 <p><var>parametre-adı</var> argümanı sunucu başlatılırken
1411 <program>httpd</program> komut satırında
1412 <code>-D<var>parametre</var></code> ile
1413 veya <directive module="core">Define</directive> yönergesi ile
1414 belirtilerek tanımlı hale getirilebilir.</p>
1416 <p><directive type="section">IfDefine</directive> bölümleri iç içe
1417 olabilir, dolayısıyla çok parametreli basit sınamalar gerçeklenebilir.
1421 httpd -DReverseProxy -DUseCache -DMemCache ...<br />
1424 <IfDefine ReverseProxy><br />
1426 LoadModule proxy_module modules/mod_proxy.so<br />
1427 LoadModule proxy_http_module modules/mod_proxy_http.so<br />
1428 <IfDefine UseCache><br />
1430 LoadModule cache_module modules/mod_cache.so<br />
1431 <IfDefine MemCache><br />
1433 LoadModule mem_cache_module modules/mod_mem_cache.so<br />
1435 </IfDefine><br />
1436 <IfDefine !MemCache><br />
1438 LoadModule disk_cache_module modules/mod_disk_cache.so<br />
1447 </directivesynopsis>
1449 <directivesynopsis type="section">
1450 <name>IfModule</name>
1451 <description>Belli bir modülün varlığına veya yokluğuna göre işleme sokulacak
1452 yönergeleri sarmalar.</description>
1453 <syntax><IfModule [!]<var>modül-dosyası</var>|<var>modül-betimleyici</var>> ...
1454 </IfModule></syntax>
1455 <contextlist><context>server config</context><context>virtual host</context>
1456 <context>directory</context><context>.htaccess</context>
1458 <override>All</override>
1459 <compatibility>Modül betimleyiciler 2.1 sürümünde ve sonrası için geçerlidir.</compatibility>
1462 <p><code><IfModule <var>sınama</var>>...</IfModule></code>
1463 bölümü belli bir modülün varlığına veya yokluğuna göre işleme sokulacak
1464 yönergeleri içerir. Bir <directive type="section">IfModule</directive>
1465 bölümü içindeki yönergeler sadece <var>sınama</var> doğru sonuç verirse
1466 işleme sokulur. Aksi takdirde, bölüm içinde kalan her şey yok sayılır.</p>
1468 <p><directive type="section">IfModule</directive> bölüm yönergesinde
1469 <var>sınama</var> için belirtilebilecek iki biçim vardır:</p>
1472 <li><var>modül</var></li>
1474 <li>!<var>modül</var></li>
1477 <p>Birinci durumda bölüm içinde kalan yönergeler sadece
1478 <var>modül</var> ile belirtilen modül Apache içine dahil edilmişse veya
1479 <directive module="mod_so">LoadModule</directive> yönergesi ile devingen
1480 olarak yüklenmişse işleme sokulur. İkinci durumda ise tersi yapılır, yani
1481 sadece <var>modül</var> içerilmiş <strong>değil</strong> ise yönergeler
1484 <p><var>modül</var> argümanında bir modül betimleyici veya modülün derleme
1485 sırasındaki dosya adı belirtilebilir. Örneğin, <code>rewrite_module</code>
1486 bir betimleyici, <code>mod_rewrite.c</code> ise bir dosya ismidir. Eğer
1487 modül çok sayıda kaynak dosyasından oluşuyorsa
1488 <code>STANDARD20_MODULE_STUFF</code> dizgesini içeren dosyanın ismi
1491 <p><directive type="section">IfModule</directive> bölümleri iç içe
1492 olabilir, dolayısıyla çok parametreli basit sınamalar gerçeklenebilir.</p>
1494 <note>Bu bölümü sadece yapılandırma dosyanızın belli modüllerin varlığına
1495 veya yokluğuna bağlı olarak çalışması gerektiği durumlarda
1496 kullanmalısınız. Normal işlemlerde yönergelerin <directive
1497 type="section">IfModule</directive> bölümlerine yerleştirilmeleri
1500 </directivesynopsis>
1503 <name>Include</name>
1504 <description>Sunucu yapılandırma dosyalarının başka dosyaları içermesini sağlar.
1506 <syntax>Include <var>dosya-yolu</var>|<var>dizin-yolu</var></syntax>
1507 <contextlist><context>server config</context><context>virtual host</context>
1508 <context>directory</context>
1510 <compatibility>Dosya kalıbıyla eşleşme 2.0.41 ve sonrasında mevcuttur.
1514 <p>Bu yönerge sunucu yapılandırma dosyalarının başka dosyaları içermesini
1517 <p>Çok sayıda dosyayı bir kerede alfabetik sırada içermek için kabuk tarzı
1518 (<code>fnmatch()</code>) dosya ismi kalıp karakterleri kullanılabilir.
1519 Ayrıca, eğer <directive>Include</directive> yönergesi bir dosya değil de
1520 bir dizin gösteriyorsa Apache bu dizindeki ve alt dizinlerindeki bütün
1521 dosyaları okuyacaktır. Bunula birlikte, dizinin bir bütün olarak okutulması
1522 önerilmez, çünkü dizinde <program>httpd</program> programının çökmesine
1523 sebep olabilecek geçici dosyalar unutulabilir. Bunun yerine, belli bir
1524 şablona uyan dosyaları seçebilmek için, örneğin *.conf gibi dosya
1525 kalıplarının kullanılmasını öneriyoruz.</p>
1527 <p>Dosya yolu mutlak bir dosya yolu olarak belirtilebileceği gibi
1528 <directive module="core">ServerRoot</directive> dizinine göreli olarak da
1534 Include /usr/local/apache2/conf/ssl.conf<br />
1535 Include /usr/local/apache2/conf/vhosts/*.conf
1538 <p>Veya dizinler <directive module="core">ServerRoot</directive> dizinine
1539 göre belirtilebilir:</p>
1542 Include conf/ssl.conf<br />
1543 Include conf/vhosts/*.conf
1548 <seealso><program>apachectl</program></seealso>
1549 </directivesynopsis>
1552 <name>KeepAlive</name>
1553 <description>HTTP kalıcı bağlantılarını etkin kılar</description>
1554 <syntax>KeepAlive On|Off</syntax>
1555 <default>KeepAlive On</default>
1556 <contextlist><context>server config</context><context>virtual host</context>
1560 <p><code>Keep-Alive</code> yönergesi HTTP/1.0 protokolüne bir eklenti olup
1561 HTTP/1.1 protokolünün kalıcı bağlantı özelliği aynı TCP bağlantısı
1562 üzerinden çok sayıda isteğin gönderilmesini mümkün kılan uzun süreli HTTP
1563 oturumları açılmasını sağlar. Bunun, çok sayıda resim içeren HTML
1564 belgelerin yanıt zamanlarında bazı durumlarda %50’lik bir hızlanmayla
1565 sonuçlandığı gösterilmiştir. Kalıcı bağlantıları etkin kılmak için
1566 yönerge <code>KeepAlive On</code> şeklinde kullanılır.</p>
1568 <p>HTTP/1.0 istemcileri için kalıcı bağlantılar sadece bir istemci
1569 tarafından özellikle istendiği takdirde kullanılabilir. Ek olarak,
1570 HTTP/1.0 istemci kalıcı bağlantıları sadece içerik uzunluğu baştan
1571 bilindiği zaman kullanılabilir. Bu, CGI çıktısı, SSI sayfaları ve
1572 sunucunun ürettiği dizin listeleri gibi genellikle HTTP/1.0 istemcilere
1573 kalıcı bağlantılar kullanmayan devingen içeriklere uygulanır. HTTP/1.1
1574 istemciler için kalıcı bağlantılar aksi belirtilmedikçe öntanımlıdır.
1575 İstemci istediği takdirde, uzunluğu bilinmeyen içerik kalıcı bağlantılar
1576 üzerinden gönderilirken parçalı kodlama kullanılacaktır.</p>
1578 <p>Bir istemci kalıcı bağlantı kullandığı takdirde, bağlantı üzerinden kaç
1579 istek gönderilirse gönderilsin,
1580 <directive module="mpm_common">MaxRequestsPerChild</directive> yönergesi
1581 bakımından tek bir istek olarak değerlendirilir.</p>
1584 <seealso><directive module="core">MaxKeepAliveRequests</directive></seealso>
1585 </directivesynopsis>
1588 <name>KeepAliveTimeout</name>
1589 <description>Bir kalıcı bağlantıda sunucunun bir sonraki isteği bekleme süresi
1591 <syntax>KeepAliveTimeout <var>sayı</var>[ms]</syntax>
1592 <default>KeepAliveTimeout 5</default>
1593 <contextlist><context>server config</context><context>virtual host</context>
1595 <compatibility>Apache 2.3.2'den itibaren milisaniyelik değerler belirtilebilmektedir.</compatibility>
1598 <p>Sunucunun kalıcı bir bağlantıyı kapatmadan önce bir sonraki isteği kaç
1599 saniye bekleyeceğini belirler. Ayrıca, ms soneki kullanılarak süreyi
1600 milisaniye olarak belirtmek de mümkündür. İstek alındıktan sonra
1601 <directive module="core">Timeout</directive> yönergesiyle belirtilen
1602 zaman aşımı değeri uygulanır.</p>
1604 <p><directive>KeepAliveTimeout</directive> için yüksek bir değer belirtmek
1605 ağır yüklü sunucularda başarım sorunlarına yol açar. Daha yüksek bir
1606 zaman aşımı, boştaki istemcilerin bulunduğu bağlantıları bekleyen daha
1607 fazla sunucu sürecini meşgul edecektir.</p>
1609 <p>İsme dayalı sanal konak bağlamında, <directive
1610 module="core">NameVirtualHost</directive> bölümleri içinde tanımlanmış
1611 ilk sanal konağın (öntanımlı konak) değeri kullanılır. Diğer değerler
1612 görmezden gelinir.</p>
1614 </directivesynopsis>
1616 <directivesynopsis type="section">
1618 <description>Erişimi sınırlanacak HTTP yöntemleri için erişim sınırlayıcıları
1619 sarmalar.</description>
1620 <syntax><Limit <var>yöntem</var> [<var>yöntem</var>] ... > ...
1621 </Limit></syntax>
1622 <contextlist><context>directory</context><context>.htaccess</context>
1624 <override>AuthConfig, Limit</override>
1627 <p>Erişim denetleyicileri normalde <strong>tüm</strong> erişim yöntemleri
1628 için etkindir ve olağan olanı da budur. <strong>Genel durum olarak,
1629 erişim denetim yönergeleri bir <directive
1630 type="section">Limit</directive> bölümüne
1631 yerleştirilmemelidir.</strong></p>
1633 <p><directive type="section">Limit</directive> bölümünün amacı, erişim
1634 denetleyicilerinin etkilerini belli HTTP yöntemleri için sınırlamaktır.
1635 <directive type="section">Limit</directive> bölümü içinde listelenen
1636 erişim sınırlamaları, kalan tüm diğer yöntemler için <strong>etkisiz
1637 olacaktır</strong>. Aşağıdaki örnekte, erişim sınırlaması
1638 <code>POST</code>, <code>PUT</code> ve <code>DELETE</code> yöntemleri
1639 için uygulanmakta, diğer tüm yöntemler korumasız bırakılmaktadır:</p>
1642 <Limit POST PUT DELETE><br />
1644 Require valid-user<br />
1649 <p>Birden fazla bölümde kullanılabilecek yöntem isimleri: <code>GET</code>,
1650 <code>POST</code>, <code>PUT</code>, <code>DELETE</code>,
1651 <code>CONNECT</code>, <code>OPTIONS</code>,
1652 <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>,
1653 <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>,
1654 <code>LOCK</code> ve <code>UNLOCK</code>. <strong>Yöntem isimleri harf
1655 büyüklüğüne duyarlıdır.</strong> <code>GET</code> yöntemi sınırlanırsa
1656 <code>HEAD</code> istekleri de sınırlanmış olur. <code>TRACE</code>
1657 yöntemi sınırlanamaz (bkz, <directive module="core"
1658 >TraceEnable</directive>).</p>
1660 <note type="warning">Erişimi sınarlarken bir <directive
1661 type="section">Limit</directive> bölümü yerine daima bir <directive
1662 type="section" module="core">LimitExcept</directive> bölümünü tercih
1663 etmelisiniz, çünkü <directive type="section" module="core"
1664 >LimitExcept</directive> bölümü belirtilen yöntemler dışında kalanlara
1665 erişim koruması sağlar.</note>
1667 <p><directive type="section">Limit</directive> ve
1668 <directive type="section" module="core">LimitExcept</directive>
1669 yönergeleri iç içe olabilirler. Bu durumda, başarılı her
1670 <directive type="section">Limit</directive> veya <directive
1671 type="section" module="core">LimitExcept</directive> seviyesi, erişim
1672 denetimlerinin uygulanacağı yöntemlerle sınırlı kalmalıdır.</p>
1674 <note type="warning"><directive type="section">Limit</directive> veya
1675 <directive type="section">LimitExcept</directive> yönergelerini
1676 <directive module="mod_authz_core">Require</directive> yönergesi ile
1677 birlikte kullanılırken, ilk <directive module="mod_authz_core"
1678 >Require</directive> yönergesinin bir başka <directive
1679 module="mod_authz_core">Require</directive> yönergesinin varlığından
1680 bağımsız olarak isteği başarıyla yetkilendirdiğine dikkat ediniz.</note>
1682 <p>Örneğin, aşağıdaki yapılandırmayı ele alalım; tüm kullanıcılar
1683 <code>POST</code> istekleri için yetkilendirilecek ve tüm durumlarda
1684 <code>Require group editors</code> yönergesi yoksayılacaktır:</p>
1687 <LimitExcept GET>
1691 </LimitExcept><br />
1694 Require group editors
1700 </directivesynopsis>
1702 <directivesynopsis type="section">
1703 <name>LimitExcept</name>
1704 <description>İsimleri belirtilenler dışında kalan HTTP yöntemleri için
1705 kullanılacak erişim sınırlayıcıları sarmalar.</description>
1706 <syntax><LimitExcept <var>yöntem</var> [<var>yöntem</var>] ... > ...
1707 </LimitExcept></syntax>
1708 <contextlist><context>directory</context><context>.htaccess</context>
1710 <override>AuthConfig, Limit</override>
1713 <p><directive type="section">LimitExcept</directive> ve
1714 <code></LimitExcept></code> argüman olarak belirtilenler
1715 <strong>dışında</strong> kalan HTTP yöntemleri için kullanılacak erişim
1716 sınırlayıcıları gruplamakta kullanılır. Yani, <directive type="section"
1717 module="core">Limit</directive> bölümünün tersine, standart olsun olmasın
1718 bütün yöntemler için erişimi kısıtlamakta kullanılabilir. Daha ayrıntılı
1719 bilgi edinmek için <directive module="core" type="section"
1720 >Limit</directive> yönergesinin açıklamasına bakınız.</p>
1725 <LimitExcept POST GET><br />
1727 Require valid-user<br />
1729 </LimitExcept>
1733 </directivesynopsis>
1736 <name>LimitInternalRecursion</name>
1737 <description>Dahili yönlendirmelerin ve istek içi isteklerin azami sayısını
1738 belirler.</description>
1739 <syntax>LimitInternalRecursion <var>sayı</var> [<var>sayı</var>]</syntax>
1740 <default>LimitInternalRecursion 10</default>
1741 <contextlist><context>server config</context><context>virtual host</context>
1743 <compatibility>Apache 2.0.47 ve sonrasında mevcuttur.</compatibility>
1746 <p>Örneğin, özgün istekleri dahili olarak bir CGI betiğine yönlendiren
1747 <directive module="mod_actions">Action</directive> yönergesi
1748 kullanıldığında bir dahili yönlendirme oluşur. İstek içi istekler ise
1749 bazı URI’ler için istek yapıldığında ne olacağını bulmak için Apache’nin
1750 kullandığı bir mekanizmadır. Örneğin, <module>mod_dir</module>,
1751 <directive module="mod_dir">DirectoryIndex</directive> yönergesinde
1752 listelenen dosyalara bakmak için istek içi istekler kullanır.</p>
1754 <p><directive>LimitInternalRecursion</directive> yönergesi sunucunun dahili
1755 yönlendirmeler ve istek içi isteklerin oluşturduğu döngülerden dolayı
1756 çökmemesini sağlar. Böyle döngüler genellikle yanlış yapılandırma sonucu
1757 ortaya çıkarlar.</p>
1759 <p>Yönerge her istek için değerlendirmeye alınacak iki farklı sınırlama
1760 için kullanılabilir. İlk <var>sayı</var> ardarda gelebilen dahili
1761 yönlendirmelerin azami sayısını, ikinci <var>sayı</var> ise istek içi
1762 isteklerin ne kadar iç içe olabileceğini belirler. Tek bir
1763 <var>sayı</var> belirtilirse iki sınırlama için de aynı değer
1766 <example><title>Örnek</title>
1767 LimitInternalRecursion 5
1770 </directivesynopsis>
1773 <name>LimitRequestBody</name>
1774 <description>İstemci tarafından gönderilen HTTP istek gövdesinin toplam
1775 uzunluğunu sınırlar.</description>
1776 <syntax>LimitRequestBody <var>bayt-sayısı</var></syntax>
1777 <default>LimitRequestBody 0</default>
1778 <contextlist><context>server config</context><context>virtual host</context>
1779 <context>directory</context><context>.htaccess</context>
1781 <override>All</override>
1784 <p>Bu yönerge, bir istek gövdesinde izin verilen bayt sayısını 0 (sınırsız
1785 anlamında) ile 2147483647 (2GB) arasında sınırlamak için kullanılır.</p>
1787 <p><directive>LimitRequestBody</directive> yönergesi kullanıcıya yönergenin
1788 kullanıldığı bağlam (sunucu, belli bir dizin, belli bir dosya, belli bir
1789 yer) dahilinde bir HTTP istek iletisi gövdesinin izin verilen uzunluğu
1790 için bir sınır belirleme imkanı verir. Eğer istemcinin isteği bu sınırı
1791 aşarsa sunucu isteği sunmak yerine bir hata iletisi döndürecektir. Normal
1792 bir istek ileti gövdesinin uzunluğu büyük oranda özkaynağın doğasına ve
1793 bu özkaynak üzerinde izin verilen yöntemlere bağlıdır. CGI betikleri
1794 genellikle ileti gövdesini form bilgisini almak için kullanır.
1795 <code>PUT</code> yöntemi gerçeklenimleri, en azından, sunucunun o
1796 özkaynak için kabul etmek isteyeceği herhangi bir gösterim kadar büyük
1797 bir değer gerektirecektir.</p>
1799 <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu
1800 yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim
1803 <p>Eğer, örneğin, belli bir yere dosya yükleme izni verir ve buraya
1804 yüklenebilecek dosya boyutunu 100 kB ile sınırlamak isterseniz yönergeyi
1805 şöyle kullanabilirsiniz:</p>
1808 LimitRequestBody 102400
1812 </directivesynopsis>
1815 <name>LimitRequestFields</name>
1816 <description>İstemciden kabul edilecek HTTP isteği başlık alanlarının sayısını
1817 sınırlar.</description>
1818 <syntax>LimitRequestFields <var>sayı</var></syntax>
1819 <default>LimitRequestFields 100</default>
1820 <contextlist><context>server config</context></contextlist>
1823 <p><var>sayı</var>, en küçük 0 (sınırsız anlamında), en büyük 32767
1824 olabilir. Öntanımlı değer bir derleme zamanı sabiti olan
1825 <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> ile belirlenir (dağıtımla gelen
1826 değeri 100’dür).</p>
1828 <p><directive>LimitRequestFields</directive> yönergesi sunucu
1829 yöneticilerine bir HTTP isteğinde izin verilen istek başlık alanlarının
1830 sayısı üzerindeki sınırı değiştirebilme imkanı verir. Sunucu bu değerin,
1831 normal bir istemci isteğinin içerebileceği alan sayısından daha büyük
1832 olmasına ihtiyaç duyar. Bir istemci tarafından kullanılan istek başlık
1833 alanlarının sayısı nadiren 20’yi geçer, fakat bu farklı istemci
1834 gerçeklenimleri için değişiklik gösterir ve çoğunlukla kullanıcının
1835 tarayıcısını ayrıntılı içerik müzakeresini desteklemek için nasıl
1836 yapılandırdığıyla ilgilidir. İsteğe bağlı HTTP eklentileri çoğunlukla
1837 istek başlık alanları kullanılarak ifade edilir.</p>
1839 <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu
1840 yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim
1841 imkanı sağlar. Eğer normal istemciler sunucudan istekte bulunurken çok
1842 fazla başlık alanı gönderildiğine dair bir hata iletisi alırlarsa bu
1843 değerin arttırılması gerekir.</p>
1848 LimitRequestFields 50
1852 </directivesynopsis>
1855 <name>LimitRequestFieldSize</name>
1856 <description>İstemciden kabul edilecek HTTP isteği başlık uzunluğunu sınırlar.
1858 <syntax>LimitRequestFieldSize <var>bayt-sayısı</var></syntax>
1859 <default>LimitRequestFieldSize 8190</default>
1860 <contextlist><context>server config</context></contextlist>
1863 <p>Bu yönerge, HTTP istek başlığında izin verilecek bayt sayısını
1866 <p><directive>LimitRequestFieldSize</directive> yönergesi, sunucu
1867 yöneticilerine HTTP istek başlık alanının azami uzunluğunu arttırıp
1868 azaltma imkanı verir. Sunucu bu değerin, normal bir istemci isteğinin
1869 içerebileceği herhangi bir başlık alanını tutabilecek kadar büyük
1870 olmasını gerektirir. Normal bir istek başlık alanı uzunluğu kullanıcının
1871 tarayıcısını ayrıntılı içerik müzakeresini desteklemek için nasıl
1872 yapılandırdığıyla ilgilidir. SPNEGO kimlik doğrulama başlıkları 12392
1873 baytlık olabilir.</p>
1875 <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu
1876 yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim
1882 LimitRequestFieldSize 4094
1885 <note>Normal şartlar altında öntanımlı değer değiştirilmemelidir.</note>
1888 </directivesynopsis>
1891 <name>LimitRequestLine</name>
1892 <description>İstemciden kabul edilecek HTTP istek satırının uzunluğunu sınırlar.
1894 <syntax>LimitRequestLine <var>bayt-sayısı</var></syntax>
1895 <default>LimitRequestLine 8190</default>
1896 <contextlist><context>server config</context></contextlist>
1899 <p>Bu yönerge, HTTP istek satırında izin verilecek bayt sayısını
1902 <p><directive>LimitRequestLine</directive> yönergesi, sunucu yöneticilerine
1903 bir istemcinin HTTP istek satırının azami uzunluğunu arttırıp azaltma
1904 imkanı verir. İstek satırının içeriği HTTP yöntemi, URI ve protokol
1905 sürümünden oluştuğundan <directive>LimitRequestLine</directive>
1906 yönergesi, sunucudan bir istek için kullanılan istek adresinin uzunluğunu
1907 sınırlamış olur. Sunucu bu değerin, bir <code>GET</code> isteğinin sorgu
1908 kısmında aktarılabilen her bilgi dahil, özkaynak isimlerinden her birini
1909 tutabilecek kadar büyük olmasını gerektirir.</p>
1911 <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu
1912 yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim
1918 LimitRequestLine 4094
1921 <note>Normal şartlar altında öntanımlı değer değiştirilmemelidir.</note>
1923 </directivesynopsis>
1926 <name>LimitXMLRequestBody</name>
1927 <description>Bir XML temelli istek gövdesinin uzunluğunu sınırlar.</description>
1928 <syntax>LimitXMLRequestBody <var>bayt-sayısı</var></syntax>
1929 <default>LimitXMLRequestBody 1000000</default>
1930 <contextlist><context>server config</context><context>virtual host</context>
1931 <context>directory</context><context>.htaccess</context></contextlist>
1932 <override>All</override>
1935 <p>Bir XML temelli istek gövdesinin azami bayt sayısını belirler. Değer
1936 olarak <code>0</code> belirtildiğinde herhangi bir boyut sınaması
1942 LimitXMLRequestBody 0
1946 </directivesynopsis>
1948 <directivesynopsis type="section">
1949 <name>Location</name>
1950 <description>İçerdiği yönergeler sadece eşleşen URL’lere uygulanır.
1952 <syntax><Location <var>URL-yolu</var>|<var>URL</var>> ...
1953 </Location></syntax>
1954 <contextlist><context>server config</context><context>virtual host</context>
1958 <p><directive type="section">Location</directive> bölüm yönergesi kapsadığı
1959 yönergelerin etki alanını belirtilen URL’lerle sınırlar. Bu yönerge,
1960 <directive type="section" module="core">Directory</directive> yönergesine
1961 benzer ve <code></Location></code> yönergesi ile biten bir alt
1962 bölüm başlatır. <directive type="section">Location</directive> bölümleri
1963 yapılandırma dosyasında göründükleri sıraya göre, <directive
1964 type="section" module="core">Directory</directive> bölümleri ve
1965 <code>.htaccess</code> dosyaları okunup <directive type="section"
1966 module="core">Files</directive> bölümleri de işlendikten sonra işleme
1969 <p><directive type="section">Location</directive> bölümleri dosya
1970 sisteminin tamamen dışında işlem görürler. Bunun çeşitli sonuçları olur.
1971 En önemlisi, <directive type="section">Location</directive>
1972 yönergelerinin dosya sistemi konumlarına erişimi denetim altına almak
1973 için kullanılmaması gerekliliğidir. Aynı dosya sistemi konumuna farklı
1974 URL’lerle erişmek mümkün olduğundan bu tür erişim denetimleri hile ile
1975 atlatılabilir olacaktır.</p>
1977 <note><title><directive type="section">Location</directive> ne zaman
1978 kullanılmalı</title>
1980 <p><directive type="section">Location</directive> yönergesini dosya sistemi
1981 dışındaki içeriğe çeşitli yönergeler uygulamak için kullanın. Dosya
1982 sisteminde bulunan içerik için <directive type="section"
1983 module="core">Directory</directive> ve <directive type="section"
1984 module="core">Files</directive> bölümlerini kullanın. Bunun istisnası,
1985 sunucunun tamamına bir yapılandırma uygulamak için kolay bir yol olan
1986 <code><Location /></code> kullanımıdır.</p>
1989 <p>Kaynağa yapılan (vekil olmayan) tüm istekler için eşleşecek URL,
1990 <code>/yol/</code> şeklinde bir URL yolu olmalı; <em>ne şema, ne konak ismi
1991 ne port ne de sorgu dizgesi içermelidir</em>. Vekil istekleri için eşleşecek
1992 URL ise <code>şema://sunucuadı/dosya-yolu</code> şeklinde olmalı ve önek
1995 <p>URL içinde dosya kalıp karakterleri kullanılabilir. Dosya kalıp
1996 karakterleri bulunan bir dizgede bulunan <code>?</code> karakteri
1997 herhangi bir tek karakterle eşleşirken <code>*</code> karakteri herhangi
1998 bir karakter dizisi ile eşleşecektir. URL yolu içindeki / karakterleri
1999 ile hiçbir dosya kalıp karakteri eşleşmez.</p>
2001 <p>Ayrıca, <code>~</code> karakteri eşliğinde
2002 <glossary ref="regex">düzenli ifadeler</glossary> de kullanılabilir.
2006 <Location ~ "/(ek|hususi)/veri">
2009 <p>yönergesi <code>/ek/veri</code> ve <code>/hususi/veri</code> alt
2010 dizgeleriyle eşleşecektir. <directive type="section"
2011 module="core">LocationMatch</directive> yönergesi <directive
2012 type="section">Location</directive> yönergesinin düzenli ifade sürümüne
2013 eşdeğer davranır ve bir çok yazı tipinde <code>~</code> karakterini
2014 <code>-</code> karakterinden ayırmak zor olduğu için tercih edilir.</p>
2016 <p><directive type="section">Location</directive> işlevselliği özellikle
2017 <directive module="core">SetHandler</directive> yönergesi ile birlikte
2018 kullanışlı olur. Örneğin, durum isteklerini etkin kılmak ama sadece
2019 <code>mesela.dom</code>’dan gelen isteklere izin vermek için şöyle bir
2020 uygulama yapabilirsiniz:</p>
2023 <Location /status><br />
2025 SetHandler server-status<br />
2026 Order Deny,Allow<br />
2028 Allow from .mesela.dom<br />
2033 <note><title>/ (bölü çizgisi) hakkında</title>
2034 <p>Bölü çizgisinin URL içinde bulunduğu yere bağlı olarak özel anlamları
2035 vardır. Dosya sistemindeki çok sayıda yanyana kullanımının tek bir bölü
2036 çizgisi olarak ele alındığı duruma alışkın olanlar olabilir (yani,
2037 <code>/home///foo</code> ile <code>/home/foo</code> aynıdır). URL
2038 uzayında bunun böyle olması gerekli değildir. Eğer çok sayıda bölü
2039 çizgisini yanyana belirtmeniz gerekiyorsa <directive type="section"
2040 module="core">LocationMatch</directive> yönergesinde ve <directive
2041 type="section">Location</directive> yönergesinin düzenli ifadeli
2042 kullanımında bunu açıkça belirtmeniz gerekir.</p>
2044 <p>Örneğin, <code><LocationMatch ^/abc></code> yönergesi
2045 <code>/abc</code> ile eşleşecek ama <code>//abc</code> ile
2046 eşleşmeyecektir. <directive type="section">Location</directive>
2047 yönergesinin düzenli ifade içermeyen kullanımındaki davranış vekil
2048 isteklerinde kullanılana benzer ve doğrudan kaynağa yapılan (vekil
2049 olmayan) isteklerde çok sayıda bölü çizgisi dolaylı olarak tek bir bölü
2050 çizgisiyle eşleşecektir. Örneğin, <code><Location
2051 /abc/def></code> belirtirseniz ve istek <code>/abc//def</code>
2052 şeklinde olursa bu ikisi eşleşir.</p>
2055 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir arada
2056 ele alındığının açıklaması için <a href="../sections.html">
2057 <Directory>, <Location> ve <Files> bölümleri nasıl
2058 çalışır?</a> belgesine bakınız.</seealso>
2059 </directivesynopsis>
2061 <directivesynopsis type="section">
2062 <name>LocationMatch</name>
2063 <description>İçerdiği yönergeler sadece düzenli ifadelerle eşleşen URL’lere
2064 uygulanır.</description>
2065 <syntax><LocationMatch
2066 <var>düzifade</var>> ... </LocationMatch></syntax>
2067 <contextlist><context>server config</context><context>virtual host</context>
2071 <p><directive type="section">LocationMatch</directive> yönergesi içerdiği
2072 yönergelerin etki alanını <directive module="core" type="section"
2073 >Location</directive> yönergesinin yaptığı gibi belirtilen URL’lerle
2074 sınırlar. Ancak argüman olarak basit bir dizge değil bir <glossary
2075 ref="regex">düzenli ifade</glossary> alır. Örneğin,</p>
2078 <LocationMatch "/(ek|hususi)/veri">
2081 <p>yönergesi <code>/ek/veri</code> ve <code>/hususi/veri</code> alt
2082 dizgeleriyle eşleşecektir.</p>
2085 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir arada
2086 ele alındığının açıklaması için <a href="../sections.html">
2087 <Directory>, <Location> ve <Files> bölümleri nasıl
2088 çalışır?</a> belgesine bakınız.</seealso>
2089 </directivesynopsis>
2092 <name>LogLevel</name>
2093 <description>Hata günlüklerinin ayrıntı seviyesini belirler.</description>
2094 <syntax>LogLevel <var>seviye</var></syntax>
2095 <default>LogLevel warn</default>
2096 <contextlist><context>server config</context><context>virtual host</context>
2100 <p><directive>LogLevel</directive> yönergesi hata günlüklerine kaydedilen
2101 hata iletilerinde hangi ayrıntılara yer verileceğini belirler (<directive
2102 module="core">ErrorLog</directive> yönergesine bakınız). En yüksek önem
2103 derecesinden başlayarak olası <var>seviye</var> değerleri aşağıda
2107 <columnspec><column width=".2"/><column width=".3"/><column width=".5"/>
2110 <th><strong>Seviye</strong> </th>
2111 <th><strong>Açıklama</strong> </th>
2112 <th><strong>Örnek</strong> </th>
2116 <td><code>emerg</code> </td>
2117 <td>Acil durumlar - sistem kullanışsız.</td>
2118 <td>"Child cannot open lock file. Exiting"<br />(Alt süreç kilit
2119 dosyasını açamıyor. Çıkılıyor)</td>
2123 <td><code>alert</code> </td>
2124 <td>Ne yapılacaksa beklemeden yapılmalı.</td>
2125 <td>"getpwuid: couldn't determine user name from uid"<br />(getpwuid:
2126 Kullanıcı ismi numarasından saptanamadı)</td>
2130 <td><code>crit</code> </td>
2131 <td>Kriz durumları.</td>
2132 <td>"socket: Failed to get a socket, exiting child"<br />(socket: bir
2133 soket alınamadı, alt süreç çıkıyor)</td>
2137 <td><code>error</code> </td>
2138 <td>Hata durumları.</td>
2139 <td>"Premature end of script headers"<br />(Betik başlıkları
2140 beklenmedik şekilde bitti)</td>
2144 <td><code>warn</code> </td>
2145 <td>Uyarı durumları.</td>
2146 <td>"child process 1234 did not exit, sending another
2147 SIGHUP"<br />(1234 alt süreci çıkmadı, başka bir SIGHUP
2152 <td><code>notice</code> </td>
2153 <td>Normal fakat önemli durum.</td>
2154 <td>"httpd: caught SIGBUS, attempting to dump core in
2155 ..."<br />(httpd: SIGBUS alındı, core dökümlenmeye çalışılıyor:
2160 <td><code>info</code> </td>
2161 <td>Bilgilendirme.</td>
2162 <td>"Server seems busy, (you may need to increase
2163 StartServers, or Min/MaxSpareServers)..."<br />(Sunucu meşgul
2164 görünüyor, (StartServers veya Min/MaxSpareServers değerlerini
2165 arttırmanız gerekebilir)...)</td>
2169 <td><code>debug</code> </td>
2170 <td>Hata ayıklama seviyesi iletileri</td>
2171 <td>"Opening config file ..."<br />(... yapılandırma dosyası
2176 <p>Belli bir seviye belirtildiğinde daha yüksek seviyeden iletiler de
2177 raporlanır. Örneğin, <code>LogLevel info</code> belirtildiğinde
2178 <code>notice</code> ve <code>warn</code> günlük seviyelerinin iletileri
2179 ayrıca raporlanacaktır.</p>
2181 <p>En az <code>crit</code> seviyesinin kullanılması önerilir.</p>
2189 <note><title>Ek Bilgi</title>
2190 <p>Günlük iletileri normal bir dosyaya yazılırken <code>notice</code>
2191 seviyesinden iletiler engellenemez ve dolayısıyla daima raporlanırlar.
2192 Ancak, günlük kaydı <code>syslog</code> kullanılarak yapılıyorsa bu
2196 </directivesynopsis>
2199 <name>MaxKeepAliveRequests</name>
2200 <description>Bir kalıcı bağlantıda izin verilen istek sayısı</description>
2201 <syntax>MaxKeepAliveRequests <var>sayı</var></syntax>
2202 <default>MaxKeepAliveRequests 100</default>
2203 <contextlist><context>server config</context><context>virtual host</context>
2207 <p><directive>MaxKeepAliveRequests</directive> yönergesi <directive
2208 module="core" >KeepAlive</directive> etkinken bağlantı başına izin
2209 verilecek istek sayısını sınırlar. Değer olarak <code>0</code>
2210 belirtilirse istek sayısı sınırsız olur. Sunucu başarımını yüksek tutmak
2211 için yüksekçe bir değer belirtmenizi öneririz.</p>
2216 MaxKeepAliveRequests 500
2219 </directivesynopsis>
2222 <name>NameVirtualHost</name>
2223 <description>İsme dayalı sanal konaklar için IP adresi belirtir</description>
2224 <syntax>NameVirtualHost <var>adres</var>[:<var>port</var>]</syntax>
2225 <contextlist><context>server config</context></contextlist>
2228 <p>Sunucunun, istemci tarafından talep edilen <em>konak ismine</em>
2229 dayanarak seçtiği her sanal konak kümesi için ayrı bir
2230 <directive>NameVirtualHost</directive> yönergesi vardır.
2231 <directive>NameVirtualHost</directive> yönergesi <a href="../vhosts/"
2232 >isme dayalı sanal konakları</a> yapılandırmak isterseniz gerekli olur.
2235 <p>Bu yönerge ve bununle ilişkili <directive>VirtualHost</directive>
2236 yönergesi, suncu hem HTTP hem de HTTPS bağlantılarını desteklediği
2237 takdirde <em>mutlaka</em> bir port numarası da içermelidir.</p>
2239 <p><var>adres</var> olarak bir konak ismi de belirtebilirsiniz ama daima
2240 bir IP adresi veya bir * kullanmanızı öneririz. Bir yıldız imi
2241 belirtilmiş <directive>NameVirtualHost</directive> yönergeleri sadece
2242 adres yerine bir * belirtilmiş <directive>VirtualHost</directive>
2243 yönergeleri ile eşleşir.</p>
2245 <p>İstekleri bir güvenlik duvarının veya başka bir vekil sunucunun
2246 aldığı ve bunları farklı bir IP adresine sahip bir sunucuya
2247 yönlendirdiği durumlarda, bu yönergeye değer olarak istekleri sunan
2248 makinenin fiziksel ağ arabiriminin IP adresi belirtilmelidir.</p>
2250 <p>Aşağıdaki örnekte, 192.0.2.1 IP adresli arabirimin 80. portundan
2251 alınan isteklerle sadece ilk iki sanal konak arasında seçim
2252 yapılacaktır. Diğer arabirimlerin 80.portundan gelen istekler için ise
2253 sadece üçüncü ve dördüncü sanal konak arasında seçim yapılacaktır.
2254 İsteklerin hangi arabirimden geldiğinin önemli olmadığı durumlarda
2255 (genelde böyledir) <directive>NameVirtualHost</directive> ve
2256 <directive>VirtualHost</directive> yönergelerine sadece "*:80"
2257 belirtmek yeterlidir.</p>
2260 NameVirtualHost 192.0.2.1:80<br />
2261 NameVirtualHost *:80<br /><br />
2263 <VirtualHost 192.0.2.1:80><br />
2264 ServerName namebased-a.example.com<br />
2265 </VirtualHost><br />
2267 <VirtualHost 192.0.2.1:80><br />
2268 Servername namebased-b.example.com<br />
2269 </VirtualHost><br />
2271 <VirtualHost *:80><br />
2272 ServerName namebased-c.example.com <br />
2273 </VirtualHost><br />
2275 <VirtualHost *:80><br />
2276 ServerName namebased-d.example.com <br />
2277 </VirtualHost><br />
2282 <p>IPv6 adresleri belirtilirken örnekteki gibi köşeli ayraçlar arasına
2286 NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080
2289 <note><title><directive type="section">VirtualHost</directive>
2290 yönergesinin değeri</title>
2291 <p><directive type="section">VirtualHost</directive> yönergesinin
2292 değerinin <directive>NameVirtualHost</directive> yönergesininkiyle tam
2293 olarak eşleşmesi gerektiğine dikkat ediniz.</p>
2296 NameVirtualHost 192.0.2.2:80<br />
2297 <VirtualHost 192.0.2.2:80><br />
2299 </VirtualHost><br />
2304 <seealso><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></seealso>
2306 </directivesynopsis>
2309 <name>Options</name>
2310 <description>Belli bir dizinde geçerli olacak özellikleri yapılandırır.
2313 [+|-]<var>seçenek</var> [[+|-]<var>seçenek</var>] ...</syntax>
2314 <default>Options All</default>
2315 <contextlist><context>server config</context><context>virtual host</context>
2316 <context>directory</context><context>.htaccess</context>
2318 <override>Options</override>
2321 <p><directive>Options</directive> yönergesi belli bir dizinde hangi sunucu
2322 özelliklerinin etkin olacağını (veya olmayacağını) belirler.</p>
2324 <p><var>seçenek</var> olarak hiçbir ek özellik etkin olmayacaksa
2325 <code>None</code>, aksi takdirde aşağıdakilerden biri veya bir kaçı
2329 <dt><code>All</code></dt>
2330 <dd><code>MultiViews</code> hariç tüm seçenekler. Bu öntanımlıdır.</dd>
2332 <dt><code>ExecCGI</code></dt>
2333 <dd><module>mod_cgi</module> kullanan CGI betiklerinin çalışmasına izin
2336 <dt><code>FollowSymLinks</code></dt>
2337 <dd>Sunucu bu dizindeki sembolik bağları izler.
2339 <p>Sembolik bağlar izlense bile <directive type="section"
2340 module="core">Directory</directive> bölümleriyle eşleşen dosya yolları
2342 <p>Ayrıca, bu seçenek bir <directive type="section" module="core"
2343 >Location</directive> bölümü içinde belirtildiği takdirde <strong>yok
2344 sayılır</strong>.</p>
2345 <p>Sembolik bağ sınamaları, atlatılabilir yarış koşullarına konu
2346 olduğundan bu seçeneğin yokluğu bir güvenlik sınırlaması olarak
2347 değerlendirilmemelidir.</p>
2350 <dt><code>Includes</code></dt>
2351 <dd><module>mod_include</module> tarafından sağlanan sunucu taraflı
2352 içeriklere izin verilir.</dd>
2354 <dt><code>IncludesNOEXEC</code></dt>
2355 <dd>Sunucu taraflı içeriklere izin verilir fakat <code>#exec cmd</code>
2356 ve <code>#exec cgi</code> iptal edilir. Ancak, <directive
2357 module="mod_alias">ScriptAlias</directive>’lı dizinlerdeki CGI
2358 betikleri için <code>#include virtual</code> hala mümkün olacaktır.</dd>
2360 <dt><code>Indexes</code></dt>
2361 <dd>İstenen URL bir dizin ile eşleşiyorsa ve bu dizin için bir <directive
2362 module="mod_dir">DirectoryIndex</directive> (<code>index.html</code>
2363 gibi) belirtilmemişse <module>mod_autoindex</module> bu dizinin
2364 biçimlenmiş bir listesini döndürecektir.</dd>
2366 <dt><code>MultiViews</code></dt>
2367 <dd><module>mod_negotiation</module> kullanılarak <a
2368 href="../content-negotiation.html">içerik uzlaştırmalı</a> çok
2369 görünümlü içeriğe izin verilir.</dd>
2371 <dt><code>SymLinksIfOwnerMatch</code></dt>
2372 <dd>Sunucu sembolik bağları sadece sembolik bağın hedefi ile bulunduğu
2373 dizinin sahibinin aynı kullanıcı olması halinde izleyecektir.
2375 <note><title>Ek Bilgi</title> <p>Bu seçenek bir <directive module="core"
2376 type="section">Location</directive> bölümü içinde belirtildiğinde yok
2378 <p>Sembolik bağ sınamaları, atlatılabilir yarış koşullarına konu
2379 olduğundan bu seçenek bir güvenlik sınırlaması olarak
2380 değerlendirilmemelidir.</p></note>
2384 <p>Normalde, bir dizine çok sayıda <directive>Options</directive>
2385 uygulanabilirse de, dizine en uygun olanı uygulanıp diğerleri yok
2386 sayılır; seçenekler katıştırılmaz (bkz, <a href="../sections.html#mergin"
2387 >Bölümler Nasıl Katıştırılır?</a>). Bununla birlikte, önüne bir
2388 <code>+</code> veya <code>-</code> simgesi konmuş seçenekler varsa, o
2389 seçenekler katıştırılır. Önüne <code>+</code> konmuş seçenekler
2390 mevcutlara eklenirken <code>-</code> konmuş seçenekler silinir.</p>
2392 <note type="warning"><title>Uyarı</title>
2393 <p><code>+</code> veya <code>-</code> imli seçenekler içeren
2394 <directive>Options</directive> ile imsiz seçenekler içerenlerin karışık
2395 olarak kullanılması beklenmedik sonuçlara yol açması sebebiyle aslında
2396 geçersiz bir sözdizimidir.</p>
2399 <p>Örneğin, <code>+</code> ve <code>-</code> imleri olmaksızın,</p>
2402 <Directory /web/docs><br />
2404 Options Indexes FollowSymLinks<br />
2406 </Directory><br />
2408 <Directory /web/docs/spec><br />
2410 Options Includes<br />
2415 <p>yapılandırmasıyla <code>/web/docs/spec</code> dizininde sadece
2416 <code>Includes</code> seçeneği etkin olacaktır. Bununla birlikte, ikinci
2417 <directive>Options</directive> yönergesinde <code>+</code> ve
2418 <code>-</code> imleri kullanılırsa,</p>
2421 <Directory /web/docs><br />
2423 Options Indexes FollowSymLinks<br />
2425 </Directory><br />
2427 <Directory /web/docs/spec><br />
2429 Options +Includes -Indexes<br />
2434 <p>yapılandırmasıyla <code>/web/docs/spec</code> dizininde
2435 <code>FollowSymLinks</code> ve <code>Includes</code> seçenekleri etkin
2438 <note><title>Ek Bilgi</title>
2439 <p><code>-IncludesNOEXEC</code> veya <code>-Includes</code> kullanımı,
2440 önceki ayarların ne olduğuna bakılmaksızın sunucu taraflı içeriğin
2441 tamamen iptaline sebep olur.</p>
2444 <p>Herhangi bir başka değer belirtilmedikçe <code>All</code>
2447 </directivesynopsis>
2450 <name>RLimitCPU</name>
2451 <description>Apache alt süreçleri tarafından çalıştırılan süreçlerin işlemci
2452 tüketimine sınırlama getirir.</description>
2453 <syntax>RLimitCPU <var>saniye</var>|max [<var>saniye</var>|max]</syntax>
2454 <default>Bir değer belirtilmemiştir; işletim sistemi öntanımlıları kullanılır
2456 <contextlist><context>server config</context><context>virtual host</context>
2457 <context>directory</context><context>.htaccess</context></contextlist>
2458 <override>All</override>
2461 <p>1 veya 2 değer alır. İlk değer bütün süreçler için sanal özkaynak
2462 sınırını, ikinci değer ise kesin özkaynak sınırını belirler. İki değer de
2463 birer sayı olabileceği gibi bu sınırın işletim sistemi yapılandırmasında
2464 izin verilen üst sınıra ayarlanacağını belirtmek üzere <code>max</code>
2465 olabilir. Kesin özkaynak sınırını yükseltmek için sunucunun
2466 <code>root</code> olarak veya sistem açılışı sırasında çalıştırılması
2469 <p>Bu sınırlar Apache’nin kendi alt süreçlerine değil, isteklere yanıt
2470 verirken Apache alt süreçlerinin çatalladıkları süreçlere uygulanır.
2471 Bunlar CGI betikleri ve SSI çalıştırma komutları olabilir fakat borulu
2472 günlük kaydı gibi ana Apache süreci tarafından çatallanmış süreçler
2475 <p>İşlemci özkaynak sınırları saniye cinsinden ifade edilir.</p>
2477 <seealso><directive module="core">RLimitMEM</directive></seealso>
2478 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2479 </directivesynopsis>
2482 <name>RLimitMEM</name>
2483 <description>Apache alt süreçleri tarafından çalıştırılan süreçlerin bellek
2484 tüketimine sınırlama getirir.</description>
2485 <syntax>RLimitMEM <var>bayt-sayısı</var>|max [<var>bayt-sayısı</var>|max]
2487 <default>Bir değer belirtilmemiştir; işletim sistemi öntanımlıları kullanılır
2489 <contextlist><context>server config</context><context>virtual host</context>
2490 <context>directory</context><context>.htaccess</context></contextlist>
2491 <override>All</override>
2494 <p>1 veya 2 değer alır. İlk değer bütün süreçler için sanal özkaynak
2495 sınırını, ikinci değer ise kesin özkaynak sınırını belirler. İki değer de
2496 birer sayı olabileceği gibi bu sınırın işletim sistemi yapılandırmasında
2497 izin verilen üst sınıra ayarlanacağını belirtmek üzere <code>max</code>
2498 olabilir. Kesin özkaynak sınırını yükseltmek için sunucunun
2499 <code>root</code> olarak veya sistem açılışı sırasında çalıştırılması
2502 <p>Bu sınırlar Apache’nin kendi alt süreçlerine değil, isteklere yanıt
2503 verirken Apache alt süreçlerinin çatalladıkları süreçlere uygulanır.
2504 Bunlar CGI betikleri ve SSI çalıştırma komutları olabilir fakat borulu
2505 günlük kaydı gibi ana Apache süreci tarafından çatallanmış süreçler
2508 <p>Bellek özkaynak sınırları süreç başına bayt sayısı olarak ifade edilir.
2511 <seealso><directive module="core">RLimitCPU</directive></seealso>
2512 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2513 </directivesynopsis>
2516 <name>RLimitNPROC</name>
2517 <description>Apache alt süreçleri tarafından çalıştırılabilecek süreç sayısına
2518 sınırlama getirir.</description>
2519 <syntax>RLimitNPROC <var>sayı</var>|max [<var>sayı</var>|max]</syntax>
2520 <default>Bir değer belirtilmemiştir; işletim sistemi öntanımlıları kullanılır
2522 <contextlist><context>server config</context><context>virtual host</context>
2523 <context>directory</context><context>.htaccess</context></contextlist>
2524 <override>All</override>
2527 <p>1 veya 2 değer alır. İlk değer bütün süreçler için sanal özkaynak
2528 sınırını, ikinci değer ise kesin özkaynak sınırını belirler. İki değer de
2529 birer sayı olabileceği gibi bu sınırın işletim sistemi yapılandırmasında
2530 izin verilen üst sınıra ayarlanacağını belirtmek üzere <code>max</code>
2531 olabilir. Kesin özkaynak sınırını yükseltmek için sunucunun
2532 <code>root</code> olarak veya sistem açılışı sırasında çalıştırılması
2535 <p>Bu sınırlar Apache’nin kendi alt süreçlerine değil, isteklere yanıt
2536 verirken Apache alt süreçlerinin çatalladıkları süreçlere uygulanır.
2537 Bunlar CGI betikleri ve SSI çalıştırma komutları olabilir fakat borulu
2538 günlük kaydı gibi ana Apache süreci tarafından çatallanmış süreçler
2541 <p>Süreç sayısı sınırı kullanıcı başına süreç sayısına sınırlama getirir.
2544 <note><title>Ek Bilgi</title>
2545 <p>CGI süreçleri sunucu kullanıcı kimliğinden farklı bir kullanıcı
2546 kimliği altında çalışmıyorsa bu yönerge sunucunun kendi oluşturduğu
2547 süreç sayısını sınırlayacaktır. Bunun kanıtı <code>error_log</code>’da
2548 iletilerin çatallanamamasıdır.</p>
2551 <seealso><directive module="core">RLimitMEM</directive></seealso>
2552 <seealso><directive module="core">RLimitCPU</directive></seealso>
2553 </directivesynopsis>
2556 <name>ScriptInterpreterSource</name>
2557 <description>CGI betikleri için yorumlayıcı belirleme tekniği</description>
2558 <syntax>ScriptInterpreterSource Registry|Registry-Strict|Script</syntax>
2559 <default>ScriptInterpreterSource Script</default>
2560 <contextlist><context>server config</context><context>virtual host</context>
2561 <context>directory</context><context>.htaccess</context></contextlist>
2562 <override>FileInfo</override>
2563 <compatibility>Sadece Win32 için; <code>Registry-Strict</code> seçeneği Apache
2564 2.0 ve sonrası için geçerlidir.</compatibility>
2567 <p>Bu yönerge Apache’nin CGI betiklerini çalıştıracak yorumlayıcıyı nasıl
2568 tespit edeceğini belirler. <code>Script</code> öntanımlı olup Apache’nin
2569 yorumlayıcı olarak betiğin diyezli ünlem satırında (<code>#!</code> ile
2570 başlayan ilk satır) belirtilen yorumlayıcıyı kullanacağını belirtir.
2571 Win32 sistemlerinde bu satır genellikle şöyledir:</p>
2574 #!C:/Perl/bin/perl.exe
2577 <p><code>perl</code> yorumlayıcının yeri <code>PATH</code> değişkeninde
2578 kayıtlı ise şöyle de olabilir:</p>
2584 <p><code>ScriptInterpreterSource Registry</code> değeri ise betik dosyası
2585 uzantısının (<code>.pl</code> gibi) Windows Sicili içindeki
2586 <code>HKEY_CLASSES_ROOT</code> ağacında arama yapmak için bir arama
2587 anahtarı olarak kullanılmasını sağlar. Betik dosyasını çalıştırmak için
2588 tanımlanmış komutu bulmak için <code>Shell\ExecCGI\Command</code> yoluna,
2589 orada yoksa <code>Shell\Open\Command</code> yoluna bakılır. İkisi de
2590 yoksa son çare olarak <code>Script</code> seçeneğinin davranışına
2593 <note type="warning"><title>Güvenlik</title>
2594 <p><directive module="mod_alias">ScriptAlias</directive>’lı dizinlerde
2595 Apache bulduğu <strong>her</strong> dosyayı çalıştırmayı deneyeceğinden
2596 <code>ScriptInterpreterSource Registry</code> yapılandırmasını
2597 kullanırken dikkatli olun. <code>Registry</code> seçeneği genellikle
2598 çalıştırılmayacak dosyalar için istenmeyen program çağrılarına sebep
2599 olabilir. Örneğin, çoğu Windows sisteminde <code>.htm</code> dosyaları
2600 için ön tanımlı "open" komutu Microsoft Internet Explorer’ın
2601 çalıştırılmasına sebep olur; bu bakımdan, betik dizininde bulunan bir
2602 <code>.htm</code> dosyası için yapılan bir HTTP isteği tarayıcının sunucu
2603 artalanında çalıştırılmasına sebep olacaktır. Bu, sistemi bir kaç dakika
2604 içinde çökertmek için iyi bir yoldur.</p>
2607 <p><code>Registry-Strict</code> seçeneği Apache 2.0’da yeni olup
2608 <code>Registry</code> seçeneğinin yaptığını
2609 <code>Shell\ExecCGI\Command</code> yolu için yapar. <code>ExecCGI</code>
2610 sistem tarafından bilinen bir anahtar olmadığından Windows Siciline elle
2611 kaydedilmesi gerekir ve dolayısıyla sisteminiz üzerinde istenmeyen
2612 program çağrılarına sebep olmaz.</p>
2614 </directivesynopsis>
2617 <name>ServerAdmin</name>
2618 <description>Sunucunun hata iletilerinde istemciye göstereceği eposta adresi
2620 <syntax>ServerAdmin <var>eposta-adresi</var>|<var>URL</var></syntax>
2621 <contextlist><context>server config</context><context>virtual host</context>
2625 <p><directive>ServerAdmin</directive> yönergesi, sunucunun bir hata
2626 durumunda istemciye döndüreceği hata iletilerinde içereceği iletişim
2627 adresini belirtmek için kullanılır. Eğer <program>httpd</program>
2628 sağlanan değerin bir URL olmadığını saptarsa değerin bir eposta adresi
2629 olduğuna hükmeder ve önüne <code>mailto:</code> getirerek onu bir hiper
2630 bağ hedefi olarak kullanır. Çoğu CGI betiği bir eposta adresi
2631 belirtildiği kabulünü yaptığından değer olarak bir URL değil bir eposta
2632 adresi belirtmeniz önerilir. Eğer bir URL belirtecekseniz hedef sizin
2633 denetiminizde olan başka bir sunucuda bulunmalıdır, yoksa kullanıcılar
2634 hata durumunda bu adrese erişemeyebilirler.</p>
2636 <p>Kullanıcıların sunucu hakkında konuşurken isminizden bahsetmemeleri için
2637 burada belirtilecek adresin sırf bu işe adanmış bir adres olması daha
2641 ServerAdmin www-admin@falan.filan.dom
2644 </directivesynopsis>
2647 <name>ServerAlias</name>
2648 <description>İstekleri isme dayalı sanal konaklarla eşleştirilirken
2649 kullanılacak konak adları için başka isimler belirtebilmeyi sağlar.
2651 <syntax>ServerAlias <var>konakadı</var> [<var>konakadı</var>] ...</syntax>
2652 <contextlist><context>virtual host</context></contextlist>
2655 <p><directive>ServerAlias</directive> yönergesi, istekleri <a
2656 href="../vhosts/name-based.html">isme dayalı sanal konaklarla</a>
2657 eşleştirilirken kullanılacak konak adları için başka isimler
2658 belirtebilmeyi sağlar. <directive>ServerAlias</directive> dosya adı kalıp
2659 karakterleri içerebilir.</p>
2662 <VirtualHost *:80><br />
2663 ServerName sunucu.mesela.dom<br />
2664 ServerAlias sunucu sunucu2.mesela.dom sunucu2<br />
2665 ServerAlias *.mesela.dom<br />
2667 </VirtualHost>
2670 <seealso><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></seealso>
2671 </directivesynopsis>
2674 <name>ServerName</name>
2675 <description>Sunucunun özdeşleşeceği konak ismi ve port.</description>
2676 <syntax>ServerName [<var>şema</var>://]<var>tam-nitelenmiş-alan-adı</var>[:<var>port</var>]
2678 <contextlist><context>server config</context><context>virtual host</context>
2680 <compatibility>Bu yönerge 2.0 sürümünden itibaren 1.3 sürümündeki
2681 <directive>Port</directive> yönergesinin işlevselliğini de
2682 üstlenmiştir.</compatibility>
2685 <p><directive>ServerName</directive> yönergesi, sunucunun kendini
2686 betimlemekte kullanacağı şema, konak adı ve port değerlerini belirler.
2687 Bu, yönlendirme URL’leri oluşturulurken kullanılır. Örneğin, HTTP
2688 sunucusunun barındırıldığı makinenin ismi <code>falan.filan.dom</code>
2689 olduğu halde makinenin bir de <code>www.filan.dom</code> diye bir de DNS
2690 rumuzu varsa ve HTTP sunucunuzun bu rumuzla kendini özdeşleştirmesini
2691 isterseniz bunu şöyle belirtebilirsiniz:</p>
2694 ServerName www.filan.dom:80
2697 <p>Bir <directive>ServerName</directive> ataması yapılmamışsa sunucu IP
2698 adresine atanmış sunucu ismi için bir ters DNS sorgusu yapacaktır.
2699 <directive>ServerName</directive> yönergesinde bir port belirtilmediği
2700 takdirde sunucu, isteğin geldiği portu kullanacaktır. Öngörülebilirlik ve
2701 güvenilirlik açısından en iyisi <directive>ServerName</directive>
2702 yönergesini kullanarak açıkça bir konak ismi ve port belirtmektir.</p>
2704 <p><a href="../vhosts/name-based.html">İsme dayalı sanal konaklar</a>
2705 kullanıyorsanız, <directive type="section" module="core"
2706 >VirtualHost</directive> bölümü içindeki
2707 <directive>ServerName</directive> yönergesi, isteğin <code>Host:</code>
2708 başlığında bu sanal konakla eşleşecek konak ismini belirler.</p>
2711 <p>Bazen sunucu, bir ters vekil, yük dengeleyici veya SSL yük aktarım
2712 uygulaması gibi bir aygıtın arkasında çalışır. Böyle durumlarda sunucunun
2713 kendine yönelik URL’leri doğru üretebildiğinden emin olmak için
2714 <directive>ServerName</directive> yönergesinde istemcinin bağlanacağı
2715 <code>https://</code> şeması ve port numarası belirtilir.</p>
2717 <p>Sunucunun kendine yönelik URL’lerin belirtilen portu içerip içermediğini
2718 veya istemcinin yaptığı istekte belirtilen port numarasının verilip
2719 verilmediğinin saptamasını sağlayan (örneğin, <module>mod_dir</module>
2720 modülü tarafından) ayarlar için <directive
2721 module="core">UseCanonicalName</directive> ve
2722 <directive module="core">UseCanonicalPhysicalPort</directive>
2723 yönergelerinin açıklamalarına bakınız.</p>
2727 <seealso><a href="../dns-caveats.html">DNS ile ilgili konular ve Apache</a>
2729 <seealso><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></seealso>
2730 <seealso><directive module="core">UseCanonicalName</directive></seealso>
2731 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
2732 <seealso><directive module="core">NameVirtualHost</directive></seealso>
2733 <seealso><directive module="core">ServerAlias</directive></seealso>
2734 </directivesynopsis>
2737 <name>ServerPath</name>
2738 <description>Uyumsuz bir tarayıcı tarafından erişilmesi için bir isme dayalı sanal konak için meşru URL yolu</description>
2739 <syntax>ServerPath <var>URL-yolu</var></syntax>
2740 <contextlist><context>virtual host</context></contextlist>
2743 <p><directive>ServerPath</directive> yönergesi <a href="../vhosts/">isme
2744 dayalı sanal konaklar</a>da kullanmak için konağa meşru bir URL yolu
2747 <seealso><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></seealso>
2748 </directivesynopsis>
2751 <name>ServerRoot</name>
2752 <description>Sunucu yapılandırması için kök dizin</description>
2753 <syntax>ServerRoot <var>dizin-yolu</var></syntax>
2754 <default>ServerRoot /usr/local/apache</default>
2755 <contextlist><context>server config</context></contextlist>
2758 <p><directive>ServerRoot</directive> yönergesi sunucu yapılandırmasını
2759 içeren dizinin yerini belirtir. Genellikle <code>conf/</code> ve
2760 <code>logs/</code> gibi alt dizinler içerir. <directive
2761 module="core">Include</directive>, <directive
2762 module="mod_so">LoadModule</directive> gibi diğer yapılandırma
2763 yönergelerindeki göreli yollar bu dizine göre ele alınır.</p>
2765 <example><title>Örnek</title>
2766 ServerRoot /home/httpd
2770 <seealso><a href="../invoking.html"><code>httpd</code> için <code>-d</code> seçeneği</a></seealso>
2771 <seealso><directive>ServerRoot</directive> dizininin erişim izinlerinin nasıl
2772 ayarlanması gerektiğini öğrenmek için <a
2773 href="../misc/security_tips.html#serverroot">güvenlik ipuçları</a></seealso>
2774 </directivesynopsis>
2777 <name>ServerSignature</name>
2778 <description>Sunucu tarafından üretilen belgelerin dipnotunu ayarlar.
2780 <syntax>ServerSignature On|Off|EMail</syntax>
2781 <default>ServerSignature Off</default>
2782 <contextlist><context>server config</context><context>virtual host</context>
2783 <context>directory</context><context>.htaccess</context>
2785 <override>All</override>
2788 <p><directive>ServerSignature</directive> yönergesi, sunucu tarafından
2789 üretilen belgelerin (hata iletileri, <module>mod_proxy</module> ftp dizin
2790 listeleri, <module>mod_info</module> çıktısı, vs.) altındaki dipnot
2791 satırını yapılandırabilmenizi sağlar. Böyle bir dipnot satırın
2792 istenmesinin sebebi vekil zincirlerinde istemciye dönen hata iletisinin
2793 aslında hangi sunucu tarafından üretildiğini kullanıcıya bildirmektir.</p>
2795 <p><code>Off</code> değeri öntanımlı değer olup dipnot satırının
2796 gösterilmemesini sağlar (Apache-1.2 ve öncesi ile uyumluluk).
2797 <code>On</code> değeri, sunucu sürüm numarası ve hizmeti sunan sanal
2798 konağın isminden (<directive module="core">ServerName</directive>) oluşan
2799 bir dipnot satırı oluşturulmasını sağlar; <code>EMail</code> değeri bu
2800 ikisine ek olarak satıra <directive module="core">ServerAdmin</directive>
2801 ile belirtilen adres için bir "mailto:" bağı ekler.</p>
2803 <p>2.0.44 sürümünden beri sunucu sürüm numarasının ayrıntıları <directive
2804 module="core">ServerTokens</directive> yönergesi ile belirlenmektedir.</p>
2806 <seealso><directive module="core">ServerTokens</directive></seealso>
2807 </directivesynopsis>
2810 <name>ServerTokens</name>
2811 <description><code>Server</code> HTTP yanıt başlığını yapılandırır.
2813 <syntax>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</syntax>
2814 <default>ServerTokens Full</default>
2815 <contextlist><context>server config</context></contextlist>
2818 <p>Bu yönerge <code>Server</code> HTTP yanıt başlığı alanında istemcilere
2819 sunucunun işletim sistemi, sunucuyla derlenmiş modüller, vs. hakkında
2820 bilgi verilip verilmeyeceğini belirler.</p>
2823 <dt><code>ServerTokens Prod[uctOnly]</code></dt>
2825 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server:
2828 <dt><code>ServerTokens Major</code></dt>
2830 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server:
2831 Apache/2</code></dd>
2833 <dt><code>ServerTokens Minor</code></dt>
2835 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server:
2836 Apache/2.0</code></dd>
2838 <dt><code>ServerTokens Min[imal]</code></dt>
2840 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server:
2841 Apache/2.0.41</code></dd>
2843 <dt><code>ServerTokens OS</code></dt>
2845 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: Apache/2.0.41
2848 <dt><code>ServerTokens Full</code> (ya da belirtilmezse)</dt>
2850 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: Apache/2.0.41
2851 (Unix) PHP/4.2.2 MyMod/1.2</code></dd>
2854 <p>Bu ayarlama sunucunun tamamını etkiler ve her sanal konak için
2855 farklılaştırılamaz.</p>
2857 <p>2.0.44 sürümünden itibaren bu yönerge <directive
2858 module="core">ServerSignature</directive> yönergesi tarafından sunulan
2859 bilgiyi de etkilemektedir.</p>
2861 <seealso><directive module="core">ServerSignature</directive></seealso>
2862 </directivesynopsis>
2865 <name>SetHandler</name>
2866 <description>Eşleşen tüm dosyaların belli bir eylemci tarafından işlenmesine
2867 sebep olur.</description>
2868 <syntax>SetHandler <var>eylemci-ismi</var>|None</syntax>
2869 <contextlist><context>server config</context><context>virtual host</context>
2870 <context>directory</context><context>.htaccess</context>
2872 <override>FileInfo</override>
2873 <compatibility>Apache 2.0’da core modülüne taşındı.</compatibility>
2876 <p>Bir <code>.htaccess</code> dosyasına veya bir <directive type="section"
2877 module="core">Directory</directive> ya da <directive type="section"
2878 module="core">Location</directive> bölümüne yerleştirildiğinde, eşleşen
2879 tüm dosyaların, ismi <var>eylemci-ismi</var> ile belirtilen <a
2880 href="../handler.html">eylemci</a> tarafından çözümlenmesine sebep olur.
2881 Örneğin, bir dizin içindeki bütün dosyaların, uzantılarına bakılmaksızın
2882 birer imagemap kural dosyası olarak çözümlenmesini istersiniz, bu dizin
2883 içindeki bir <code>.htaccess</code> dosyasına şöyle bir satır
2887 SetHandler imap-file
2890 <p>Başka bir örnek: <code>http://localhost/status</code> gibi bir istek
2891 yapıldığında sunucunun bir durum bilgisi göstermesi için
2892 <code>httpd.conf</code> dosyasına şöyle bir satır koyabilirsiniz:</p>
2895 <Location /status><br />
2897 SetHandler server-status<br />
2902 <p>Evvelce tanımlanmış bir <directive>SetHandler</directive> yönergesini
2903 <code>None</code> değeriyle geçersiz hale getirebilirsiniz.</p>
2905 <p><strong>Bilginize:</strong><directive>SetHandler</directive> yönergesi,
2906 öntanımlı eylemcileri geçersiz kıldığından, index dosyaları ve dizinleri
2907 belirtmek için URL’nin sonuna / getirmek şeklindeki normal davranış
2911 <seealso><directive module="mod_mime">AddHandler</directive></seealso>
2913 </directivesynopsis>
2916 <name>SetInputFilter</name>
2917 <description>POST girdilerini ve istemci isteklerini işleyecek süzgeçleri
2918 belirler.</description>
2919 <syntax>SetInputFilter <var>süzgeç</var>[;<var>süzgeç</var>...]</syntax>
2920 <contextlist><context>server config</context><context>virtual host</context>
2921 <context>directory</context><context>.htaccess</context>
2923 <override>FileInfo</override>
2926 <p><directive>SetInputFilter</directive> yönergesi, istemci isteklerini
2927 ve sunucu tarafından alındığı takdirde POST girdisini işleyecek süzgeç
2928 veya süzgeçleri belirler. Bu, diğer <directive module="mod_mime"
2929 >AddInputFilter</directive> yönergeleri dahil evvelce tanımlanmış
2930 süzgeçlere eklenir.</p>
2932 <p>Birden fazla süzgeç belirtilmek istenirse birbirlerinden noktalı
2933 virgüllerle ayrılmalı ve çıktıyı işleyecekleri sıraya uygun olarak
2934 sıralanmalıdırlar.</p>
2936 <seealso><a href="../filter.html">Süzgeçler</a> belgesi</seealso>
2937 </directivesynopsis>
2940 <name>SetOutputFilter</name>
2941 <description>Sunucunun yanıtlarını işleyecek süzgeçleri belirler.</description>
2942 <syntax>SetOutputFilter <var>süzgeç</var>[;<var>süzgeç</var>...]</syntax>
2943 <contextlist><context>server config</context><context>virtual host</context>
2944 <context>directory</context><context>.htaccess</context>
2946 <override>FileInfo</override>
2949 <p><directive>SetOutputFilter</directive> yönergesi, istemciye
2950 gönderilmeden önce sunucunun yanıtlarını işleyecek süzgeçleri belirler.
2951 Bu, diğer <directive module="mod_mime">AddOutputFilter</directive>
2952 yönergeleri dahil evvelce tanımlanmış süzgeçlere eklenir.</p>
2954 <p>Örneğin, aşağıdaki yapılandırma ile <code>/www/data/</code> dizinindeki
2955 bütün dosyalar sunucu taraflı içerik kapsamında ele alınacaktır.</p>
2958 <Directory /www/data/><br />
2960 SetOutputFilter INCLUDES<br />
2965 <p>Birden fazla süzgeç belirtilmek istenirse birbirlerinden noktalı
2966 virgüllerle ayrılmalı ve çıktıyı işleyecekleri sıraya uygun olarak
2967 sıralanmalıdırlar.</p>
2969 <seealso><a href="../filter.html">Süzgeçler</a> belgesi</seealso>
2970 </directivesynopsis>
2973 <name>TimeOut</name>
2974 <description>Bir istek için başarısız olmadan önce belirli olayların
2975 gerçekleşmesi için sunucunun geçmesini bekleyeceği süre.</description>
2976 <syntax>TimeOut <var>saniye</var></syntax>
2977 <default>TimeOut 300</default>
2978 <contextlist><context>server config</context><context>virtual host</context>
2982 <p><directive>TimeOut</directive> yönergesi Apache’nin aşağıdaki durumlarda
2983 G/Ç için bekleyeceği süreyi belirler:</p>
2986 <li>Veriyi istemciden okurken, okuma tamponu boş olduğu takdirde bir TCP
2987 paketinin gelmesini bekleyeceği süre.</li>
2989 <li>Veriyi istemciye yazarken, gönderme tamponu dolu olduğu takdirde bir
2990 paket alındısı için beklenecek süre.</li>
2992 <li><module>mod_cgi</module> modülünde, bir CGI betiğinden çıktı için
2993 beklenecek süre.</li>
2995 <li><module>mod_ext_filter</module> modülünde, bir süzme işleminden çıktı
2996 almak için beklenecek süre.</li>
2998 <li><module>mod_proxy</module> modülünde, <directive
2999 module="mod_proxy">ProxyTimeout</directive> yönergesi
3000 yapılandırılmamışsa öntanımlı zaman aşımı değeri.</li>
3004 </directivesynopsis>
3007 <name>TraceEnable</name>
3008 <description><code>TRACE</code> isteklerinde davranış şeklini belirler
3010 <syntax>TraceEnable <var>[on|off|extended]</var></syntax>
3011 <default>TraceEnable on</default>
3012 <contextlist><context>server config</context></contextlist>
3013 <compatibility>Apache 1.3.34, 2.0.55 ve sonrasında mevcuttur.</compatibility>
3016 <p>Bu yönerge çekirdek ve vekil (<module>mod_proxy</module>) sunucuların
3017 her ikisi için öntanımlı <code>TRACE</code> davranışını değiştirir.
3018 Öntanımlı olan <code>TraceEnable on</code> ile RFC 2616’dan kaynaklanan
3019 ve isteğe herhangi bir istek gövdesinin eşlik etmesine izin vermeyen
3020 <code>TRACE</code> isteklerine izin verilir. <code>TraceEnable off</code>
3021 ile çekirdek ve vekil (<module>mod_proxy</module>) sunucuların her ikisi
3022 de <code>TRACE</code> isteklerine yanıt olarak bir <code>405</code>
3023 (Yönteme izin verilmiyor) hatası döndürür.</p>
3025 <p><code>TraceEnable extended</code> ile sadece sınama ve tanı koyma
3026 amaçlarına yönelik olarak istek gövdelerine izin verilir. Asıl sunucu
3027 istek gövdesini 64k ile sınırlar (<code>Transfer-Encoding: chunked</code>
3028 kullanılmışsa bölüm başlıkları için 8k daha). Asıl sunucu yanıt
3029 gövdesinde tüm başlıkları ve bölüm başlıklarının tamamını yansıtacaktır.
3030 Vekil sunucuda ise istek gövdesi için 64k’lık sınır yoktur.</p>
3032 </directivesynopsis>
3035 <name>UseCanonicalName</name>
3036 <description>Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar
3038 <syntax>UseCanonicalName On|Off|DNS</syntax>
3039 <default>UseCanonicalName Off</default>
3040 <contextlist><context>server config</context><context>virtual host</context>
3041 <context>directory</context></contextlist>
3044 <p>Apache‘nin çoğu durumda özüne yönelik URL‘ler (isteğin tekrar aynı
3045 sunucuya yapıldığı bir URL türü) oluşturması gerekir.
3046 <code>UseCanonicalName On</code> ile Apache, sunucu için meşru ismi ve
3047 portu oluşturmak için <directive module="core">ServerName</directive>
3048 yönergesinde belirtilen ismi ve portu kullanır. Bu isim CGI'lerde
3049 <code>SERVER_NAME</code> ve <code>SERVER_PORT</code> değerlerinde ve tüm
3050 özüne yönelik URL’lerde kullanılır.</p>
3052 <p><code>UseCanonicalName Off</code> ile Apache, özüne yönelik URL’leri
3053 varsa istemci tarafından sağlanan konak ismini ve portu kullanarak
3054 oluşturur; bunlar istemci tarafından sağlanmamışsa yukarıda tanımlanan
3055 işleme başvurulur. Bu değerler, <a href="../vhosts/name-based.html">isme
3056 dayalı sanal konakları</a> gerçekleştirirken kullanılan değerlerle aynı
3057 olup aynı istemcilerle kullanılabilir. <code>SERVER_NAME</code> ve
3058 <code>SERVER_PORT</code> CGI değişkenleri de istemci tarafından sağlanan
3059 isim ve portla oluşturulur.</p>
3061 <p>Bir örnek olarak, iç ağdaki istemcilerin sunucuya <code>www</code> gibi
3062 bir kısa isim kullanarak bağlandığı durumu ele alırsak daha yararlı olur.
3063 Kullanıcılar bir kısa isim ve bir dizin isminden oluşan ve <em>bir / ile
3064 sonlandırılmamış</em> <code>http://www/splat</code> şeklinde bir istek
3065 yaparlarsa, Apache onları <code>http://www.mesela.dom/splat/</code>
3066 adresine yönlendirecektir. Eğer kimlik doğrulama da etkinse bu
3067 kullanıcının iki defa kimlik doğrulamasına sokulmasına sebep olacaktır
3068 (bir kere <code>www</code> için bir kere de <code>www.mesela.dom</code>
3069 için; daha ayrıntılı bilgi için <a
3070 href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">SSS</a>’y
3071 e bakınız). Fakat <directive>UseCanonicalName Off</directive> olsaydı
3072 Apache isteği <code>http://www/splat/</code> adresine yönlendirecekti.</p>
3074 <p><code>UseCanonicalName DNS</code> diye üçüncü bir seçenek daha vardır ve
3075 istek yaparken <code>Host:</code> başlığını kullanmayan eski istemcileri
3076 desteklemek amacıyla IP’ye dayalı sanal konaklarla kullanmak için
3077 tasarlanmıştır. Bu seçenek etkin olduğunda Apache, istemciyi özüne
3078 yönelik URL’lerle doğru yere bağlamak için sunucu IP adresi üzerinde bir
3079 ters DNS sorgusu yapar.</p>
3081 <note type="warning"><title>Uyarı</title>
3082 <p>Eğer CGI’ler <code>SERVER_NAME</code> değerleri için önkabuller
3083 yapıyorlarsa bu seçenek işlerinin bozulmasına yol açabilir. Aslında
3084 istemciler konak ismi olarak istedikleri değeri vermekte özgürdürler.
3085 Fakat eğer CGI, özüne yönelik URL’leri oluştururken sadece
3086 <code>SERVER_NAME</code> değerini kullanıyorsa bu istendiği gibi
3090 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
3091 <seealso><directive module="core">ServerName</directive></seealso>
3092 <seealso><directive module="mpm_common">Listen</directive></seealso>
3093 </directivesynopsis>
3096 <name>UseCanonicalPhysicalPort</name>
3097 <description>Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar
3099 <syntax>UseCanonicalPhysicalPort On|Off</syntax>
3100 <default>UseCanonicalPhysicalPort Off</default>
3101 <contextlist><context>server config</context><context>virtual host</context>
3102 <context>directory</context></contextlist>
3105 <p>Apache‘nin çoğu durumda özüne yönelik URL‘ler (isteğin tekrar aynı
3106 sunucuya yapıldığı bir URL türü) oluşturması gerekir. Apache <directive
3107 module="core">UseCanonicalName</directive> yönergesine bağlı olarak
3108 sunucu için meşru portu oluştururken <code>UseCanonicalPhysicalPort
3109 On</code> ile olası port olarak istek tarafından kullanılmakta olan
3110 fiziksel portu kullanacaktır. <code>UseCanonicalPhysicalPort Off</code>
3111 olduğunda ise geçerli bir port numarası oluşturmak için asıl fiziksel
3112 port yerine yapılandırma bilgisi kullanılır.</p>
3114 <note><title>Ek Bilgi</title>
3115 <p>Fiziksel port kullanımı etkin olduğunda işlemler şu sırayla
3116 yürütülür:<br /><br />
3117 <code>UseCanonicalName On</code></p>
3119 <li><code>Servername</code> yönergesinde belirtilen port</li>
3120 <li>Fiziksel port</li>
3121 <li>Öntanımlı port</li>
3123 <code>UseCanonicalName Off | DNS</code>
3125 <li><code>Host:</code> başlığından çözümlenen port</li>
3126 <li>Fiziksel port</li>
3127 <li><code>Servername</code> yönergesinde belirtilen port</li>
3128 <li>Öntanımlı port</li>
3131 <p><code>UseCanonicalPhysicalPort Off</code> olduğunda işlem sırasında
3132 fiziksel port adımları atlanır.</p>
3136 <seealso><directive module="core">UseCanonicalName</directive></seealso>
3137 <seealso><directive module="core">ServerName</directive></seealso>
3138 <seealso><directive module="mpm_common">Listen</directive></seealso>
3139 </directivesynopsis>
3141 <directivesynopsis type="section">
3142 <name>VirtualHost</name>
3143 <description>Sadece belli bir konak ismine ve porta uygulanacak yönergeleri barındırır.</description>
3144 <syntax><VirtualHost
3145 <var>adres</var>[:<var>port</var>] [<var>adres</var>[:<var>port</var>]]
3146 ...> ... </VirtualHost></syntax>
3147 <contextlist><context>server config</context></contextlist>
3150 <p><directive type="section">VirtualHost</directive> ve
3151 <code></VirtualHost></code> birlikte sadece belli bir sanal konağa
3152 uygulanacak yönergeleri sarmalamakta kullanılırlar. Bir sanal konak
3153 kapsamında belirtilebilecek her yönerge kullanılabilir. Sunucu belli bir
3154 sanal konak üzerindeki bir belge için bir istek aldığında <directive
3155 type="section">VirtualHost</directive> bölümünde bulunan yapılandırma
3156 yönergelerini kullanır. <var>adres</var> şunlardan biri olabilir:</p>
3159 <li>Sanal konağın IP adresi.</li>
3161 <li>Sanal konağın IP adresi için tam nitelenmiş alan adı (önerilmez).</li>
3163 <li><code>NameVirtualHost *</code> ile birlikte tüm IP adresleri ile
3164 eşleşmek üzere <code>*</code> karakteri.</li>
3166 <li>Sadece IP sanal konaklarında kullanmak için eşleşmeyen IP adreslerini
3167 yakalamak amacıyla <code>_default_</code> dizgesi.</li>
3170 <example><title>Örnek</title>
3171 <VirtualHost 10.1.2.3><br />
3173 ServerAdmin webmaster@konak.mesela.dom<br />
3174 DocumentRoot /www/docs/konak.mesela.dom<br />
3175 ServerName konak.mesela.dom<br />
3176 ErrorLog logs/konak.mesela.dom-error_log<br />
3177 TransferLog logs/konak.mesela.dom-access_log<br />
3179 </VirtualHost>
3183 <p>İsteğe bağlı port numarasını belirtmeyi mümkün kılmak için IPv6
3184 adresleri köşeli ayraç içine alınır. IPv6 adresi kullanılan bir örnek:</p>
3187 <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br />
3189 ServerAdmin webmaster@konak.mesela.dom<br />
3190 DocumentRoot /www/docs/konak.mesela.dom<br />
3191 ServerName konak.mesela.dom<br />
3192 ErrorLog logs/konak.mesela.dom-error_log<br />
3193 TransferLog logs/konak.mesela.dom-access_log<br />
3195 </VirtualHost>
3198 <p>Her sanal konağın ya farklı bir IP adresi ve port ile ya da farklı bir
3199 konak ismiyle eşleşmesi gerekir. Birinci durumda sunucu makinesinin çok
3200 sayıda adresten IP paketleri kabul edecek şekilde yapılandırılması
3201 gerekir. (Eğer makinede çok sayıda ağ arabirimi yoksa bu, işletim sistemi
3202 desteklediği takdirde <code>ifconfig alias</code> komutuyla
3205 <note><title>Ek Bilgi</title>
3206 <p><directive type="section">VirtualHost</directive> kullanımı Apache’nin
3207 dinleyeceği adresler üzerinde belirleyici değildir. Apache’nin doğru
3208 adresi dinlediğinden emin olmak için <directive
3209 module="mpm_common">Listen</directive> kullanmanız gerekebilir.</p>
3212 <p>IP’ye dayalı sanal konakları kullanıyorsanız, diğer sanal konaklarda
3213 açıkça belirtilmemiş bir IP adresiyle eşleşecek sanal konağı
3214 <code>_default_</code> özel ismiyle belirtebilirsiniz. "Ana" sunucu
3215 yapılandırmasında <code>_default_</code> diye bir sanal konağın
3216 bulunmaması halinde, hiçbir IP adresi eşleşmesi bulunamadığı takdirde
3217 <directive type="section">VirtualHost</directive> bölümleri dışında
3218 kalan tüm yapılandırmalar bu amaca yönelik olarak kullanılır.</p>
3220 <p>Eşleşilecek portu değiştirmek için bir <code>:port</code>
3221 belirtebilirsiniz. Port bu şekilde değiştirilmediği takdirde ana
3222 sunucunun son <directive module="mpm_common">Listen</directive>
3223 yönergesinde belirtilen port kullanılır. Bir adresteki tüm portlarla
3224 eşleşileceğini belirtmek için <code>:*</code> kullanabilirsiniz. (Bu,
3225 <code>_default_</code> kullanıldığı takdirde önerilir.)</p>
3227 <p>Her <directive type="section">VirtualHost</directive> bloku içinde bir
3228 <directive module="core">ServerName</directive> yönergesi mutlaka
3229 olmalıdır. Yokluğu halinde "ana" sunucu yapılandırmasındaki <directive
3230 module="core">ServerName</directive> miras alınacaktır (yani, sanal konak
3231 belirtmek için boşuna uğraşmış olursunuz).</p>
3233 <note type="warning"><title>Güvenlik</title>
3234 <p>Günlük dosyalarının sunucuyu çalıştıran kullanıcıdan başka herkes
3235 tarafından yazılabilen bir yerde saklanmasından dolayı ortaya çıkabilecek
3236 güvenlik sorunları hakkında daha ayrıntılı bilgi için <a
3237 href="../misc/security_tips.html">güvenlik ipuçları</a> belgesine
3241 <seealso><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></seealso>
3242 <seealso><a href="../dns-caveats.html">DNS ile İlgili Konular ve Apache</a></seealso>
3243 <seealso><a href="../bind.html">Apache’nin belli adresleri ve portları dinlemek
3244 üzere yapılandırılması</a></seealso>
3245 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir arada
3246 ele alındığının açıklaması için <a href="../sections.html">
3247 <Directory>, <Location> ve <Files> bölümleri nasıl
3248 çalışır?</a> belgesine bakınız.</seealso>
3249 </directivesynopsis>