2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
4 <!-- English Revision: 780016:810477 (outdated) -->
5 <!-- =====================================================
6 Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7 Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
11 Licensed to the Apache Software Foundation (ASF) under one or more
12 contributor license agreements. See the NOTICE file distributed with
13 this work for additional information regarding copyright ownership.
14 The ASF licenses this file to You under the Apache License, Version 2.0
15 (the "License"); you may not use this file except in compliance with
16 the License. You may obtain a copy of the License at
18 http://www.apache.org/licenses/LICENSE-2.0
20 Unless required by applicable law or agreed to in writing, software
21 distributed under the License is distributed on an "AS IS" BASIS,
22 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 See the License for the specific language governing permissions and
24 limitations under the License.
27 <modulesynopsis metafile="core.xml.meta">
30 <description>Apache HTTP Sunucusunda daima mevcut olan çekirdek
31 özellikler</description>
35 <name>AcceptFilter</name>
36 <description>Bir protokolün dinleyici soketleri için en iyilemeleri ayarlar
38 <syntax>AcceptFilter <var>protocol</var> <var>kabul_süzgeci</var></syntax>
39 <contextlist><context>server config</context></contextlist>
40 <compatibility>Windows'ta Apache 2.3.3 ve sonrasında diğerlerinde Apache
41 2.1.5 ve sonrasında mevcuttur.</compatibility>
44 <p>Bu yönerge protokol türüne göre bir dinleme soketinin işletim
45 sistemine özgü en iyilemelerini etkin kılar. İşletim sistemi çekirdeği
46 için temel önerme veri alınıncaya kadar veya HTTP isteğinin tamamı
47 tamponlanana kadar sunucu sürecine bir soket tahsis etmemektir.
49 href="http://www.freebsd.org/cgi/man.cgi?query=accept_filter&sektion=9"
50 >FreeBSD’nin Kabul Süzgeçleri</a> ve Linux’un soket seçeneklerinden
51 <code>TCP_DEFER_ACCEPT</code> ve Windows'un en iyilenmiş
52 <code>AcceptEx()</code> işlevi desteklenmektedir.</p>
54 <p>Değiştirge olarak <code>none</code> kullanımı, protokolün kabul
55 süzgeçlerini iptal edecektir. <code>ftp:</code> veya <code>nntp</code>
56 gibi sunucunun baştan bir veri göndermesinin gerekli olduğu
57 protokoller için kullanışlıdır. Örnek:</p>
59 <example>AcceptFilter nntp none</example>
61 <p>FreeBSD için öntanımlı değerler:</p>
63 AcceptFilter http httpready <br/>
64 AcceptFilter https dataready
67 <p><code>httpready</code> kabul süzgeci HTTP isteklerinin tamamını
68 işletim sistemi çekirdeği seviyesinde tamponlar. Çekirdek isteğin
69 tamamını alır almaz sunucuya gönderir. Ayrıntılar için <a
70 href="http://www.freebsd.org/cgi/man.cgi?query=accf_http&sektion=9"
71 >accf_http(9)</a> kılavuz sayfasına bakınız. HTTPS istekleri
72 şifrelenmiş olduğundan sadece <a
73 href="http://www.freebsd.org/cgi/man.cgi?query=accf_data&sektion=9"
74 >accf_data(9)</a> süzgeci kullanılır.</p>
76 <p>Linux’taki öntanımlı değerler:</p>
78 AcceptFilter http data <br/>
79 AcceptFilter https data
82 <p>Linux’un <code>TCP_DEFER_ACCEPT</code> soket seçeneği HTTP isteklerinin
83 tamponlanmasını desteklemez. <code>none</code> dahil her değer
84 dinleyici üzerinde <code>TCP_DEFER_ACCEPT</code> seçeneğini etkin kılar.
85 Daha ayrıntılı bilgi edinmek için Linux
86 <a href="http://homepages.cwi.nl/~aeb/linux/man2html/man7/tcp.7.html"
87 >tcp(7)</a> kılavuz sayfasına bakınız.</p>
89 <p>Windows’taki öntanımlı değerler::</p>
92 AcceptFilter http data <br/>
93 AcceptFilter https data
96 <p>Windows'un <code>mpm_winnt</code> modülü <code>AcceptEx()</code>
97 arayüzünü açıp kapamak için <code>AcceptFilter</code>'i yorumlar ve
98 http protokol tamponlamasını desteklemez. Windows
99 <code>AcceptEx()</code> arayüzünü tetikleyen iki değer vardır ve ağ
100 soketlerini bağlantılar arasında yer değiştirirler. <code>data</code>,
101 veri aktarılana kadar yukarıda anlatıldığı gibi bekler ve ilk veri
102 tamponu ve uç ağ adresleri tek bir <code>AcceptEx()</code> çağrısından
103 alınır. <code>connect</code>, <code>AcceptEx()</code> arayüzünü
104 kullanacak, ayrıca uç ağ adresleri de alınacak, fakat
105 <code>none</code> gibi <code>connect</code> seçeneği de ilk veri
106 aktarımını beklemeyecektir.</p>
108 <p>Windows'ta <code>none</code> <code>AcceptEx()</code>'ten ziyade
109 <code>accept()</code> kullanır ve ağ soketlerini bağlantılar arasında
110 yer değiştirmez. Sürücü desteği bozuk ağ bağdaştırıcılarından başka
111 vpn sürücüleri gibi bazı sanal ağ sağlayıcılar veya spam, virus veya
112 casus yazılım süzgeçleri için kullanışlıdır.</p>
117 <name>AcceptPathInfo</name>
118 <description>Dosya isminden sonra belirtilen yol verisini kabul veya
119 reddeder.</description>
120 <syntax>AcceptPathInfo On|Off|Default</syntax>
121 <default>AcceptPathInfo Default</default>
122 <contextlist><context>server config</context>
123 <context>virtual host</context><context>directory</context>
124 <context>.htaccess</context></contextlist>
125 <override>FileInfo</override>
126 <compatibility>Apache 2.0.30 ve sonrasında mevcuttur.</compatibility>
129 <p>Bu yönerge, istekte dosya isminden sonra (dizinde belirtilen dosya
130 bulunmayabilir) belirtilen yol verisinin kabul edilip edilmeyeceğini
131 denetler. Dosya isminden sonra belirtilen yol verisi
132 <code>PATH_INFO</code> ortam değişkeninde betiklerin kullanımına
135 <p>Örneğin, içinde sadece <code>here.html</code> dosyası bulunan bir
136 <code>/test/</code> dizinimiz olsun. <code>/test/here.html/more</code>
137 ve <code>/test/nothere.html/more</code> isteklerinin her ikisi de
138 <code>PATH_INFO</code> değişkenine <code>/more</code> verisinin
139 atanmasını sağlar.</p>
141 <p><directive>AcceptPathInfo</directive> yönergesine atanabilecek argüman
144 <dt><code>Off</code></dt><dd>Sadece dosya isminden sonra yol verisi
145 bulunmayan istekler kabul edilir. Yukarıdaki örnekteki gibi
146 <code>/test/here.html/more</code> şeklindeki istekler bir 404 (Nesne
147 bulunamadı) hatasıyla sonuçlanır.</dd>
149 <dt><code>On</code></dt><dd>Mevcut bir dosyaya ait bir dosya isminden
150 sonra bir yol verisinin de belirtildiği istekler kabul edilir.
151 Yukarıdaki örnekteki gibi <code>/test/here.html/more</code> şeklindeki
152 istekler, <code>/test/here.html</code> geçerli bir dosya olduğu
153 takdirde kabul edilir.</dd>
155 <dt><code>Default</code></dt><dd>Dosya isminden sonra yol verisi
156 belirtilen isteklerin nasıl ele alınacağı istekten sorumlu <a
157 href="../handler.html">eylemci</a> tarafından saptanır. Normal dosyalar
158 için çekirdek eylemci öntanımlı olarak <code>PATH_INFO</code>
159 isteklerini reddeder. <a
160 href="mod_cgi.html"><code>cgi-script</code></a> ve <a
161 href="mod_isapi.html"><code>isapi-handler</code></a> gibi betiklere
162 hizmet eden eylemciler ise genellikle <code>PATH_INFO</code>
163 isteklerini öntanımlı olarak kabul ederler.</dd>
166 <p><code>AcceptPathInfo</code> yönergesinin birincil amacı eylemcinin
167 <code>PATH_INFO</code> istekleri hakkında verdiği kabul veya red
168 kararını geçersiz kılabilmenizi sağlamaktır. Örneğin,
169 <code>PATH_INFO</code>’ya dayalı olarak içerik üretmek için <a
170 href="mod_include.html"><code>INCLUDES</code></a> gibi bir <a
171 href="../filter.html">süzgeç</a> kullandığınız takdirde bu
172 geçersizleştirme zorunlu olur. Normal dosyalar için çekirdek eylemci
173 normal olarak isteği reddederdi, böyle bir durumda bir betiği etkin
174 kılmak için aşağıdaki gibi bir yapılandırma kullanabilirsiniz:</p>
177 <Files "mypaths.shtml"><br />
179 Options +Includes<br />
180 SetOutputFilter INCLUDES<br />
181 AcceptPathInfo On<br />
190 <name>AccessFileName</name>
191 <description>Dağıtık yapılandırma dosyasının ismi belirtilir.</description>
192 <syntax>AccessFileName <var>filename</var> [<var>filename</var>] ...</syntax>
193 <default>AccessFileName .htaccess</default>
194 <contextlist><context>server config</context><context>virtual host</context>
198 <p>Belge yolu üzerindeki dizinlerde dağıtık yapılandırma dosyalarının <a
199 href="#allowoverride">bulunmasına izin verilmişse</a> sunucu bir isteği
200 işlerken önce bu dizinlerde bu yönergede belirtilmiş yapılandırma
201 dosyasını arar. Örnek:</p>
207 <p>Sunucu, <code>/usr/local/web/index.html</code> belgesini döndürmeden
211 <Directory /><br />
213 AllowOverride None<br />
218 <p>şeklinde bir yapılandırma ile iptal edilmiş olmadıkça yönergeler için
219 <code>/.acl</code>, <code>/usr/.acl</code>,
220 <code>/usr/local/.acl</code> ve <code>/usr/local/web/.acl</code>
221 dosyalarını okur.</p>
223 <seealso><directive module="core">AllowOverride</directive></seealso>
224 <seealso><a href="../configuring.html">Yapılandırma Dosyaları</a></seealso>
225 <seealso><a href="../howto/htaccess.html">.htaccess Dosyaları</a></seealso>
229 <name>AddDefaultCharset</name>
230 <description>Bir yanıtın içerik türü <code>text/plain</code> veya
231 <code>text/html</code> olduğunda eklenecek öntanımlı karakter kümesi
232 parametresini belirler.</description>
233 <syntax>AddDefaultCharset On|Off|<var>karküm</var></syntax>
234 <default>AddDefaultCharset Off</default>
235 <contextlist><context>server config</context>
236 <context>virtual host</context><context>directory</context>
237 <context>.htaccess</context></contextlist>
238 <override>FileInfo</override>
241 <p>Bu yönerge, yanıtın içerik türü <code>text/plain</code> veya
242 <code>text/html</code> olmak şartıyla yanıta eklenecek karakter
243 kümesini (karakter kodlamasınının ismini) belirler. Bu, asıl davranış
244 çoğunlukla kullanıcının istemci yapılandırmasına bağlı olmakla
245 birlikte, yanıtın gövdesinde <code>META</code> elemanı vasıtasıyla
246 belirtilmiş karakter kümesini geçersiz kılar. <code>AddDefaultCharset
247 Off</code> şeklinde bir atama bu işlevselliği iptal eder.
248 <code>AddDefaultCharset On</code> ile bu işlevsellik etkin kılınmaktan
249 başka <code>iso-8859-1</code> karakter kümesini öntanımlı olarak yanıta
250 eklenir. Yönergede <var>karküm</var> olarak belirtilecek değerler,
251 Genel Ağ ortam türlerinde (MIME türlerinde) kullanmak üzere <a
252 href="http://www.iana.org/assignments/character-sets">IANA’da kayıtlı
253 karakter kümesi değerleri</a>nden biri olmalıdır. Örnek:</p>
256 AddDefaultCharset utf-8
259 <p><directive>AddDefaultCharset</directive> yönergesi sadece, metin
260 kaynaklarının hepsinin aynı karakter kümesine sahip olduğu bilindiği
261 takdirde ve her birinde ayrı ayrı karakter kümesi belirtmek çok
262 külfetli olacaksa kullanılmalıdır. Buna bir örnek, CGI betikleri
263 tarafından üretilmiş içeriğe sahip kaynaklara karakter kümesinin
264 eklenmesidir; böyle kaynaklar çıktıda kullanıcı tarafından sağlanmış
265 veri içermeleri nedeniyle karşı siteden kaynaklanan betikli
266 saldırılardan zarar görebilir. Bununla birlikte, bir öntanımlı karakter
267 kümesi belirtmek, tarayıcılarında “karakter kodlamasını kendiliğinden
268 sapta” özelliğini etkin kılmış kullanıcıları korumayacağından daha iyi
269 bir çözüm bu betikleri bu tür saldırılara karşı düzeltmek veya en iyisi
272 <seealso><directive module="mod_mime">AddCharset</directive></seealso>
276 <name>AddOutputFilterByType</name>
277 <description>Belli bir ortam türüne bir çıktı süzgeci atar.</description>
278 <syntax>AddOutputFilterByType <var>süzgeç</var>[;<var>süzgeç</var>...]
279 <var>ortam-türü</var> [<var>ortam-türü</var>] ...</syntax>
280 <contextlist><context>server config</context>
281 <context>virtual host</context><context>directory</context>
282 <context>.htaccess</context></contextlist>
283 <override>FileInfo</override>
284 <compatibility>2.0.33 ve sonrasında mevcuttur; Apache 2.1 ve sonrasında
285 kullanımı önerilmemektedir.</compatibility>
288 <p>Bu yönerge yanıtın <glossary ref="mime-type">ortam türü</glossary>ne
289 bağlı olarak bir istek için belli bir <a href="../filter.html">çıktı
290 süzgecini</a> etkin kılar. Aşağıda açıklanan belli başlı sorunlardan
291 dolayı bu yönergenin kullanımı önerilmemektedir. Aynı işlevsellik
292 <module>mod_filter</module> kullanarak sağlanabilmektedir.</p>
294 <p>Aşağıdaki örnekte <module>mod_deflate</module> modülünce sağlanan
295 <code>DEFLATE</code> süzgeci kullanılmıştır. Bu süzgeç,
296 <code>text/html</code> veya <code>text/plain</code> olarak yaftalanmış
297 tüm çıktıyı (ister durağan ister devingen olsun) istemciye göndermeden
301 AddOutputFilterByType DEFLATE text/html text/plain
304 <p>İçeriğin birden fazla süzgeç tarafından işlenmesini isterseniz süzgeç
305 isimlerini noktalı virgüllerle ayırarak belirtebilirsiniz. Ayrıca, bu
306 süzgeçlerin her biri için ayrı bir
307 <directive>AddOutputFilterByType</directive> yönergesi belirtmek de
310 <p>Aşağıdaki yapılandırma <code>text/html</code> olarak yaftalanmış tüm
311 betik çıktılarının önce <code>INCLUDES</code> sonra da
312 <code>DEFLATE</code> süzgecinden geçirilmesine sebep olur.</p>
315 <Location /cgi-bin/><br />
317 Options Includes<br />
318 AddOutputFilterByType INCLUDES;DEFLATE text/html<br />
323 <note type="warning"><title>Ek Bilgi</title>
324 <p>Süzgeçlerin <directive>AddOutputFilterByType</directive> ile etkin
325 kılınması bazı durumlarda kısmen bazılarında da tamamen başarısızlığa
326 uğrayabilir. Örneğin, <glossary ref="mime-type">ortam türü</glossary>
327 saptanamadığı takdirde hiçbir süzgeç uygulanmaz. Süzgeçlerin
328 uygulanacağına emin olmak isterseniz, bir kaynağa içerik türünü
329 örneğin, <directive module="mod_mime">AddType</directive> veya
330 <directive module="core">ForceType</directive> ile açıkça
331 atayabilirsiniz. Ayrıca, içerik türünü (bir nph-olmayan) CGI betiği
332 içinde ayarlamak da bu güvenceyi sağlar.</p>
337 <seealso><directive module="mod_mime">AddOutputFilter</directive></seealso>
338 <seealso><directive module="core">SetOutputFilter</directive></seealso>
339 <seealso><a href="../filter.html">Süzgeçler</a></seealso>
343 <name>AllowEncodedSlashes</name>
344 <description>Kodlanmış dosya yolu ayracı içeren URL’lere izin verilip
345 verilmeyeceğini belirler.</description>
346 <syntax>AllowEncodedSlashes On|Off</syntax>
347 <default>AllowEncodedSlashes Off</default>
348 <contextlist><context>server config</context><context>virtual host</context>
350 <compatibility>Apache 2.0.46 ve sonrasında mevcuttur.</compatibility>
353 <p><directive>AllowEncodedSlashes</directive> yönergesi kodlanmış dosya
354 yolu ayracı içeren URL’lere izin verir (<code>/</code> yerine
355 <code>%2F</code> ve ek olarak <code>\</code> için ilgili sistemlerde
356 <code>%5C</code> kullanılmış URL’ler). Normalde böyle URL’ler bir 404
357 (Nesne bulunamadı) hatasıyla reddedilirler.</p>
359 <p><directive>AllowEncodedSlashes</directive> <code>On</code>, çoğunlukla
360 <code>PATH_INFO</code> ile bir arada kullanıldığı zaman
363 <note><title>Ek Bilgi</title>
364 <p>Kodlanmış bölü çizgilerine izin vermek bu kodlamanın karakter olarak
365 çözümleneceği anlamına gelmez. URL içindeki <code>%2F</code> veya
366 <code>%5C</code>’ler (sadece ilgili sistemlerde), tıpkı normal
367 URL’lere yapıldığı gibi, oldukları gibi bırakılırlar.</p>
370 <seealso><directive module="core">AcceptPathInfo</directive></seealso>
374 <name>AllowOverride</name>
375 <description><code>.htaccess</code> dosyalarında bulunmasına izin verilen
376 yönerge türleri belirtilir.</description>
377 <syntax>AllowOverride All|None|<var>yönerge-türü</var>
378 [<var>yönerge-türü</var>] ...</syntax>
379 <default>AllowOverride All</default>
380 <contextlist><context>directory</context></contextlist>
383 <p>Sunucu <directive module="core">AccessFileName</directive> yönergesi
384 ile belirtildiği şekilde bir <code>.htaccess</code> dosyasına rastlarsa
385 önceki yapılandırma yönergelerinin hangilerinin geçersiz kılınmak üzere
386 bildirildiğini bilmek ister.</p>
388 <note><title>Sadece <Directory> bölümlerinde geçerli</title>
389 <directive>AllowOverride</directive> yönergesi, <directive
390 type="section" module="core">Location</directive>, <directive
391 module="core" type="section">DirectoryMatch</directive> veya <directive
392 type="section" module="core">Files</directive> bölümlerinde değil,
393 sadece düzenli ifade içermeyen <directive type="section"
394 module="core">Directory</directive> bölümlerinde geçerlidir.
397 <p>Yönergeye değer olarak <code>None</code> belirtilirse <a
398 href="#accessfilename">.htaccess</a> dosyaları tamamen yok sayılır. Bu
399 durumda, sunucu dosya sisteminde rastladığı <code>.htaccess</code>
400 dosyalarını okumaya dahi çalışmayacaktır.</p>
402 <p>Bu yönergeye <code>All</code> değeri atanırsa, .htaccess <a
403 href="directive-dict.html#Context">bağlamında</a> kullanılabilecek her
404 yönergeye <code>.htaccess</code> dosyalarında izin verilir.</p>
406 <p><code><var>yönerge-türü</var></code> olarak aşağıdaki yönerge grup
407 isimlerinden biri belirtilebilir:</p>
412 <dd><directive module="mod_authn_dbm">AuthDBMGroupFile</directive>,
413 <directive module="mod_authn_dbm">AuthDBMUserFile</directive>,
414 <directive module="mod_authz_groupfile">AuthGroupFile</directive>,
415 <directive module="mod_authn_core">AuthName</directive>,
416 <directive module="mod_authn_core">AuthType</directive>,
417 <directive module="mod_authn_file">AuthUserFile</directive>,
418 <directive module="mod_authz_core">Require</directive>
419 <em>ve benzeri</em> yetkilendirme yönergelerinin kullanımını izin
424 <dd>Belge türünü denetleyen <module>mod_mime</module>
425 <code>Add*</code> ve <code>Remove*</code> yönergeleri,
426 <directive module="core">ErrorDocument</directive>,
427 <directive module="core">ForceType</directive>,
428 <directive module="mod_negotiation">LanguagePriority</directive>,
429 <directive module="core">SetHandler</directive>,
430 <directive module="core">SetInputFilter</directive>,
431 <directive module="core">SetOutputFilter</directive>
432 yönergeleri ve benzerleri ile
433 <directive module="mod_headers">Header</directive>,
434 <directive module="mod_headers">RequestHeader</directive>,
435 <directive module="mod_setenvif">SetEnvIf</directive>,
436 <directive module="mod_setenvif">SetEnvIfNoCase</directive>,
437 <directive module="mod_setenvif">BrowserMatch</directive>,
438 <directive module="mod_usertrack">CookieExpires</directive>,
439 <directive module="mod_usertrack">CookieDomain</directive>,
440 <directive module="mod_usertrack">CookieStyle</directive>,
441 <directive module="mod_usertrack">CookieTracking</directive>,
442 <directive module="mod_usertrack">CookieName</directive>
443 belge meta veri yönergelerinin,
444 <module>mod_rewrite</module> modülündeki
445 <directive module="mod_rewrite">RewriteEngine</directive>,
446 <directive module="mod_rewrite">RewriteOptions</directive>,
447 <directive module="mod_rewrite">RewriteBase</directive>,
448 <directive module="mod_rewrite">RewriteCond</directive>,
449 <directive module="mod_rewrite">RewriteRule</directive>
450 yönergelerinin ve <module>mod_actions</module> modülündeki
451 <directive module="mod_actions">Action</directive>
452 yönergesinin kullanımına izin verilir.
457 <dd>Dizin içeriğinin listelenmesini denetleyen
458 <directive module="mod_autoindex">AddDescription</directive>,
459 <directive module="mod_autoindex">AddIcon</directive>,
460 <directive module="mod_autoindex">AddIconByEncoding</directive>,
461 <directive module="mod_autoindex">AddIconByType</directive>,
462 <directive module="mod_autoindex">DefaultIcon</directive>,
463 <directive module="mod_dir">DirectoryIndex</directive>,
464 <directive module="mod_autoindex">FancyIndexing</directive>,
465 <directive module="mod_autoindex">HeaderName</directive>,
466 <directive module="mod_autoindex">IndexIgnore</directive>,
467 <directive module="mod_autoindex">IndexOptions</directive>,
468 <directive module="mod_autoindex">ReadmeName</directive>
469 yönergelerinin <em>ve benzerlerinin</em> kullanımına izin
474 <dd>Konak erişimini denetleyen
475 <directive module="mod_authz_host">Allow</directive>,
476 <directive module="mod_authz_host">Deny</directive> ve
477 <directive module="mod_authz_host">Order</directive>
478 yönergelerinin kullanımına izin verilir.</dd>
480 <dt>Options[=<var>seçenek</var>,...]</dt>
482 <dd>Dizinlere özgü özellikleri denetleyen
483 <directive module="core">Options</directive> ve
484 <directive module="mod_include">XBitHack</directive> yönergelerinin
485 kullanımına izin verilir. <directive
486 module="core">Options</directive> komutunda belirtilecek seçenekler
487 bir eşit işaretinden sonra aralarına sadece virgül konarak
488 (boşluksuz) belirtilebilir.</dd>
494 AllowOverride AuthConfig Indexes
497 <p>Bu örnekte <code>AuthConfig</code> ve <code>Indexes</code> grubundaki
498 yönergeler bir dahili sunucu hatasına yol açmayacaktır.</p>
500 <note><p>Güvenlik ve başarımı arttırmak için <code><Directory /></code>
501 bloğu içinde <code>AllowOverride</code> yönergesine <code>None</code>
502 dışında bir değer atamayın. Böyle yapmak yerine bir <code>.htaccess</code>
503 dosyası yerleştirmeyi düşündüğünüz dizine ait bir
504 <code><Directory></code> bloğu olması daha iyidir.</p></note>
507 <seealso><directive module="core">AccessFileName</directive></seealso>
508 <seealso><a href="../configuring.html">Yapılandırma Dosyaları</a></seealso>
509 <seealso><a href="../howto/htaccess.html">.htaccess Dosyaları</a></seealso>
513 <name>CGIMapExtension</name>
514 <description>CGI betik yorumlayıcısını saptama tekniğini belirler.
516 <syntax>CGIMapExtension <var>cgi-yolu</var> <var>.uzantı</var></syntax>
517 <contextlist><context>directory</context><context>.htaccess</context>
519 <override>FileInfo</override>
520 <compatibility>Sadece NetWare’de geçerlidir.</compatibility>
523 <p>Bu yönerge Apache’inin CGI bekitlerini çalıştırmak için kullanacağı
524 yorumlayıcıyı nasıl bulacağını denetlemek için kullanılır. Örneğin,
525 <code>CGIMapExtension sys:\foo.nlm .foo</code> satırı <code>.foo</code>
526 uzantılı CGI betik dosyalarının FOO yorumlayıcıya aktarılmasını
532 <name>ContentDigest</name>
533 <description><code>Content-MD5</code> HTTP yanıt başlıklarının üretimini
534 etkin kılar.</description>
535 <syntax>ContentDigest On|Off</syntax>
536 <default>ContentDigest Off</default>
537 <contextlist><context>server config</context><context>virtual host</context>
538 <context>directory</context><context>.htaccess</context>
540 <override>Options</override>
541 <status>Experimental</status>
544 <p>Bu yönerge RFC2616 ve RFC1864’te tanımlandığı gibi
545 <code>Content-MD5</code> üretimini etkin kılar.</p>
547 <p>MD5, verideki herhangi bir değişikliğin ileti özetinin değişmesi
548 olarak yansıması nedeniyle yüksek derecede itimat sağlayan keyfi
549 uzunlukta bir "ileti özeti" (bazen "parmakizi" dendiği de olur)
550 hesaplama algoritmasıdır.</p>
552 <p><code>Content-MD5</code> başlığı öğe gövdesinin iki uç arasında ileti
553 bütünlük sınamasının yapılabilmesini sağlar. Bir istemci veya vekil
554 aktarılan öğe gövdesinde rastlantısal bir değişiklik olup olmadığını
555 saptamak için bu başlığın doğruluğunu sınayabilir. Başlık örneği:</p>
558 Content-MD5: AuLb7Dp1rqtRtxz2m9kRpA==
561 <p>Her istekte ileti özeti hesaplanacağından (değerler saklanmaz), bu
562 yönergenin sunucunuzda başarım sorunlarına yol açacağına dikkat
565 <p><code>Content-MD5</code>, herhangi bir modül değil, sadece
566 <module>core</module> modülü tarafından sunulan belgeler için
567 gönderilir. Örneğin, SSI belgeleri CGI betikleri tarafından
568 çıktılanırlar ve bayt seviyesinden çıktılar bu başlığa sahip
574 <name>DefaultType</name>
575 <description>Değeri <code>none</code> olduğu takdirde, bu yönergenin bir
576 uyarı vermekten başka bir etkisi yoktur. Önceki sürümlerde, bu yönerge,
577 sunucunun ortam türünü saptayamadığı durumda göndereceği öntanımlı ortam
578 türünü belirlerdi.</description>
579 <syntax>DefaultType <var>ortam-türü</var>|none</syntax>
580 <default>DefaultType none</default>
581 <contextlist><context>server config</context><context>virtual host</context>
582 <context>directory</context><context>.htaccess</context>
584 <override>FileInfo</override>
585 <compatibility><code>none</code> değeri Apache 2.2.7 ve sonrasında mevcuttur.
586 Diğer tüm seçenekler Apache'nin 2.3.x ve sonraki sürümleri için iptal
587 edilmiştir.</compatibility>
589 <p>Bu yönerge iptal edilmiştir. Yapılandırma dosyalarının geriye
590 uyumluluğunu sağlamak için, öntanımlı bir ortam türünün olmadığını
591 belirten <code>none</code> değeriyle belirtilebilir. Örnek:</p>
597 <p><code>DefaultType None</code> sadece httpd-2.2.7 ve sonrasında
600 <p>Ortam türlerini dosya uzantıları üzerinden yapılandırmak için
601 <directive module="mod_mime">AddType</directive> yönergesini ve
602 <code>mime.types</code> yapılandırma dosyasını veya belli özkaynak
603 türleri için ortam türlerini yapılandırmak için <directive
604 module="core">ForceType</directive> yönergesini kullanın.</p>
610 <description>Bir değişkenin mevcudiyetini betimler.</description>
611 <syntax>Define <var>değişken-ismi</var></syntax>
612 <contextlist><context>server config</context></contextlist>
615 <p><program>httpd</program>’yi <code>-D</code>
616 seçeneğiyle çalıştırmaya eşdeğerdir.</p>
618 <p>Bu yönerge, başlatma betiğinde <code>-D</code> seçeneğinin
619 argümanlarını değiştirme gereği duymaksızın <directive module="core"
620 type="section">IfDefine</directive> bölümlerini kullanıma sokmak için
625 <directivesynopsis type="section">
626 <name>Directory</name>
627 <description>Sadece ismi belirtilen dosya sistemi dizininde ve bunun
628 altdizinlerinde uygulanacak bir yönerge grubunu sarmalar.</description>
629 <syntax><Directory <var>dizin-yolu</var>>
630 ... </Directory></syntax>
631 <contextlist><context>server config</context><context>virtual host</context>
635 <p><directive type="section">Directory</directive> ve
636 <code></Directory></code> sadece ismi belirtilen dosya sistemi
637 dizininde ve bunun altdizinlerinde uygulanacak bir yönerge grubunu
638 sarmalamakta kullanılır. Bir dizin bağlamında kullanılabilecek her
639 yönergeye izin verilir. <var>dizin-yolu</var> bir dizinin tam yolu
640 olabileceği gibi Unix kabuk tarzı bir dosya ismi eşleştirme kalıbı da
641 olabilir. Kalıp dizgesinde, <code>?</code> herhangi bir tek karakterle,
642 <code>*</code> herhangi bir karakter dizisiyle eşleşir. Ayrıca
643 <code>[]</code> karakter aralıkları da kullanılabilir. ‘/’ karakteri
644 ile hiçbir kalıp karakteri eşleşmez, bu bakımdan <code><Directory
645 /*/public_html></code> ile <code>/home/user/public_html</code>
646 değil, ama <code><Directory /home/*/public_html></code>
647 eşleşecektir. Örnek:</p>
650 <Directory /usr/local/httpd/htdocs><br />
652 Options Indexes FollowSymLinks<br />
658 <p><var>dizin-yolu</var> argümanlarını belirtirken dikkatli
659 olmalısınız: Apache’nin dosyalara erişmekte kullandığı dosya sistemi
660 yolu ile bire bir eşleşmelidir. Belli bir
661 <code><Directory></code> dizinine uygulanan yönergeler, aynı
662 dizine farklı bir yoldan, örneğin başka bir sembolik bağ üzerinden
663 erişilen dosyalara uygulanmayacaktır.</p>
666 <p><code>~</code> karakterine ek olarak <glossary ref="regex">düzenli
667 ifadeler</glossary> de kullanılabilir. Örnek:</p>
670 <Directory ~ "^/www/.*/[0-9]{3}">
673 <p>yönergesi <code>/www/</code> içindeki üç rakamdan oluşan dizinlerle
676 <p>Eğer çok sayıda (düzenli ifade olmayan) <directive
677 type="section">Directory</directive> bölümü, bir dosyayı içeren bir
678 dizinle veya üst dizinlerinden biri ile eşleşiyorsa, uygulama en kısa
679 eşleşmedeki yönergelerden başlayarak <a
680 href="#accessfilename">.htaccess</a> dosyalarındaki yönergelere kadar
681 genişletilir. Örneğin,</p>
684 <Directory /><br />
686 AllowOverride None<br />
688 </Directory><br />
690 <Directory /home/><br />
692 AllowOverride FileInfo<br />
697 <p>bölümleri ile <code>/home/web/dir/doc.html</code> belgesine erişirken
698 şu aşamalardan geçilir:</p>
701 <li><code>AllowOverride None</code> yönergesi uygulanır
702 (<code>.htaccess</code> dosyaları iptal edilir).</li>
704 <li><code>AllowOverride FileInfo</code> yönergesi uygulanır
705 (<code>/home</code> dizini için).</li>
707 <li>Sırayla <code>/home/.htaccess</code>,
708 <code>/home/web/.htaccess</code> ve
709 <code>/home/web/dir/.htaccess</code> dosyaları içindeki
710 <code>FileInfo</code> yönergeleri uygulanır.</li>
713 <p>Normal bölümlerin tamamı uygulanıncaya kadar düzenli ifadeler
714 değerlendirilmez. Düzenli ifadelerin tamamı yapılandırma dosyasında
715 görüldükleri sıraya göre sınanırlar. Örneğin,</p>
718 <Directory ~ abc$><br />
720 # ... yönergeler burada ...<br />
725 <p>düzenli ifadeli bölümü, tüm normal <directive
726 type="section">Directory</directive> bölümleri ve
727 <code>.htaccess</code> dosyaları uygulanıncaya kadar
728 değerlendirilmeyecektir. Düzenli ifadeleri değerlendirmeye sıra gelince
729 düzenli ifade <code>/home/abc/public_html/abc</code> ile eşleştirilecek
730 ve buna ilişkin <directive type="section">Directory</directive>
733 <p><strong><code><Directory /></code> için öntanımlı Apache
734 erişiminin <code>Allow from All</code> oluşuna dikkat ediniz. Bunu şöyle
735 bir blokla değiştirmeniz,</strong></p>
738 <Directory /><br />
740 Order Deny,Allow<br />
746 <p><strong>ve erişilebilir olmasını istediğiniz dizinleri ayrıca
747 belirtmeniz önerilir. Daha ayrıntılı bilgi edinmek için <a
748 href="../misc/security_tips.html">Güvenlik İpuçları</a> belgesine
749 bakınız.</strong></p>
751 <p>Dizin bölümleri <code>httpd.conf</code> dosyasında yer alır.
752 <directive type="section">Directory</directive> yönergeleri iç içe
753 olamazlar ve bir <directive module="core"
754 type="section">Limit</directive> veya <directive module="core"
755 type="section">LimitExcept</directive> bölümü içinde bulunamazlar.</p>
757 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir
758 arada ele alındığının anlatıldığı <a
759 href="../sections.html"><Directory>, <Location> ve
760 <Files> bölümleri nasıl çalışır?</a> belgesine de bakınız.</seealso>
763 <directivesynopsis type="section">
764 <name>DirectoryMatch</name>
765 <description>Bir düzenli ifade ile eşleşen dosya sistemi dizininde ve bunun
766 altdizinlerinde uygulanacak bir yönerge grubunu sarmalar.</description>
767 <syntax><DirectoryMatch <var>düzifd</var>>
768 ... </DirectoryMatch></syntax>
769 <contextlist><context>server config</context><context>virtual host</context>
773 <p><directive type="section">DirectoryMatch</directive> and
774 <code></DirectoryMatch></code> yönergeleri <directive
775 module="core" type="section">Directory</directive> gibi sadece ismi
776 belirtilen dosya sistemi dizininde ve bunun altdizinlerinde uygulanacak
777 bir yönerge grubunu sarmalamakta kullanılır. Tek farkla argüman olarak
778 bir <glossary ref="regex">düzenli ifade</glossary> alır. Örnek:</p>
781 <DirectoryMatch "^/www/(.+/)?[0-9]{3}">
784 <p>yönergesi <code>/www/</code> içindeki üç rakamdan oluşan dizinlerle
787 <seealso>Normal <directive type="section">Directory</directive>
788 bölümlerindeki yönergelerle düzenli ifadelerin nasıl karıştırıldığının bir
789 açıklaması için <directive type="section"
790 module="core">Directory</directive> yönergesine bakınız.</seealso>
791 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir arada
792 ele alındığının açıklaması için <a
793 href="../sections.html"><Directory>, <Location> ve
794 <Files> bölümleri nasıl çalışır?</a> belgesine bakınız.</seealso>
798 <name>DocumentRoot</name>
799 <description>İstemciye görünür olan ana belge ağacının kök dizinini belirler.</description>
800 <syntax>DocumentRoot <var>dizin-yolu</var></syntax>
801 <default>DocumentRoot /usr/local/apache/htdocs</default>
802 <contextlist><context>server config</context><context>virtual host</context>
806 <p>Bu yönerge <program>httpd</program> tarafından dosyalarının sunulacağı
807 dizini belirler. <directive module="mod_alias">Alias</directive>
808 benzeri bir yönerge ile eşleşmedikçe, sunucu istenen URL’deki yolu,
809 belge yolu haline getirmek için belge kök dizinine ekler. Örnek:</p>
812 DocumentRoot /usr/web
815 <p>yapılandırması ile <code>http://www.my.host.com/index.html</code>
816 isteği <code>/usr/web/index.html</code> ile eşleştirilir.
817 <var>dizin-yolu</var> ile göreli dosya yolu belirtildiği takdirde belge
818 kök dizininin <directive module="core">ServerRoot</directive> ile
819 belirtilen sunucu kök dizinine göre belirtildiği varsayılır.</p>
821 <p><directive>DocumentRoot</directive> ile belirtilen dizin bir bölü
822 çizgisi ile bitirilmemelidir.</p>
824 <seealso><a href="../urlmapping.html#documentroot">URL’lerin Dosya Sistemi
825 ile Eşlenmesi</a></seealso>
829 <name>EnableMMAP</name>
830 <description>Teslimat sırasında okunacak dosyalar için bellek eşlemeyi etkin
832 <syntax>EnableMMAP On|Off</syntax>
833 <default>EnableMMAP On</default>
834 <contextlist><context>server config</context><context>virtual host</context>
835 <context>directory</context><context>.htaccess</context>
837 <override>FileInfo</override>
838 <compatibility><code>none</code> değeri Apache 2.2.7 ve sonrasında mevcuttur.
841 <p>Bu yönerge, sunucunun teslimat sırasında gerektiği takdirde bir dosya
842 içeriğinin okunması için bellek eşleme kullanıp kullanmayacağını
843 belirler. Öntanımlı olarak, bir isteğin yerine getirilmesi,
844 <module>mod_include</module> kullanarak sunucu tarafından çözümlenen
845 bir dosyanın teslimatı sırasında olduğu gibi, bir dosya içindeki veriye
846 erişilmesini gerektirdiğinde Apache, işletim sistemi tarafından
847 desteklendiği takdirde dosyayı belleğe eşler.</p>
849 <p>Böyle bellek eşleme kimi zaman başarım artışını beraberinde getirirse
850 de bazen sorunlardan kaçınmak için bellek eşlemeyi kapatmak daha iyi
854 <li>Bazı çok işlemcili sistemlerde bellek eşleme
855 <program>httpd</program>’nin başarımını düşürebilmektedir.</li>
856 <li><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
1369 <p>İstek başlıklarındaki ($req), yanıt başlıklarındaki ($resp) yada
1370 ortamdaki ($env) herhangi bir değişkenin değerini ifadenizde
1371 karşılaştırabilirsiniz.</p>
1374 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir arada
1375 ele alındığının açıklaması için <a href="../sections.html">
1376 <Directory>, <Location> ve <Files> bölümleri nasıl
1377 çalışır?</a> belgesine bakınız. <directive type="section">If</directive>
1378 bölümleri<directive type="section">Files</directive> bölümleri ile aynı
1379 önceliğe sahiptir ve aynı amaçla kullanılır.</seealso>
1380 </directivesynopsis>
1382 <directivesynopsis type="section">
1383 <name>IfDefine</name>
1384 <description>Başlatma sırasında bir doğruluk sınamasından sonra işleme
1385 sokulacak yönergeleri sarmalar.</description>
1386 <syntax><IfDefine [!]<var>parametre-adı</var>> ...
1387 </IfDefine></syntax>
1388 <contextlist><context>server config</context><context>virtual host</context>
1389 <context>directory</context><context>.htaccess</context>
1391 <override>All</override>
1394 <p><code><IfDefine <var>sınama</var>>...</IfDefine>
1395 </code> bölümü koşullu olarak işleme sokulacak yönergeleri içerir.
1396 Bir <directive type="section">IfDefine</directive> bölümü içindeki
1397 yönergeler sadece <var>sınama</var> doğru sonuç verirse işleme sokulur.
1398 Aksi takdirde, bölüm içinde kalan her şey yok sayılır.</p>
1400 <p><directive type="section">IfDefine</directive> bölüm yönergesinde
1401 <var>sınama</var> için belirtilebilecek iki biçim vardır:</p>
1404 <li><var>parametre-adı</var></li>
1406 <li><code>!</code><var>parametre-adı</var></li>
1409 <p>Birinci durumda bölüm içinde kalan yönergeler sadece
1410 <var>parametre-adı</var> ile belirtilen parametre tanımlı ise işleme
1411 sokulur. İkinci durumda ise tersi yapılır, yani sadece
1412 <var>parametre-adı</var> ile belirtilen parametre tanımlı
1413 <strong>değil</strong> ise yönergeler işleme sokulur.</p>
1415 <p><var>parametre-adı</var> argümanı sunucu başlatılırken
1416 <program>httpd</program> komut satırında
1417 <code>-D<var>parametre</var></code> ile
1418 veya <directive module="core">Define</directive> yönergesi ile
1419 belirtilerek tanımlı hale getirilebilir.</p>
1421 <p><directive type="section">IfDefine</directive> bölümleri iç içe
1422 olabilir, dolayısıyla çok parametreli basit sınamalar gerçeklenebilir.
1426 httpd -DReverseProxy -DUseCache -DMemCache ...<br />
1429 <IfDefine ReverseProxy><br />
1431 LoadModule proxy_module modules/mod_proxy.so<br />
1432 LoadModule proxy_http_module modules/mod_proxy_http.so<br />
1433 <IfDefine UseCache><br />
1435 LoadModule cache_module modules/mod_cache.so<br />
1436 <IfDefine MemCache><br />
1438 LoadModule mem_cache_module modules/mod_mem_cache.so<br />
1440 </IfDefine><br />
1441 <IfDefine !MemCache><br />
1443 LoadModule disk_cache_module modules/mod_disk_cache.so<br />
1452 </directivesynopsis>
1454 <directivesynopsis type="section">
1455 <name>IfModule</name>
1456 <description>Belli bir modülün varlığına veya yokluğuna göre işleme sokulacak
1457 yönergeleri sarmalar.</description>
1458 <syntax><IfModule [!]<var>modül-dosyası</var>|<var>modül-betimleyici</var>> ...
1459 </IfModule></syntax>
1460 <contextlist><context>server config</context><context>virtual host</context>
1461 <context>directory</context><context>.htaccess</context>
1463 <override>All</override>
1464 <compatibility>Modül betimleyiciler 2.1 sürümünde ve sonrası için geçerlidir.</compatibility>
1467 <p><code><IfModule <var>sınama</var>>...</IfModule></code>
1468 bölümü belli bir modülün varlığına veya yokluğuna göre işleme sokulacak
1469 yönergeleri içerir. Bir <directive type="section">IfModule</directive>
1470 bölümü içindeki yönergeler sadece <var>sınama</var> doğru sonuç verirse
1471 işleme sokulur. Aksi takdirde, bölüm içinde kalan her şey yok sayılır.</p>
1473 <p><directive type="section">IfModule</directive> bölüm yönergesinde
1474 <var>sınama</var> için belirtilebilecek iki biçim vardır:</p>
1477 <li><var>modül</var></li>
1479 <li>!<var>modül</var></li>
1482 <p>Birinci durumda bölüm içinde kalan yönergeler sadece
1483 <var>modül</var> ile belirtilen modül Apache içine dahil edilmişse veya
1484 <directive module="mod_so">LoadModule</directive> yönergesi ile devingen
1485 olarak yüklenmişse işleme sokulur. İkinci durumda ise tersi yapılır, yani
1486 sadece <var>modül</var> içerilmiş <strong>değil</strong> ise yönergeler
1489 <p><var>modül</var> argümanında bir modül betimleyici veya modülün derleme
1490 sırasındaki dosya adı belirtilebilir. Örneğin, <code>rewrite_module</code>
1491 bir betimleyici, <code>mod_rewrite.c</code> ise bir dosya ismidir. Eğer
1492 modül çok sayıda kaynak dosyasından oluşuyorsa
1493 <code>STANDARD20_MODULE_STUFF</code> dizgesini içeren dosyanın ismi
1496 <p><directive type="section">IfModule</directive> bölümleri iç içe
1497 olabilir, dolayısıyla çok parametreli basit sınamalar gerçeklenebilir.</p>
1499 <note>Bu bölümü sadece yapılandırma dosyanızın belli modüllerin varlığına
1500 veya yokluğuna bağlı olarak çalışması gerektiği durumlarda
1501 kullanmalısınız. Normal işlemlerde yönergelerin <directive
1502 type="section">IfModule</directive> bölümlerine yerleştirilmeleri
1505 </directivesynopsis>
1508 <name>Include</name>
1509 <description>Sunucu yapılandırma dosyalarının başka dosyaları içermesini sağlar.
1511 <syntax>Include <var>dosya-yolu</var>|<var>dizin-yolu</var></syntax>
1512 <contextlist><context>server config</context><context>virtual host</context>
1513 <context>directory</context>
1515 <compatibility>Dosya kalıbıyla eşleşme 2.0.41 ve sonrasında mevcuttur.
1519 <p>Bu yönerge sunucu yapılandırma dosyalarının başka dosyaları içermesini
1522 <p>Çok sayıda dosyayı bir kerede alfabetik sırada içermek için kabuk tarzı
1523 (<code>fnmatch()</code>) dosya ismi kalıp karakterleri kullanılabilir.
1524 Ayrıca, eğer <directive>Include</directive> yönergesi bir dosya değil de
1525 bir dizin gösteriyorsa Apache bu dizindeki ve alt dizinlerindeki bütün
1526 dosyaları okuyacaktır. Bunula birlikte, dizinin bir bütün olarak okutulması
1527 önerilmez, çünkü dizinde <program>httpd</program> programının çökmesine
1528 sebep olabilecek geçici dosyalar unutulabilir. Bunun yerine, belli bir
1529 şablona uyan dosyaları seçebilmek için, örneğin *.conf gibi dosya
1530 kalıplarının kullanılmasını öneriyoruz.</p>
1532 <p>Dosya yolu mutlak bir dosya yolu olarak belirtilebileceği gibi
1533 <directive module="core">ServerRoot</directive> dizinine göreli olarak da
1539 Include /usr/local/apache2/conf/ssl.conf<br />
1540 Include /usr/local/apache2/conf/vhosts/*.conf
1543 <p>Veya dizinler <directive module="core">ServerRoot</directive> dizinine
1544 göre belirtilebilir:</p>
1547 Include conf/ssl.conf<br />
1548 Include conf/vhosts/*.conf
1553 <seealso><program>apachectl</program></seealso>
1554 </directivesynopsis>
1557 <name>KeepAlive</name>
1558 <description>HTTP kalıcı bağlantılarını etkin kılar</description>
1559 <syntax>KeepAlive On|Off</syntax>
1560 <default>KeepAlive On</default>
1561 <contextlist><context>server config</context><context>virtual host</context>
1565 <p><code>Keep-Alive</code> yönergesi HTTP/1.0 protokolüne bir eklenti olup
1566 HTTP/1.1 protokolünün kalıcı bağlantı özelliği aynı TCP bağlantısı
1567 üzerinden çok sayıda isteğin gönderilmesini mümkün kılan uzun süreli HTTP
1568 oturumları açılmasını sağlar. Bunun, çok sayıda resim içeren HTML
1569 belgelerin yanıt zamanlarında bazı durumlarda %50’lik bir hızlanmayla
1570 sonuçlandığı gösterilmiştir. Kalıcı bağlantıları etkin kılmak için
1571 yönerge <code>KeepAlive On</code> şeklinde kullanılır.</p>
1573 <p>HTTP/1.0 istemcileri için kalıcı bağlantılar sadece bir istemci
1574 tarafından özellikle istendiği takdirde kullanılabilir. Ek olarak,
1575 HTTP/1.0 istemci kalıcı bağlantıları sadece içerik uzunluğu baştan
1576 bilindiği zaman kullanılabilir. Bu, CGI çıktısı, SSI sayfaları ve
1577 sunucunun ürettiği dizin listeleri gibi genellikle HTTP/1.0 istemcilere
1578 kalıcı bağlantılar kullanmayan devingen içeriklere uygulanır. HTTP/1.1
1579 istemciler için kalıcı bağlantılar aksi belirtilmedikçe öntanımlıdır.
1580 İstemci istediği takdirde, uzunluğu bilinmeyen içerik kalıcı bağlantılar
1581 üzerinden gönderilirken parçalı kodlama kullanılacaktır.</p>
1583 <p>Bir istemci kalıcı bağlantı kullandığı takdirde, bağlantı üzerinden kaç
1584 istek gönderilirse gönderilsin,
1585 <directive module="mpm_common">MaxRequestsPerChild</directive> yönergesi
1586 bakımından tek bir istek olarak değerlendirilir.</p>
1589 <seealso><directive module="core">MaxKeepAliveRequests</directive></seealso>
1590 </directivesynopsis>
1593 <name>KeepAliveTimeout</name>
1594 <description>Bir kalıcı bağlantıda sunucunun bir sonraki isteği bekleme süresi
1596 <syntax>KeepAliveTimeout <var>sayı</var>[ms]</syntax>
1597 <default>KeepAliveTimeout 5</default>
1598 <contextlist><context>server config</context><context>virtual host</context>
1600 <compatibility>Apache 2.3.2'den itibaren milisaniyelik değerler belirtilebilmektedir.</compatibility>
1603 <p>Sunucunun kalıcı bir bağlantıyı kapatmadan önce bir sonraki isteği kaç
1604 saniye bekleyeceğini belirler. Ayrıca, ms soneki kullanılarak süreyi
1605 milisaniye olarak belirtmek de mümkündür. İstek alındıktan sonra
1606 <directive module="core">Timeout</directive> yönergesiyle belirtilen
1607 zaman aşımı değeri uygulanır.</p>
1609 <p><directive>KeepAliveTimeout</directive> için yüksek bir değer belirtmek
1610 ağır yüklü sunucularda başarım sorunlarına yol açar. Daha yüksek bir
1611 zaman aşımı, boştaki istemcilerin bulunduğu bağlantıları bekleyen daha
1612 fazla sunucu sürecini meşgul edecektir.</p>
1614 <p>İsme dayalı sanal konak bağlamında, <directive
1615 module="core">NameVirtualHost</directive> bölümleri içinde tanımlanmış
1616 ilk sanal konağın (öntanımlı konak) değeri kullanılır. Diğer değerler
1617 görmezden gelinir.</p>
1619 </directivesynopsis>
1621 <directivesynopsis type="section">
1623 <description>Erişimi sınırlanacak HTTP yöntemleri için erişim sınırlayıcıları
1624 sarmalar.</description>
1625 <syntax><Limit <var>yöntem</var> [<var>yöntem</var>] ... > ...
1626 </Limit></syntax>
1627 <contextlist><context>directory</context><context>.htaccess</context>
1629 <override>AuthConfig, Limit</override>
1632 <p>Erişim denetleyicileri normalde <strong>tüm</strong> erişim yöntemleri
1633 için etkindir ve olağan olanı da budur. <strong>Genel durum olarak,
1634 erişim denetim yönergeleri bir <directive
1635 type="section">Limit</directive> bölümüne
1636 yerleştirilmemelidir.</strong></p>
1638 <p><directive type="section">Limit</directive> bölümünün amacı, erişim
1639 denetleyicilerinin etkilerini belli HTTP yöntemleri için sınırlamaktır.
1640 <directive type="section">Limit</directive> bölümü içinde listelenen
1641 erişim sınırlamaları, kalan tüm diğer yöntemler için <strong>etkisiz
1642 olacaktır</strong>. Aşağıdaki örnekte, erişim sınırlaması
1643 <code>POST</code>, <code>PUT</code> ve <code>DELETE</code> yöntemleri
1644 için uygulanmakta, diğer tüm yöntemler korumasız bırakılmaktadır:</p>
1647 <Limit POST PUT DELETE><br />
1649 Require valid-user<br />
1654 <p>Birden fazla bölümde kullanılabilecek yöntem isimleri: <code>GET</code>,
1655 <code>POST</code>, <code>PUT</code>, <code>DELETE</code>,
1656 <code>CONNECT</code>, <code>OPTIONS</code>,
1657 <code>PATCH</code>, <code>PROPFIND</code>, <code>PROPPATCH</code>,
1658 <code>MKCOL</code>, <code>COPY</code>, <code>MOVE</code>,
1659 <code>LOCK</code> ve <code>UNLOCK</code>. <strong>Yöntem isimleri harf
1660 büyüklüğüne duyarlıdır.</strong> <code>GET</code> yöntemi sınırlanırsa
1661 <code>HEAD</code> istekleri de sınırlanmış olur. <code>TRACE</code>
1662 yöntemi sınırlanamaz (bkz, <directive module="core"
1663 >TraceEnable</directive>).</p>
1665 <note type="warning">Erişimi sınarlarken bir <directive
1666 type="section">Limit</directive> bölümü yerine daima bir <directive
1667 type="section" module="core">LimitExcept</directive> bölümünü tercih
1668 etmelisiniz, çünkü <directive type="section" module="core"
1669 >LimitExcept</directive> bölümü belirtilen yöntemler dışında kalanlara
1670 erişim koruması sağlar.</note>
1672 <p><directive type="section">Limit</directive> ve
1673 <directive type="section" module="core">LimitExcept</directive>
1674 yönergeleri iç içe olabilirler. Bu durumda, başarılı her
1675 <directive type="section">Limit</directive> veya <directive
1676 type="section" module="core">LimitExcept</directive> seviyesi, erişim
1677 denetimlerinin uygulanacağı yöntemlerle sınırlı kalmalıdır.</p>
1679 <note type="warning"><directive type="section">Limit</directive> veya
1680 <directive type="section">LimitExcept</directive> yönergelerini
1681 <directive module="mod_authz_core">Require</directive> yönergesi ile
1682 birlikte kullanılırken, ilk <directive module="mod_authz_core"
1683 >Require</directive> yönergesinin bir başka <directive
1684 module="mod_authz_core">Require</directive> yönergesinin varlığından
1685 bağımsız olarak isteği başarıyla yetkilendirdiğine dikkat ediniz.</note>
1687 <p>Örneğin, aşağıdaki yapılandırmayı ele alalım; tüm kullanıcılar
1688 <code>POST</code> istekleri için yetkilendirilecek ve tüm durumlarda
1689 <code>Require group editors</code> yönergesi yoksayılacaktır:</p>
1692 <LimitExcept GET>
1696 </LimitExcept><br />
1699 Require group editors
1705 </directivesynopsis>
1707 <directivesynopsis type="section">
1708 <name>LimitExcept</name>
1709 <description>İsimleri belirtilenler dışında kalan HTTP yöntemleri için
1710 kullanılacak erişim sınırlayıcıları sarmalar.</description>
1711 <syntax><LimitExcept <var>yöntem</var> [<var>yöntem</var>] ... > ...
1712 </LimitExcept></syntax>
1713 <contextlist><context>directory</context><context>.htaccess</context>
1715 <override>AuthConfig, Limit</override>
1718 <p><directive type="section">LimitExcept</directive> ve
1719 <code></LimitExcept></code> argüman olarak belirtilenler
1720 <strong>dışında</strong> kalan HTTP yöntemleri için kullanılacak erişim
1721 sınırlayıcıları gruplamakta kullanılır. Yani, <directive type="section"
1722 module="core">Limit</directive> bölümünün tersine, standart olsun olmasın
1723 bütün yöntemler için erişimi kısıtlamakta kullanılabilir. Daha ayrıntılı
1724 bilgi edinmek için <directive module="core" type="section"
1725 >Limit</directive> yönergesinin açıklamasına bakınız.</p>
1730 <LimitExcept POST GET><br />
1732 Require valid-user<br />
1734 </LimitExcept>
1738 </directivesynopsis>
1741 <name>LimitInternalRecursion</name>
1742 <description>Dahili yönlendirmelerin ve istek içi isteklerin azami sayısını
1743 belirler.</description>
1744 <syntax>LimitInternalRecursion <var>sayı</var> [<var>sayı</var>]</syntax>
1745 <default>LimitInternalRecursion 10</default>
1746 <contextlist><context>server config</context><context>virtual host</context>
1748 <compatibility>Apache 2.0.47 ve sonrasında mevcuttur.</compatibility>
1751 <p>Örneğin, özgün istekleri dahili olarak bir CGI betiğine yönlendiren
1752 <directive module="mod_actions">Action</directive> yönergesi
1753 kullanıldığında bir dahili yönlendirme oluşur. İstek içi istekler ise
1754 bazı URI’ler için istek yapıldığında ne olacağını bulmak için Apache’nin
1755 kullandığı bir mekanizmadır. Örneğin, <module>mod_dir</module>,
1756 <directive module="mod_dir">DirectoryIndex</directive> yönergesinde
1757 listelenen dosyalara bakmak için istek içi istekler kullanır.</p>
1759 <p><directive>LimitInternalRecursion</directive> yönergesi sunucunun dahili
1760 yönlendirmeler ve istek içi isteklerin oluşturduğu döngülerden dolayı
1761 çökmemesini sağlar. Böyle döngüler genellikle yanlış yapılandırma sonucu
1762 ortaya çıkarlar.</p>
1764 <p>Yönerge her istek için değerlendirmeye alınacak iki farklı sınırlama
1765 için kullanılabilir. İlk <var>sayı</var> ardarda gelebilen dahili
1766 yönlendirmelerin azami sayısını, ikinci <var>sayı</var> ise istek içi
1767 isteklerin ne kadar iç içe olabileceğini belirler. Tek bir
1768 <var>sayı</var> belirtilirse iki sınırlama için de aynı değer
1771 <example><title>Örnek</title>
1772 LimitInternalRecursion 5
1775 </directivesynopsis>
1778 <name>LimitRequestBody</name>
1779 <description>İstemci tarafından gönderilen HTTP istek gövdesinin toplam
1780 uzunluğunu sınırlar.</description>
1781 <syntax>LimitRequestBody <var>bayt-sayısı</var></syntax>
1782 <default>LimitRequestBody 0</default>
1783 <contextlist><context>server config</context><context>virtual host</context>
1784 <context>directory</context><context>.htaccess</context>
1786 <override>All</override>
1789 <p>Bu yönerge, bir istek gövdesinde izin verilen bayt sayısını 0 (sınırsız
1790 anlamında) ile 2147483647 (2GB) arasında sınırlamak için kullanılır.</p>
1792 <p><directive>LimitRequestBody</directive> yönergesi kullanıcıya yönergenin
1793 kullanıldığı bağlam (sunucu, belli bir dizin, belli bir dosya, belli bir
1794 yer) dahilinde bir HTTP istek iletisi gövdesinin izin verilen uzunluğu
1795 için bir sınır belirleme imkanı verir. Eğer istemcinin isteği bu sınırı
1796 aşarsa sunucu isteği sunmak yerine bir hata iletisi döndürecektir. Normal
1797 bir istek ileti gövdesinin uzunluğu büyük oranda özkaynağın doğasına ve
1798 bu özkaynak üzerinde izin verilen yöntemlere bağlıdır. CGI betikleri
1799 genellikle ileti gövdesini form bilgisini almak için kullanır.
1800 <code>PUT</code> yöntemi gerçeklenimleri, en azından, sunucunun o
1801 özkaynak için kabul etmek isteyeceği herhangi bir gösterim kadar büyük
1802 bir değer gerektirecektir.</p>
1804 <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu
1805 yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim
1808 <p>Eğer, örneğin, belli bir yere dosya yükleme izni verir ve buraya
1809 yüklenebilecek dosya boyutunu 100 kB ile sınırlamak isterseniz yönergeyi
1810 şöyle kullanabilirsiniz:</p>
1813 LimitRequestBody 102400
1817 </directivesynopsis>
1820 <name>LimitRequestFields</name>
1821 <description>İstemciden kabul edilecek HTTP isteği başlık alanlarının sayısını
1822 sınırlar.</description>
1823 <syntax>LimitRequestFields <var>sayı</var></syntax>
1824 <default>LimitRequestFields 100</default>
1825 <contextlist><context>server config</context></contextlist>
1828 <p><var>sayı</var>, en küçük 0 (sınırsız anlamında), en büyük 32767
1829 olabilir. Öntanımlı değer bir derleme zamanı sabiti olan
1830 <code>DEFAULT_LIMIT_REQUEST_FIELDS</code> ile belirlenir (dağıtımla gelen
1831 değeri 100’dür).</p>
1833 <p><directive>LimitRequestFields</directive> yönergesi sunucu
1834 yöneticilerine bir HTTP isteğinde izin verilen istek başlık alanlarının
1835 sayısı üzerindeki sınırı değiştirebilme imkanı verir. Sunucu bu değerin,
1836 normal bir istemci isteğinin içerebileceği alan sayısından daha büyük
1837 olmasına ihtiyaç duyar. Bir istemci tarafından kullanılan istek başlık
1838 alanlarının sayısı nadiren 20’yi geçer, fakat bu farklı istemci
1839 gerçeklenimleri için değişiklik gösterir ve çoğunlukla kullanıcının
1840 tarayıcısını ayrıntılı içerik müzakeresini desteklemek için nasıl
1841 yapılandırdığıyla ilgilidir. İsteğe bağlı HTTP eklentileri çoğunlukla
1842 istek başlık alanları kullanılarak ifade edilir.</p>
1844 <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu
1845 yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim
1846 imkanı sağlar. Eğer normal istemciler sunucudan istekte bulunurken çok
1847 fazla başlık alanı gönderildiğine dair bir hata iletisi alırlarsa bu
1848 değerin arttırılması gerekir.</p>
1853 LimitRequestFields 50
1857 </directivesynopsis>
1860 <name>LimitRequestFieldSize</name>
1861 <description>İstemciden kabul edilecek HTTP isteği başlık uzunluğunu sınırlar.
1863 <syntax>LimitRequestFieldSize <var>bayt-sayısı</var></syntax>
1864 <default>LimitRequestFieldSize 8190</default>
1865 <contextlist><context>server config</context></contextlist>
1868 <p>Bu yönerge, HTTP istek başlığında izin verilecek bayt sayısını
1871 <p><directive>LimitRequestFieldSize</directive> yönergesi, sunucu
1872 yöneticilerine HTTP istek başlık alanının azami uzunluğunu arttırıp
1873 azaltma imkanı verir. Sunucu bu değerin, normal bir istemci isteğinin
1874 içerebileceği herhangi bir başlık alanını tutabilecek kadar büyük
1875 olmasını gerektirir. Normal bir istek başlık alanı uzunluğu kullanıcının
1876 tarayıcısını ayrıntılı içerik müzakeresini desteklemek için nasıl
1877 yapılandırdığıyla ilgilidir. SPNEGO kimlik doğrulama başlıkları 12392
1878 baytlık olabilir.</p>
1880 <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu
1881 yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim
1887 LimitRequestFieldSize 4094
1890 <note>Normal şartlar altında öntanımlı değer değiştirilmemelidir.</note>
1893 </directivesynopsis>
1896 <name>LimitRequestLine</name>
1897 <description>İstemciden kabul edilecek HTTP istek satırının uzunluğunu sınırlar.
1899 <syntax>LimitRequestLine <var>bayt-sayısı</var></syntax>
1900 <default>LimitRequestLine 8190</default>
1901 <contextlist><context>server config</context></contextlist>
1904 <p>Bu yönerge, HTTP istek satırında izin verilecek bayt sayısını
1907 <p><directive>LimitRequestLine</directive> yönergesi, sunucu yöneticilerine
1908 bir istemcinin HTTP istek satırının azami uzunluğunu arttırıp azaltma
1909 imkanı verir. İstek satırının içeriği HTTP yöntemi, URI ve protokol
1910 sürümünden oluştuğundan <directive>LimitRequestLine</directive>
1911 yönergesi, sunucudan bir istek için kullanılan istek adresinin uzunluğunu
1912 sınırlamış olur. Sunucu bu değerin, bir <code>GET</code> isteğinin sorgu
1913 kısmında aktarılabilen her bilgi dahil, özkaynak isimlerinden her birini
1914 tutabilecek kadar büyük olmasını gerektirir.</p>
1916 <p>Bu yönerge, bazı hizmet reddi (DoS) saldırılarından kaçınmak için sunucu
1917 yöneticilerine, anormal istemci istekleri üzerinde daha iyi denetim
1923 LimitRequestLine 4094
1926 <note>Normal şartlar altında öntanımlı değer değiştirilmemelidir.</note>
1928 </directivesynopsis>
1931 <name>LimitXMLRequestBody</name>
1932 <description>Bir XML temelli istek gövdesinin uzunluğunu sınırlar.</description>
1933 <syntax>LimitXMLRequestBody <var>bayt-sayısı</var></syntax>
1934 <default>LimitXMLRequestBody 1000000</default>
1935 <contextlist><context>server config</context><context>virtual host</context>
1936 <context>directory</context><context>.htaccess</context></contextlist>
1937 <override>All</override>
1940 <p>Bir XML temelli istek gövdesinin azami bayt sayısını belirler. Değer
1941 olarak <code>0</code> belirtildiğinde herhangi bir boyut sınaması
1947 LimitXMLRequestBody 0
1951 </directivesynopsis>
1953 <directivesynopsis type="section">
1954 <name>Location</name>
1955 <description>İçerdiği yönergeler sadece eşleşen URL’lere uygulanır.
1957 <syntax><Location <var>URL-yolu</var>|<var>URL</var>> ...
1958 </Location></syntax>
1959 <contextlist><context>server config</context><context>virtual host</context>
1963 <p><directive type="section">Location</directive> bölüm yönergesi kapsadığı
1964 yönergelerin etki alanını belirtilen URL’lerle sınırlar. Bu yönerge,
1965 <directive type="section" module="core">Directory</directive> yönergesine
1966 benzer ve <code></Location></code> yönergesi ile biten bir alt
1967 bölüm başlatır. <directive type="section">Location</directive> bölümleri
1968 yapılandırma dosyasında göründükleri sıraya göre, <directive
1969 type="section" module="core">Directory</directive> bölümleri ve
1970 <code>.htaccess</code> dosyaları okunup <directive type="section"
1971 module="core">Files</directive> bölümleri de işlendikten sonra işleme
1974 <p><directive type="section">Location</directive> bölümleri dosya
1975 sisteminin tamamen dışında işlem görürler. Bunun çeşitli sonuçları olur.
1976 En önemlisi, <directive type="section">Location</directive>
1977 yönergelerinin dosya sistemi konumlarına erişimi denetim altına almak
1978 için kullanılmaması gerekliliğidir. Aynı dosya sistemi konumuna farklı
1979 URL’lerle erişmek mümkün olduğundan bu tür erişim denetimleri hile ile
1980 atlatılabilir olacaktır.</p>
1982 <note><title><directive type="section">Location</directive> ne zaman
1983 kullanılmalı</title>
1985 <p><directive type="section">Location</directive> yönergesini dosya sistemi
1986 dışındaki içeriğe çeşitli yönergeler uygulamak için kullanın. Dosya
1987 sisteminde bulunan içerik için <directive type="section"
1988 module="core">Directory</directive> ve <directive type="section"
1989 module="core">Files</directive> bölümlerini kullanın. Bunun istisnası,
1990 sunucunun tamamına bir yapılandırma uygulamak için kolay bir yol olan
1991 <code><Location /></code> kullanımıdır.</p>
1994 <p>Kaynağa yapılan (vekil olmayan) tüm istekler için eşleşecek URL,
1995 <code>/yol/</code> şeklinde bir URL yolu olmalı; <em>ne şema, ne konak ismi
1996 ne port ne de sorgu dizgesi içermelidir</em>. Vekil istekleri için eşleşecek
1997 URL ise <code>şema://sunucuadı/dosya-yolu</code> şeklinde olmalı ve önek
2000 <p>URL içinde dosya kalıp karakterleri kullanılabilir. Dosya kalıp
2001 karakterleri bulunan bir dizgede bulunan <code>?</code> karakteri
2002 herhangi bir tek karakterle eşleşirken <code>*</code> karakteri herhangi
2003 bir karakter dizisi ile eşleşecektir. URL yolu içindeki / karakterleri
2004 ile hiçbir dosya kalıp karakteri eşleşmez.</p>
2006 <p>Ayrıca, <code>~</code> karakteri eşliğinde
2007 <glossary ref="regex">düzenli ifadeler</glossary> de kullanılabilir.
2011 <Location ~ "/(ek|hususi)/veri">
2014 <p>yönergesi <code>/ek/veri</code> ve <code>/hususi/veri</code> alt
2015 dizgeleriyle eşleşecektir. <directive type="section"
2016 module="core">LocationMatch</directive> yönergesi <directive
2017 type="section">Location</directive> yönergesinin düzenli ifade sürümüne
2018 eşdeğer davranır ve bir çok yazı tipinde <code>~</code> karakterini
2019 <code>-</code> karakterinden ayırmak zor olduğu için tercih edilir.</p>
2021 <p><directive type="section">Location</directive> işlevselliği özellikle
2022 <directive module="core">SetHandler</directive> yönergesi ile birlikte
2023 kullanışlı olur. Örneğin, durum isteklerini etkin kılmak ama sadece
2024 <code>mesela.dom</code>’dan gelen isteklere izin vermek için şöyle bir
2025 uygulama yapabilirsiniz:</p>
2028 <Location /status><br />
2030 SetHandler server-status<br />
2031 Order Deny,Allow<br />
2033 Allow from .mesela.dom<br />
2038 <note><title>/ (bölü çizgisi) hakkında</title>
2039 <p>Bölü çizgisinin URL içinde bulunduğu yere bağlı olarak özel anlamları
2040 vardır. Dosya sistemindeki çok sayıda yanyana kullanımının tek bir bölü
2041 çizgisi olarak ele alındığı duruma alışkın olanlar olabilir (yani,
2042 <code>/home///foo</code> ile <code>/home/foo</code> aynıdır). URL
2043 uzayında bunun böyle olması gerekli değildir. Eğer çok sayıda bölü
2044 çizgisini yanyana belirtmeniz gerekiyorsa <directive type="section"
2045 module="core">LocationMatch</directive> yönergesinde ve <directive
2046 type="section">Location</directive> yönergesinin düzenli ifadeli
2047 kullanımında bunu açıkça belirtmeniz gerekir.</p>
2049 <p>Örneğin, <code><LocationMatch ^/abc></code> yönergesi
2050 <code>/abc</code> ile eşleşecek ama <code>//abc</code> ile
2051 eşleşmeyecektir. <directive type="section">Location</directive>
2052 yönergesinin düzenli ifade içermeyen kullanımındaki davranış vekil
2053 isteklerinde kullanılana benzer ve doğrudan kaynağa yapılan (vekil
2054 olmayan) isteklerde çok sayıda bölü çizgisi dolaylı olarak tek bir bölü
2055 çizgisiyle eşleşecektir. Örneğin, <code><Location
2056 /abc/def></code> belirtirseniz ve istek <code>/abc//def</code>
2057 şeklinde olursa bu ikisi eşleşir.</p>
2060 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir arada
2061 ele alındığının açıklaması için <a href="../sections.html">
2062 <Directory>, <Location> ve <Files> bölümleri nasıl
2063 çalışır?</a> belgesine bakınız.</seealso>
2064 </directivesynopsis>
2066 <directivesynopsis type="section">
2067 <name>LocationMatch</name>
2068 <description>İçerdiği yönergeler sadece düzenli ifadelerle eşleşen URL’lere
2069 uygulanır.</description>
2070 <syntax><LocationMatch
2071 <var>düzifade</var>> ... </LocationMatch></syntax>
2072 <contextlist><context>server config</context><context>virtual host</context>
2076 <p><directive type="section">LocationMatch</directive> yönergesi içerdiği
2077 yönergelerin etki alanını <directive module="core" type="section"
2078 >Location</directive> yönergesinin yaptığı gibi belirtilen URL’lerle
2079 sınırlar. Ancak argüman olarak basit bir dizge değil bir <glossary
2080 ref="regex">düzenli ifade</glossary> alır. Örneğin,</p>
2083 <LocationMatch "/(ek|hususi)/veri">
2086 <p>yönergesi <code>/ek/veri</code> ve <code>/hususi/veri</code> alt
2087 dizgeleriyle eşleşecektir.</p>
2090 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir arada
2091 ele alındığının açıklaması için <a href="../sections.html">
2092 <Directory>, <Location> ve <Files> bölümleri nasıl
2093 çalışır?</a> belgesine bakınız.</seealso>
2094 </directivesynopsis>
2097 <name>LogLevel</name>
2098 <description>Hata günlüklerinin ayrıntı seviyesini belirler.</description>
2099 <syntax>LogLevel <var>seviye</var></syntax>
2100 <default>LogLevel warn</default>
2101 <contextlist><context>server config</context><context>virtual host</context>
2105 <p><directive>LogLevel</directive> yönergesi hata günlüklerine kaydedilen
2106 hata iletilerinde hangi ayrıntılara yer verileceğini belirler (<directive
2107 module="core">ErrorLog</directive> yönergesine bakınız). En yüksek önem
2108 derecesinden başlayarak olası <var>seviye</var> değerleri aşağıda
2112 <columnspec><column width=".2"/><column width=".3"/><column width=".5"/>
2115 <th><strong>Seviye</strong> </th>
2116 <th><strong>Açıklama</strong> </th>
2117 <th><strong>Örnek</strong> </th>
2121 <td><code>emerg</code> </td>
2122 <td>Acil durumlar - sistem kullanışsız.</td>
2123 <td>"Child cannot open lock file. Exiting"<br />(Alt süreç kilit
2124 dosyasını açamıyor. Çıkılıyor)</td>
2128 <td><code>alert</code> </td>
2129 <td>Ne yapılacaksa beklemeden yapılmalı.</td>
2130 <td>"getpwuid: couldn't determine user name from uid"<br />(getpwuid:
2131 Kullanıcı ismi numarasından saptanamadı)</td>
2135 <td><code>crit</code> </td>
2136 <td>Kriz durumları.</td>
2137 <td>"socket: Failed to get a socket, exiting child"<br />(socket: bir
2138 soket alınamadı, alt süreç çıkıyor)</td>
2142 <td><code>error</code> </td>
2143 <td>Hata durumları.</td>
2144 <td>"Premature end of script headers"<br />(Betik başlıkları
2145 beklenmedik şekilde bitti)</td>
2149 <td><code>warn</code> </td>
2150 <td>Uyarı durumları.</td>
2151 <td>"child process 1234 did not exit, sending another
2152 SIGHUP"<br />(1234 alt süreci çıkmadı, başka bir SIGHUP
2157 <td><code>notice</code> </td>
2158 <td>Normal fakat önemli durum.</td>
2159 <td>"httpd: caught SIGBUS, attempting to dump core in
2160 ..."<br />(httpd: SIGBUS alındı, core dökümlenmeye çalışılıyor:
2165 <td><code>info</code> </td>
2166 <td>Bilgilendirme.</td>
2167 <td>"Server seems busy, (you may need to increase
2168 StartServers, or Min/MaxSpareServers)..."<br />(Sunucu meşgul
2169 görünüyor, (StartServers veya Min/MaxSpareServers değerlerini
2170 arttırmanız gerekebilir)...)</td>
2174 <td><code>debug</code> </td>
2175 <td>Hata ayıklama seviyesi iletileri</td>
2176 <td>"Opening config file ..."<br />(... yapılandırma dosyası
2181 <p>Belli bir seviye belirtildiğinde daha yüksek seviyeden iletiler de
2182 raporlanır. Örneğin, <code>LogLevel info</code> belirtildiğinde
2183 <code>notice</code> ve <code>warn</code> günlük seviyelerinin iletileri
2184 ayrıca raporlanacaktır.</p>
2186 <p>En az <code>crit</code> seviyesinin kullanılması önerilir.</p>
2194 <note><title>Ek Bilgi</title>
2195 <p>Günlük iletileri normal bir dosyaya yazılırken <code>notice</code>
2196 seviyesinden iletiler engellenemez ve dolayısıyla daima raporlanırlar.
2197 Ancak, günlük kaydı <code>syslog</code> kullanılarak yapılıyorsa bu
2201 </directivesynopsis>
2204 <name>MaxKeepAliveRequests</name>
2205 <description>Bir kalıcı bağlantıda izin verilen istek sayısı</description>
2206 <syntax>MaxKeepAliveRequests <var>sayı</var></syntax>
2207 <default>MaxKeepAliveRequests 100</default>
2208 <contextlist><context>server config</context><context>virtual host</context>
2212 <p><directive>MaxKeepAliveRequests</directive> yönergesi <directive
2213 module="core" >KeepAlive</directive> etkinken bağlantı başına izin
2214 verilecek istek sayısını sınırlar. Değer olarak <code>0</code>
2215 belirtilirse istek sayısı sınırsız olur. Sunucu başarımını yüksek tutmak
2216 için yüksekçe bir değer belirtmenizi öneririz.</p>
2221 MaxKeepAliveRequests 500
2224 </directivesynopsis>
2227 <name>NameVirtualHost</name>
2228 <description>İsme dayalı sanal konaklar için IP adresi belirtir</description>
2229 <syntax>NameVirtualHost <var>adres</var>[:<var>port</var>]</syntax>
2230 <contextlist><context>server config</context></contextlist>
2233 <p>Sunucunun, istemci tarafından talep edilen <em>konak ismine</em>
2234 dayanarak seçtiği her sanal konak kümesi için ayrı bir
2235 <directive>NameVirtualHost</directive> yönergesi vardır.
2236 <directive>NameVirtualHost</directive> yönergesi <a href="../vhosts/"
2237 >isme dayalı sanal konakları</a> yapılandırmak isterseniz gerekli olur.
2240 <p>Bu yönerge ve bununle ilişkili <directive>VirtualHost</directive>
2241 yönergesi, suncu hem HTTP hem de HTTPS bağlantılarını desteklediği
2242 takdirde <em>mutlaka</em> bir port numarası da içermelidir.</p>
2244 <p><var>adres</var> olarak bir konak ismi de belirtebilirsiniz ama daima
2245 bir IP adresi veya bir * kullanmanızı öneririz. Bir yıldız imi
2246 belirtilmiş <directive>NameVirtualHost</directive> yönergeleri sadece
2247 adres yerine bir * belirtilmiş <directive>VirtualHost</directive>
2248 yönergeleri ile eşleşir.</p>
2250 <p>İstekleri bir güvenlik duvarının veya başka bir vekil sunucunun
2251 aldığı ve bunları farklı bir IP adresine sahip bir sunucuya
2252 yönlendirdiği durumlarda, bu yönergeye değer olarak istekleri sunan
2253 makinenin fiziksel ağ arabiriminin IP adresi belirtilmelidir.</p>
2255 <p>Aşağıdaki örnekte, 192.0.2.1 IP adresli arabirimin 80. portundan
2256 alınan isteklerle sadece ilk iki sanal konak arasında seçim
2257 yapılacaktır. Diğer arabirimlerin 80.portundan gelen istekler için ise
2258 sadece üçüncü ve dördüncü sanal konak arasında seçim yapılacaktır.
2259 İsteklerin hangi arabirimden geldiğinin önemli olmadığı durumlarda
2260 (genelde böyledir) <directive>NameVirtualHost</directive> ve
2261 <directive>VirtualHost</directive> yönergelerine sadece "*:80"
2262 belirtmek yeterlidir.</p>
2265 NameVirtualHost 192.0.2.1:80<br />
2266 NameVirtualHost *:80<br /><br />
2268 <VirtualHost 192.0.2.1:80><br />
2269 ServerName namebased-a.example.com<br />
2270 </VirtualHost><br />
2272 <VirtualHost 192.0.2.1:80><br />
2273 Servername namebased-b.example.com<br />
2274 </VirtualHost><br />
2276 <VirtualHost *:80><br />
2277 ServerName namebased-c.example.com <br />
2278 </VirtualHost><br />
2280 <VirtualHost *:80><br />
2281 ServerName namebased-d.example.com <br />
2282 </VirtualHost><br />
2287 <p>IPv6 adresleri belirtilirken örnekteki gibi köşeli ayraçlar arasına
2291 NameVirtualHost [2001:db8::a00:20ff:fea7:ccea]:8080
2294 <note><title><directive type="section">VirtualHost</directive>
2295 yönergesinin değeri</title>
2296 <p><directive type="section">VirtualHost</directive> yönergesinin
2297 değerinin <directive>NameVirtualHost</directive> yönergesininkiyle tam
2298 olarak eşleşmesi gerektiğine dikkat ediniz.</p>
2301 NameVirtualHost 192.0.2.2:80<br />
2302 <VirtualHost 192.0.2.2:80><br />
2304 </VirtualHost><br />
2309 <seealso><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></seealso>
2311 </directivesynopsis>
2314 <name>Options</name>
2315 <description>Belli bir dizinde geçerli olacak özellikleri yapılandırır.
2318 [+|-]<var>seçenek</var> [[+|-]<var>seçenek</var>] ...</syntax>
2319 <default>Options All</default>
2320 <contextlist><context>server config</context><context>virtual host</context>
2321 <context>directory</context><context>.htaccess</context>
2323 <override>Options</override>
2326 <p><directive>Options</directive> yönergesi belli bir dizinde hangi sunucu
2327 özelliklerinin etkin olacağını (veya olmayacağını) belirler.</p>
2329 <p><var>seçenek</var> olarak hiçbir ek özellik etkin olmayacaksa
2330 <code>None</code>, aksi takdirde aşağıdakilerden biri veya bir kaçı
2334 <dt><code>All</code></dt>
2335 <dd><code>MultiViews</code> hariç tüm seçenekler. Bu öntanımlıdır.</dd>
2337 <dt><code>ExecCGI</code></dt>
2338 <dd><module>mod_cgi</module> kullanan CGI betiklerinin çalışmasına izin
2341 <dt><code>FollowSymLinks</code></dt>
2342 <dd>Sunucu bu dizindeki sembolik bağları izler.
2344 <p>Sembolik bağlar izlense bile <directive type="section"
2345 module="core">Directory</directive> bölümleriyle eşleşen dosya yolları
2347 <p>Ayrıca, bu seçenek bir <directive type="section" module="core"
2348 >Location</directive> bölümü içinde belirtildiği takdirde <strong>yok
2349 sayılır</strong>.</p>
2350 <p>Sembolik bağ sınamaları, atlatılabilir yarış koşullarına konu
2351 olduğundan bu seçeneğin yokluğu bir güvenlik sınırlaması olarak
2352 değerlendirilmemelidir.</p>
2355 <dt><code>Includes</code></dt>
2356 <dd><module>mod_include</module> tarafından sağlanan sunucu taraflı
2357 içeriklere izin verilir.</dd>
2359 <dt><code>IncludesNOEXEC</code></dt>
2360 <dd>Sunucu taraflı içeriklere izin verilir fakat <code>#exec cmd</code>
2361 ve <code>#exec cgi</code> iptal edilir. Ancak, <directive
2362 module="mod_alias">ScriptAlias</directive>’lı dizinlerdeki CGI
2363 betikleri için <code>#include virtual</code> hala mümkün olacaktır.</dd>
2365 <dt><code>Indexes</code></dt>
2366 <dd>İstenen URL bir dizin ile eşleşiyorsa ve bu dizin için bir <directive
2367 module="mod_dir">DirectoryIndex</directive> (<code>index.html</code>
2368 gibi) belirtilmemişse <module>mod_autoindex</module> bu dizinin
2369 biçimlenmiş bir listesini döndürecektir.</dd>
2371 <dt><code>MultiViews</code></dt>
2372 <dd><module>mod_negotiation</module> kullanılarak <a
2373 href="../content-negotiation.html">içerik uzlaştırmalı</a> çok
2374 görünümlü içeriğe izin verilir.</dd>
2376 <dt><code>SymLinksIfOwnerMatch</code></dt>
2377 <dd>Sunucu sembolik bağları sadece sembolik bağın hedefi ile bulunduğu
2378 dizinin sahibinin aynı kullanıcı olması halinde izleyecektir.
2380 <note><title>Ek Bilgi</title> <p>Bu seçenek bir <directive module="core"
2381 type="section">Location</directive> bölümü içinde belirtildiğinde yok
2383 <p>Sembolik bağ sınamaları, atlatılabilir yarış koşullarına konu
2384 olduğundan bu seçenek bir güvenlik sınırlaması olarak
2385 değerlendirilmemelidir.</p></note>
2389 <p>Normalde, bir dizine çok sayıda <directive>Options</directive>
2390 uygulanabilirse de, dizine en uygun olanı uygulanıp diğerleri yok
2391 sayılır; seçenekler katıştırılmaz (bkz, <a href="../sections.html#mergin"
2392 >Bölümler Nasıl Katıştırılır?</a>). Bununla birlikte, önüne bir
2393 <code>+</code> veya <code>-</code> simgesi konmuş seçenekler varsa, o
2394 seçenekler katıştırılır. Önüne <code>+</code> konmuş seçenekler
2395 mevcutlara eklenirken <code>-</code> konmuş seçenekler silinir.</p>
2397 <note type="warning"><title>Uyarı</title>
2398 <p><code>+</code> veya <code>-</code> imli seçenekler içeren
2399 <directive>Options</directive> ile imsiz seçenekler içerenlerin karışık
2400 olarak kullanılması beklenmedik sonuçlara yol açması sebebiyle aslında
2401 geçersiz bir sözdizimidir.</p>
2404 <p>Örneğin, <code>+</code> ve <code>-</code> imleri olmaksızın,</p>
2407 <Directory /web/docs><br />
2409 Options Indexes FollowSymLinks<br />
2411 </Directory><br />
2413 <Directory /web/docs/spec><br />
2415 Options Includes<br />
2420 <p>yapılandırmasıyla <code>/web/docs/spec</code> dizininde sadece
2421 <code>Includes</code> seçeneği etkin olacaktır. Bununla birlikte, ikinci
2422 <directive>Options</directive> yönergesinde <code>+</code> ve
2423 <code>-</code> imleri kullanılırsa,</p>
2426 <Directory /web/docs><br />
2428 Options Indexes FollowSymLinks<br />
2430 </Directory><br />
2432 <Directory /web/docs/spec><br />
2434 Options +Includes -Indexes<br />
2439 <p>yapılandırmasıyla <code>/web/docs/spec</code> dizininde
2440 <code>FollowSymLinks</code> ve <code>Includes</code> seçenekleri etkin
2443 <note><title>Ek Bilgi</title>
2444 <p><code>-IncludesNOEXEC</code> veya <code>-Includes</code> kullanımı,
2445 önceki ayarların ne olduğuna bakılmaksızın sunucu taraflı içeriğin
2446 tamamen iptaline sebep olur.</p>
2449 <p>Herhangi bir başka değer belirtilmedikçe <code>All</code>
2452 </directivesynopsis>
2455 <name>RLimitCPU</name>
2456 <description>Apache alt süreçleri tarafından çalıştırılan süreçlerin işlemci
2457 tüketimine sınırlama getirir.</description>
2458 <syntax>RLimitCPU <var>saniye</var>|max [<var>saniye</var>|max]</syntax>
2459 <default>Bir değer belirtilmemiştir; işletim sistemi öntanımlıları kullanılır
2461 <contextlist><context>server config</context><context>virtual host</context>
2462 <context>directory</context><context>.htaccess</context></contextlist>
2463 <override>All</override>
2466 <p>1 veya 2 değer alır. İlk değer bütün süreçler için sanal özkaynak
2467 sınırını, ikinci değer ise kesin özkaynak sınırını belirler. İki değer de
2468 birer sayı olabileceği gibi bu sınırın işletim sistemi yapılandırmasında
2469 izin verilen üst sınıra ayarlanacağını belirtmek üzere <code>max</code>
2470 olabilir. Kesin özkaynak sınırını yükseltmek için sunucunun
2471 <code>root</code> olarak veya sistem açılışı sırasında çalıştırılması
2474 <p>Bu sınırlar Apache’nin kendi alt süreçlerine değil, isteklere yanıt
2475 verirken Apache alt süreçlerinin çatalladıkları süreçlere uygulanır.
2476 Bunlar CGI betikleri ve SSI çalıştırma komutları olabilir fakat borulu
2477 günlük kaydı gibi ana Apache süreci tarafından çatallanmış süreçler
2480 <p>İşlemci özkaynak sınırları saniye cinsinden ifade edilir.</p>
2482 <seealso><directive module="core">RLimitMEM</directive></seealso>
2483 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2484 </directivesynopsis>
2487 <name>RLimitMEM</name>
2488 <description>Apache alt süreçleri tarafından çalıştırılan süreçlerin bellek
2489 tüketimine sınırlama getirir.</description>
2490 <syntax>RLimitMEM <var>bayt-sayısı</var>|max [<var>bayt-sayısı</var>|max]
2492 <default>Bir değer belirtilmemiştir; işletim sistemi öntanımlıları kullanılır
2494 <contextlist><context>server config</context><context>virtual host</context>
2495 <context>directory</context><context>.htaccess</context></contextlist>
2496 <override>All</override>
2499 <p>1 veya 2 değer alır. İlk değer bütün süreçler için sanal özkaynak
2500 sınırını, ikinci değer ise kesin özkaynak sınırını belirler. İki değer de
2501 birer sayı olabileceği gibi bu sınırın işletim sistemi yapılandırmasında
2502 izin verilen üst sınıra ayarlanacağını belirtmek üzere <code>max</code>
2503 olabilir. Kesin özkaynak sınırını yükseltmek için sunucunun
2504 <code>root</code> olarak veya sistem açılışı sırasında çalıştırılması
2507 <p>Bu sınırlar Apache’nin kendi alt süreçlerine değil, isteklere yanıt
2508 verirken Apache alt süreçlerinin çatalladıkları süreçlere uygulanır.
2509 Bunlar CGI betikleri ve SSI çalıştırma komutları olabilir fakat borulu
2510 günlük kaydı gibi ana Apache süreci tarafından çatallanmış süreçler
2513 <p>Bellek özkaynak sınırları süreç başına bayt sayısı olarak ifade edilir.
2516 <seealso><directive module="core">RLimitCPU</directive></seealso>
2517 <seealso><directive module="core">RLimitNPROC</directive></seealso>
2518 </directivesynopsis>
2521 <name>RLimitNPROC</name>
2522 <description>Apache alt süreçleri tarafından çalıştırılabilecek süreç sayısına
2523 sınırlama getirir.</description>
2524 <syntax>RLimitNPROC <var>sayı</var>|max [<var>sayı</var>|max]</syntax>
2525 <default>Bir değer belirtilmemiştir; işletim sistemi öntanımlıları kullanılır
2527 <contextlist><context>server config</context><context>virtual host</context>
2528 <context>directory</context><context>.htaccess</context></contextlist>
2529 <override>All</override>
2532 <p>1 veya 2 değer alır. İlk değer bütün süreçler için sanal özkaynak
2533 sınırını, ikinci değer ise kesin özkaynak sınırını belirler. İki değer de
2534 birer sayı olabileceği gibi bu sınırın işletim sistemi yapılandırmasında
2535 izin verilen üst sınıra ayarlanacağını belirtmek üzere <code>max</code>
2536 olabilir. Kesin özkaynak sınırını yükseltmek için sunucunun
2537 <code>root</code> olarak veya sistem açılışı sırasında çalıştırılması
2540 <p>Bu sınırlar Apache’nin kendi alt süreçlerine değil, isteklere yanıt
2541 verirken Apache alt süreçlerinin çatalladıkları süreçlere uygulanır.
2542 Bunlar CGI betikleri ve SSI çalıştırma komutları olabilir fakat borulu
2543 günlük kaydı gibi ana Apache süreci tarafından çatallanmış süreçler
2546 <p>Süreç sayısı sınırı kullanıcı başına süreç sayısına sınırlama getirir.
2549 <note><title>Ek Bilgi</title>
2550 <p>CGI süreçleri sunucu kullanıcı kimliğinden farklı bir kullanıcı
2551 kimliği altında çalışmıyorsa bu yönerge sunucunun kendi oluşturduğu
2552 süreç sayısını sınırlayacaktır. Bunun kanıtı <code>error_log</code>’da
2553 iletilerin çatallanamamasıdır.</p>
2556 <seealso><directive module="core">RLimitMEM</directive></seealso>
2557 <seealso><directive module="core">RLimitCPU</directive></seealso>
2558 </directivesynopsis>
2561 <name>ScriptInterpreterSource</name>
2562 <description>CGI betikleri için yorumlayıcı belirleme tekniği</description>
2563 <syntax>ScriptInterpreterSource Registry|Registry-Strict|Script</syntax>
2564 <default>ScriptInterpreterSource Script</default>
2565 <contextlist><context>server config</context><context>virtual host</context>
2566 <context>directory</context><context>.htaccess</context></contextlist>
2567 <override>FileInfo</override>
2568 <compatibility>Sadece Win32 için; <code>Registry-Strict</code> seçeneği Apache
2569 2.0 ve sonrası için geçerlidir.</compatibility>
2572 <p>Bu yönerge Apache’nin CGI betiklerini çalıştıracak yorumlayıcıyı nasıl
2573 tespit edeceğini belirler. <code>Script</code> öntanımlı olup Apache’nin
2574 yorumlayıcı olarak betiğin diyezli ünlem satırında (<code>#!</code> ile
2575 başlayan ilk satır) belirtilen yorumlayıcıyı kullanacağını belirtir.
2576 Win32 sistemlerinde bu satır genellikle şöyledir:</p>
2579 #!C:/Perl/bin/perl.exe
2582 <p><code>perl</code> yorumlayıcının yeri <code>PATH</code> değişkeninde
2583 kayıtlı ise şöyle de olabilir:</p>
2589 <p><code>ScriptInterpreterSource Registry</code> değeri ise betik dosyası
2590 uzantısının (<code>.pl</code> gibi) Windows Sicili içindeki
2591 <code>HKEY_CLASSES_ROOT</code> ağacında arama yapmak için bir arama
2592 anahtarı olarak kullanılmasını sağlar. Betik dosyasını çalıştırmak için
2593 tanımlanmış komutu bulmak için <code>Shell\ExecCGI\Command</code> yoluna,
2594 orada yoksa <code>Shell\Open\Command</code> yoluna bakılır. İkisi de
2595 yoksa son çare olarak <code>Script</code> seçeneğinin davranışına
2598 <note type="warning"><title>Güvenlik</title>
2599 <p><directive module="mod_alias">ScriptAlias</directive>’lı dizinlerde
2600 Apache bulduğu <strong>her</strong> dosyayı çalıştırmayı deneyeceğinden
2601 <code>ScriptInterpreterSource Registry</code> yapılandırmasını
2602 kullanırken dikkatli olun. <code>Registry</code> seçeneği genellikle
2603 çalıştırılmayacak dosyalar için istenmeyen program çağrılarına sebep
2604 olabilir. Örneğin, çoğu Windows sisteminde <code>.htm</code> dosyaları
2605 için ön tanımlı "open" komutu Microsoft Internet Explorer’ın
2606 çalıştırılmasına sebep olur; bu bakımdan, betik dizininde bulunan bir
2607 <code>.htm</code> dosyası için yapılan bir HTTP isteği tarayıcının sunucu
2608 artalanında çalıştırılmasına sebep olacaktır. Bu, sistemi bir kaç dakika
2609 içinde çökertmek için iyi bir yoldur.</p>
2612 <p><code>Registry-Strict</code> seçeneği Apache 2.0’da yeni olup
2613 <code>Registry</code> seçeneğinin yaptığını
2614 <code>Shell\ExecCGI\Command</code> yolu için yapar. <code>ExecCGI</code>
2615 sistem tarafından bilinen bir anahtar olmadığından Windows Siciline elle
2616 kaydedilmesi gerekir ve dolayısıyla sisteminiz üzerinde istenmeyen
2617 program çağrılarına sebep olmaz.</p>
2619 </directivesynopsis>
2622 <name>ServerAdmin</name>
2623 <description>Sunucunun hata iletilerinde istemciye göstereceği eposta adresi
2625 <syntax>ServerAdmin <var>eposta-adresi</var>|<var>URL</var></syntax>
2626 <contextlist><context>server config</context><context>virtual host</context>
2630 <p><directive>ServerAdmin</directive> yönergesi, sunucunun bir hata
2631 durumunda istemciye döndüreceği hata iletilerinde içereceği iletişim
2632 adresini belirtmek için kullanılır. Eğer <program>httpd</program>
2633 sağlanan değerin bir URL olmadığını saptarsa değerin bir eposta adresi
2634 olduğuna hükmeder ve önüne <code>mailto:</code> getirerek onu bir hiper
2635 bağ hedefi olarak kullanır. Çoğu CGI betiği bir eposta adresi
2636 belirtildiği kabulünü yaptığından değer olarak bir URL değil bir eposta
2637 adresi belirtmeniz önerilir. Eğer bir URL belirtecekseniz hedef sizin
2638 denetiminizde olan başka bir sunucuda bulunmalıdır, yoksa kullanıcılar
2639 hata durumunda bu adrese erişemeyebilirler.</p>
2641 <p>Kullanıcıların sunucu hakkında konuşurken isminizden bahsetmemeleri için
2642 burada belirtilecek adresin sırf bu işe adanmış bir adres olması daha
2646 ServerAdmin www-admin@falan.filan.dom
2649 </directivesynopsis>
2652 <name>ServerAlias</name>
2653 <description>İstekleri isme dayalı sanal konaklarla eşleştirilirken
2654 kullanılacak konak adları için başka isimler belirtebilmeyi sağlar.
2656 <syntax>ServerAlias <var>konakadı</var> [<var>konakadı</var>] ...</syntax>
2657 <contextlist><context>virtual host</context></contextlist>
2660 <p><directive>ServerAlias</directive> yönergesi, istekleri <a
2661 href="../vhosts/name-based.html">isme dayalı sanal konaklarla</a>
2662 eşleştirilirken kullanılacak konak adları için başka isimler
2663 belirtebilmeyi sağlar. <directive>ServerAlias</directive> dosya adı kalıp
2664 karakterleri içerebilir.</p>
2667 <VirtualHost *:80><br />
2668 ServerName sunucu.mesela.dom<br />
2669 ServerAlias sunucu sunucu2.mesela.dom sunucu2<br />
2670 ServerAlias *.mesela.dom<br />
2672 </VirtualHost>
2675 <seealso><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></seealso>
2676 </directivesynopsis>
2679 <name>ServerName</name>
2680 <description>Sunucunun özdeşleşeceği konak ismi ve port.</description>
2681 <syntax>ServerName [<var>şema</var>://]<var>tam-nitelenmiş-alan-adı</var>[:<var>port</var>]
2683 <contextlist><context>server config</context><context>virtual host</context>
2685 <compatibility>Bu yönerge 2.0 sürümünden itibaren 1.3 sürümündeki
2686 <directive>Port</directive> yönergesinin işlevselliğini de
2687 üstlenmiştir.</compatibility>
2690 <p><directive>ServerName</directive> yönergesi, sunucunun kendini
2691 betimlemekte kullanacağı şema, konak adı ve port değerlerini belirler.
2692 Bu, yönlendirme URL’leri oluşturulurken kullanılır. Örneğin, HTTP
2693 sunucusunun barındırıldığı makinenin ismi <code>falan.filan.dom</code>
2694 olduğu halde makinenin bir de <code>www.filan.dom</code> diye bir de DNS
2695 rumuzu varsa ve HTTP sunucunuzun bu rumuzla kendini özdeşleştirmesini
2696 isterseniz bunu şöyle belirtebilirsiniz:</p>
2699 ServerName www.filan.dom:80
2702 <p>Bir <directive>ServerName</directive> ataması yapılmamışsa sunucu IP
2703 adresine atanmış sunucu ismi için bir ters DNS sorgusu yapacaktır.
2704 <directive>ServerName</directive> yönergesinde bir port belirtilmediği
2705 takdirde sunucu, isteğin geldiği portu kullanacaktır. Öngörülebilirlik ve
2706 güvenilirlik açısından en iyisi <directive>ServerName</directive>
2707 yönergesini kullanarak açıkça bir konak ismi ve port belirtmektir.</p>
2709 <p><a href="../vhosts/name-based.html">İsme dayalı sanal konaklar</a>
2710 kullanıyorsanız, <directive type="section" module="core"
2711 >VirtualHost</directive> bölümü içindeki
2712 <directive>ServerName</directive> yönergesi, isteğin <code>Host:</code>
2713 başlığında bu sanal konakla eşleşecek konak ismini belirler.</p>
2716 <p>Bazen sunucu, bir ters vekil, yük dengeleyici veya SSL yük aktarım
2717 uygulaması gibi bir aygıtın arkasında çalışır. Böyle durumlarda sunucunun
2718 kendine yönelik URL’leri doğru üretebildiğinden emin olmak için
2719 <directive>ServerName</directive> yönergesinde istemcinin bağlanacağı
2720 <code>https://</code> şeması ve port numarası belirtilir.</p>
2722 <p>Sunucunun kendine yönelik URL’lerin belirtilen portu içerip içermediğini
2723 veya istemcinin yaptığı istekte belirtilen port numarasının verilip
2724 verilmediğinin saptamasını sağlayan (örneğin, <module>mod_dir</module>
2725 modülü tarafından) ayarlar için <directive
2726 module="core">UseCanonicalName</directive> ve
2727 <directive module="core">UseCanonicalPhysicalPort</directive>
2728 yönergelerinin açıklamalarına bakınız.</p>
2732 <seealso><a href="../dns-caveats.html">DNS ile ilgili konular ve Apache</a>
2734 <seealso><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></seealso>
2735 <seealso><directive module="core">UseCanonicalName</directive></seealso>
2736 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
2737 <seealso><directive module="core">NameVirtualHost</directive></seealso>
2738 <seealso><directive module="core">ServerAlias</directive></seealso>
2739 </directivesynopsis>
2742 <name>ServerPath</name>
2743 <description>Uyumsuz bir tarayıcı tarafından erişilmesi için bir isme dayalı sanal konak için meşru URL yolu</description>
2744 <syntax>ServerPath <var>URL-yolu</var></syntax>
2745 <contextlist><context>virtual host</context></contextlist>
2748 <p><directive>ServerPath</directive> yönergesi <a href="../vhosts/">isme
2749 dayalı sanal konaklar</a>da kullanmak için konağa meşru bir URL yolu
2752 <seealso><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></seealso>
2753 </directivesynopsis>
2756 <name>ServerRoot</name>
2757 <description>Sunucu yapılandırması için kök dizin</description>
2758 <syntax>ServerRoot <var>dizin-yolu</var></syntax>
2759 <default>ServerRoot /usr/local/apache</default>
2760 <contextlist><context>server config</context></contextlist>
2763 <p><directive>ServerRoot</directive> yönergesi sunucu yapılandırmasını
2764 içeren dizinin yerini belirtir. Genellikle <code>conf/</code> ve
2765 <code>logs/</code> gibi alt dizinler içerir. <directive
2766 module="core">Include</directive>, <directive
2767 module="mod_so">LoadModule</directive> gibi diğer yapılandırma
2768 yönergelerindeki göreli yollar bu dizine göre ele alınır.</p>
2770 <example><title>Örnek</title>
2771 ServerRoot /home/httpd
2775 <seealso><a href="../invoking.html"><code>httpd</code> için <code>-d</code> seçeneği</a></seealso>
2776 <seealso><directive>ServerRoot</directive> dizininin erişim izinlerinin nasıl
2777 ayarlanması gerektiğini öğrenmek için <a
2778 href="../misc/security_tips.html#serverroot">güvenlik ipuçları</a></seealso>
2779 </directivesynopsis>
2782 <name>ServerSignature</name>
2783 <description>Sunucu tarafından üretilen belgelerin dipnotunu ayarlar.
2785 <syntax>ServerSignature On|Off|EMail</syntax>
2786 <default>ServerSignature Off</default>
2787 <contextlist><context>server config</context><context>virtual host</context>
2788 <context>directory</context><context>.htaccess</context>
2790 <override>All</override>
2793 <p><directive>ServerSignature</directive> yönergesi, sunucu tarafından
2794 üretilen belgelerin (hata iletileri, <module>mod_proxy</module> ftp dizin
2795 listeleri, <module>mod_info</module> çıktısı, vs.) altındaki dipnot
2796 satırını yapılandırabilmenizi sağlar. Böyle bir dipnot satırın
2797 istenmesinin sebebi vekil zincirlerinde istemciye dönen hata iletisinin
2798 aslında hangi sunucu tarafından üretildiğini kullanıcıya bildirmektir.</p>
2800 <p><code>Off</code> değeri öntanımlı değer olup dipnot satırının
2801 gösterilmemesini sağlar (Apache-1.2 ve öncesi ile uyumluluk).
2802 <code>On</code> değeri, sunucu sürüm numarası ve hizmeti sunan sanal
2803 konağın isminden (<directive module="core">ServerName</directive>) oluşan
2804 bir dipnot satırı oluşturulmasını sağlar; <code>EMail</code> değeri bu
2805 ikisine ek olarak satıra <directive module="core">ServerAdmin</directive>
2806 ile belirtilen adres için bir "mailto:" bağı ekler.</p>
2808 <p>2.0.44 sürümünden beri sunucu sürüm numarasının ayrıntıları <directive
2809 module="core">ServerTokens</directive> yönergesi ile belirlenmektedir.</p>
2811 <seealso><directive module="core">ServerTokens</directive></seealso>
2812 </directivesynopsis>
2815 <name>ServerTokens</name>
2816 <description><code>Server</code> HTTP yanıt başlığını yapılandırır.
2818 <syntax>ServerTokens Major|Minor|Min[imal]|Prod[uctOnly]|OS|Full</syntax>
2819 <default>ServerTokens Full</default>
2820 <contextlist><context>server config</context></contextlist>
2823 <p>Bu yönerge <code>Server</code> HTTP yanıt başlığı alanında istemcilere
2824 sunucunun işletim sistemi, sunucuyla derlenmiş modüller, vs. hakkında
2825 bilgi verilip verilmeyeceğini belirler.</p>
2828 <dt><code>ServerTokens Prod[uctOnly]</code></dt>
2830 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server:
2833 <dt><code>ServerTokens Major</code></dt>
2835 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server:
2836 Apache/2</code></dd>
2838 <dt><code>ServerTokens Minor</code></dt>
2840 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server:
2841 Apache/2.0</code></dd>
2843 <dt><code>ServerTokens Min[imal]</code></dt>
2845 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server:
2846 Apache/2.0.41</code></dd>
2848 <dt><code>ServerTokens OS</code></dt>
2850 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: Apache/2.0.41
2853 <dt><code>ServerTokens Full</code> (ya da belirtilmezse)</dt>
2855 <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: Apache/2.0.41
2856 (Unix) PHP/4.2.2 MyMod/1.2</code></dd>
2859 <p>Bu ayarlama sunucunun tamamını etkiler ve her sanal konak için
2860 farklılaştırılamaz.</p>
2862 <p>2.0.44 sürümünden itibaren bu yönerge <directive
2863 module="core">ServerSignature</directive> yönergesi tarafından sunulan
2864 bilgiyi de etkilemektedir.</p>
2866 <seealso><directive module="core">ServerSignature</directive></seealso>
2867 </directivesynopsis>
2870 <name>SetHandler</name>
2871 <description>Eşleşen tüm dosyaların belli bir eylemci tarafından işlenmesine
2872 sebep olur.</description>
2873 <syntax>SetHandler <var>eylemci-ismi</var>|None</syntax>
2874 <contextlist><context>server config</context><context>virtual host</context>
2875 <context>directory</context><context>.htaccess</context>
2877 <override>FileInfo</override>
2878 <compatibility>Apache 2.0’da core modülüne taşındı.</compatibility>
2881 <p>Bir <code>.htaccess</code> dosyasına veya bir <directive type="section"
2882 module="core">Directory</directive> ya da <directive type="section"
2883 module="core">Location</directive> bölümüne yerleştirildiğinde, eşleşen
2884 tüm dosyaların, ismi <var>eylemci-ismi</var> ile belirtilen <a
2885 href="../handler.html">eylemci</a> tarafından çözümlenmesine sebep olur.
2886 Örneğin, bir dizin içindeki bütün dosyaların, uzantılarına bakılmaksızın
2887 birer imagemap kural dosyası olarak çözümlenmesini istersiniz, bu dizin
2888 içindeki bir <code>.htaccess</code> dosyasına şöyle bir satır
2892 SetHandler imap-file
2895 <p>Başka bir örnek: <code>http://localhost/status</code> gibi bir istek
2896 yapıldığında sunucunun bir durum bilgisi göstermesi için
2897 <code>httpd.conf</code> dosyasına şöyle bir satır koyabilirsiniz:</p>
2900 <Location /status><br />
2902 SetHandler server-status<br />
2907 <p>Evvelce tanımlanmış bir <directive>SetHandler</directive> yönergesini
2908 <code>None</code> değeriyle geçersiz hale getirebilirsiniz.</p>
2910 <p><strong>Bilginize:</strong><directive>SetHandler</directive> yönergesi,
2911 öntanımlı eylemcileri geçersiz kıldığından, index dosyaları ve dizinleri
2912 belirtmek için URL’nin sonuna / getirmek şeklindeki normal davranış
2916 <seealso><directive module="mod_mime">AddHandler</directive></seealso>
2918 </directivesynopsis>
2921 <name>SetInputFilter</name>
2922 <description>POST girdilerini ve istemci isteklerini işleyecek süzgeçleri
2923 belirler.</description>
2924 <syntax>SetInputFilter <var>süzgeç</var>[;<var>süzgeç</var>...]</syntax>
2925 <contextlist><context>server config</context><context>virtual host</context>
2926 <context>directory</context><context>.htaccess</context>
2928 <override>FileInfo</override>
2931 <p><directive>SetInputFilter</directive> yönergesi, istemci isteklerini
2932 ve sunucu tarafından alındığı takdirde POST girdisini işleyecek süzgeç
2933 veya süzgeçleri belirler. Bu, diğer <directive module="mod_mime"
2934 >AddInputFilter</directive> yönergeleri dahil evvelce tanımlanmış
2935 süzgeçlere eklenir.</p>
2937 <p>Birden fazla süzgeç belirtilmek istenirse birbirlerinden noktalı
2938 virgüllerle ayrılmalı ve çıktıyı işleyecekleri sıraya uygun olarak
2939 sıralanmalıdırlar.</p>
2941 <seealso><a href="../filter.html">Süzgeçler</a> belgesi</seealso>
2942 </directivesynopsis>
2945 <name>SetOutputFilter</name>
2946 <description>Sunucunun yanıtlarını işleyecek süzgeçleri belirler.</description>
2947 <syntax>SetOutputFilter <var>süzgeç</var>[;<var>süzgeç</var>...]</syntax>
2948 <contextlist><context>server config</context><context>virtual host</context>
2949 <context>directory</context><context>.htaccess</context>
2951 <override>FileInfo</override>
2954 <p><directive>SetOutputFilter</directive> yönergesi, istemciye
2955 gönderilmeden önce sunucunun yanıtlarını işleyecek süzgeçleri belirler.
2956 Bu, diğer <directive module="mod_mime">AddOutputFilter</directive>
2957 yönergeleri dahil evvelce tanımlanmış süzgeçlere eklenir.</p>
2959 <p>Örneğin, aşağıdaki yapılandırma ile <code>/www/data/</code> dizinindeki
2960 bütün dosyalar sunucu taraflı içerik kapsamında ele alınacaktır.</p>
2963 <Directory /www/data/><br />
2965 SetOutputFilter INCLUDES<br />
2970 <p>Birden fazla süzgeç belirtilmek istenirse birbirlerinden noktalı
2971 virgüllerle ayrılmalı ve çıktıyı işleyecekleri sıraya uygun olarak
2972 sıralanmalıdırlar.</p>
2974 <seealso><a href="../filter.html">Süzgeçler</a> belgesi</seealso>
2975 </directivesynopsis>
2978 <name>TimeOut</name>
2979 <description>Bir istek için başarısız olmadan önce belirli olayların
2980 gerçekleşmesi için sunucunun geçmesini bekleyeceği süre.</description>
2981 <syntax>TimeOut <var>saniye</var></syntax>
2982 <default>TimeOut 300</default>
2983 <contextlist><context>server config</context><context>virtual host</context>
2987 <p><directive>TimeOut</directive> yönergesi Apache’nin aşağıdaki durumlarda
2988 G/Ç için bekleyeceği süreyi belirler:</p>
2991 <li>Veriyi istemciden okurken, okuma tamponu boş olduğu takdirde bir TCP
2992 paketinin gelmesini bekleyeceği süre.</li>
2994 <li>Veriyi istemciye yazarken, gönderme tamponu dolu olduğu takdirde bir
2995 paket alındısı için beklenecek süre.</li>
2997 <li><module>mod_cgi</module> modülünde, bir CGI betiğinden çıktı için
2998 beklenecek süre.</li>
3000 <li><module>mod_ext_filter</module> modülünde, bir süzme işleminden çıktı
3001 almak için beklenecek süre.</li>
3003 <li><module>mod_proxy</module> modülünde, <directive
3004 module="mod_proxy">ProxyTimeout</directive> yönergesi
3005 yapılandırılmamışsa öntanımlı zaman aşımı değeri.</li>
3009 </directivesynopsis>
3012 <name>TraceEnable</name>
3013 <description><code>TRACE</code> isteklerinde davranış şeklini belirler
3015 <syntax>TraceEnable <var>[on|off|extended]</var></syntax>
3016 <default>TraceEnable on</default>
3017 <contextlist><context>server config</context></contextlist>
3018 <compatibility>Apache 1.3.34, 2.0.55 ve sonrasında mevcuttur.</compatibility>
3021 <p>Bu yönerge çekirdek ve vekil (<module>mod_proxy</module>) sunucuların
3022 her ikisi için öntanımlı <code>TRACE</code> davranışını değiştirir.
3023 Öntanımlı olan <code>TraceEnable on</code> ile RFC 2616’dan kaynaklanan
3024 ve isteğe herhangi bir istek gövdesinin eşlik etmesine izin vermeyen
3025 <code>TRACE</code> isteklerine izin verilir. <code>TraceEnable off</code>
3026 ile çekirdek ve vekil (<module>mod_proxy</module>) sunucuların her ikisi
3027 de <code>TRACE</code> isteklerine yanıt olarak bir <code>405</code>
3028 (Yönteme izin verilmiyor) hatası döndürür.</p>
3030 <p><code>TraceEnable extended</code> ile sadece sınama ve tanı koyma
3031 amaçlarına yönelik olarak istek gövdelerine izin verilir. Asıl sunucu
3032 istek gövdesini 64k ile sınırlar (<code>Transfer-Encoding: chunked</code>
3033 kullanılmışsa bölüm başlıkları için 8k daha). Asıl sunucu yanıt
3034 gövdesinde tüm başlıkları ve bölüm başlıklarının tamamını yansıtacaktır.
3035 Vekil sunucuda ise istek gövdesi için 64k’lık sınır yoktur.</p>
3037 </directivesynopsis>
3040 <name>UseCanonicalName</name>
3041 <description>Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar
3043 <syntax>UseCanonicalName On|Off|DNS</syntax>
3044 <default>UseCanonicalName Off</default>
3045 <contextlist><context>server config</context><context>virtual host</context>
3046 <context>directory</context></contextlist>
3049 <p>Apache‘nin çoğu durumda özüne yönelik URL‘ler (isteğin tekrar aynı
3050 sunucuya yapıldığı bir URL türü) oluşturması gerekir.
3051 <code>UseCanonicalName On</code> ile Apache, sunucu için meşru ismi ve
3052 portu oluşturmak için <directive module="core">ServerName</directive>
3053 yönergesinde belirtilen ismi ve portu kullanır. Bu isim CGI'lerde
3054 <code>SERVER_NAME</code> ve <code>SERVER_PORT</code> değerlerinde ve tüm
3055 özüne yönelik URL’lerde kullanılır.</p>
3057 <p><code>UseCanonicalName Off</code> ile Apache, özüne yönelik URL’leri
3058 varsa istemci tarafından sağlanan konak ismini ve portu kullanarak
3059 oluşturur; bunlar istemci tarafından sağlanmamışsa yukarıda tanımlanan
3060 işleme başvurulur. Bu değerler, <a href="../vhosts/name-based.html">isme
3061 dayalı sanal konakları</a> gerçekleştirirken kullanılan değerlerle aynı
3062 olup aynı istemcilerle kullanılabilir. <code>SERVER_NAME</code> ve
3063 <code>SERVER_PORT</code> CGI değişkenleri de istemci tarafından sağlanan
3064 isim ve portla oluşturulur.</p>
3066 <p>Bir örnek olarak, iç ağdaki istemcilerin sunucuya <code>www</code> gibi
3067 bir kısa isim kullanarak bağlandığı durumu ele alırsak daha yararlı olur.
3068 Kullanıcılar bir kısa isim ve bir dizin isminden oluşan ve <em>bir / ile
3069 sonlandırılmamış</em> <code>http://www/splat</code> şeklinde bir istek
3070 yaparlarsa, Apache onları <code>http://www.mesela.dom/splat/</code>
3071 adresine yönlendirecektir. Eğer kimlik doğrulama da etkinse bu
3072 kullanıcının iki defa kimlik doğrulamasına sokulmasına sebep olacaktır
3073 (bir kere <code>www</code> için bir kere de <code>www.mesela.dom</code>
3074 için; daha ayrıntılı bilgi için <a
3075 href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice">SSS</a>’y
3076 e bakınız). Fakat <directive>UseCanonicalName Off</directive> olsaydı
3077 Apache isteği <code>http://www/splat/</code> adresine yönlendirecekti.</p>
3079 <p><code>UseCanonicalName DNS</code> diye üçüncü bir seçenek daha vardır ve
3080 istek yaparken <code>Host:</code> başlığını kullanmayan eski istemcileri
3081 desteklemek amacıyla IP’ye dayalı sanal konaklarla kullanmak için
3082 tasarlanmıştır. Bu seçenek etkin olduğunda Apache, istemciyi özüne
3083 yönelik URL’lerle doğru yere bağlamak için sunucu IP adresi üzerinde bir
3084 ters DNS sorgusu yapar.</p>
3086 <note type="warning"><title>Uyarı</title>
3087 <p>Eğer CGI’ler <code>SERVER_NAME</code> değerleri için önkabuller
3088 yapıyorlarsa bu seçenek işlerinin bozulmasına yol açabilir. Aslında
3089 istemciler konak ismi olarak istedikleri değeri vermekte özgürdürler.
3090 Fakat eğer CGI, özüne yönelik URL’leri oluştururken sadece
3091 <code>SERVER_NAME</code> değerini kullanıyorsa bu istendiği gibi
3095 <seealso><directive module="core">UseCanonicalPhysicalPort</directive></seealso>
3096 <seealso><directive module="core">ServerName</directive></seealso>
3097 <seealso><directive module="mpm_common">Listen</directive></seealso>
3098 </directivesynopsis>
3101 <name>UseCanonicalPhysicalPort</name>
3102 <description>Sunucunun kendi adını ve portunu nasıl belirleyeceğini ayarlar
3104 <syntax>UseCanonicalPhysicalPort On|Off</syntax>
3105 <default>UseCanonicalPhysicalPort Off</default>
3106 <contextlist><context>server config</context><context>virtual host</context>
3107 <context>directory</context></contextlist>
3110 <p>Apache‘nin çoğu durumda özüne yönelik URL‘ler (isteğin tekrar aynı
3111 sunucuya yapıldığı bir URL türü) oluşturması gerekir. Apache <directive
3112 module="core">UseCanonicalName</directive> yönergesine bağlı olarak
3113 sunucu için meşru portu oluştururken <code>UseCanonicalPhysicalPort
3114 On</code> ile olası port olarak istek tarafından kullanılmakta olan
3115 fiziksel portu kullanacaktır. <code>UseCanonicalPhysicalPort Off</code>
3116 olduğunda ise geçerli bir port numarası oluşturmak için asıl fiziksel
3117 port yerine yapılandırma bilgisi kullanılır.</p>
3119 <note><title>Ek Bilgi</title>
3120 <p>Fiziksel port kullanımı etkin olduğunda işlemler şu sırayla
3121 yürütülür:<br /><br />
3122 <code>UseCanonicalName On</code></p>
3124 <li><code>Servername</code> yönergesinde belirtilen port</li>
3125 <li>Fiziksel port</li>
3126 <li>Öntanımlı port</li>
3128 <code>UseCanonicalName Off | DNS</code>
3130 <li><code>Host:</code> başlığından çözümlenen port</li>
3131 <li>Fiziksel port</li>
3132 <li><code>Servername</code> yönergesinde belirtilen port</li>
3133 <li>Öntanımlı port</li>
3136 <p><code>UseCanonicalPhysicalPort Off</code> olduğunda işlem sırasında
3137 fiziksel port adımları atlanır.</p>
3141 <seealso><directive module="core">UseCanonicalName</directive></seealso>
3142 <seealso><directive module="core">ServerName</directive></seealso>
3143 <seealso><directive module="mpm_common">Listen</directive></seealso>
3144 </directivesynopsis>
3146 <directivesynopsis type="section">
3147 <name>VirtualHost</name>
3148 <description>Sadece belli bir konak ismine ve porta uygulanacak yönergeleri barındırır.</description>
3149 <syntax><VirtualHost
3150 <var>adres</var>[:<var>port</var>] [<var>adres</var>[:<var>port</var>]]
3151 ...> ... </VirtualHost></syntax>
3152 <contextlist><context>server config</context></contextlist>
3155 <p><directive type="section">VirtualHost</directive> ve
3156 <code></VirtualHost></code> birlikte sadece belli bir sanal konağa
3157 uygulanacak yönergeleri sarmalamakta kullanılırlar. Bir sanal konak
3158 kapsamında belirtilebilecek her yönerge kullanılabilir. Sunucu belli bir
3159 sanal konak üzerindeki bir belge için bir istek aldığında <directive
3160 type="section">VirtualHost</directive> bölümünde bulunan yapılandırma
3161 yönergelerini kullanır. <var>adres</var> şunlardan biri olabilir:</p>
3164 <li>Sanal konağın IP adresi.</li>
3166 <li>Sanal konağın IP adresi için tam nitelenmiş alan adı (önerilmez).</li>
3168 <li><code>NameVirtualHost *</code> ile birlikte tüm IP adresleri ile
3169 eşleşmek üzere <code>*</code> karakteri.</li>
3171 <li>Sadece IP sanal konaklarında kullanmak için eşleşmeyen IP adreslerini
3172 yakalamak amacıyla <code>_default_</code> dizgesi.</li>
3175 <example><title>Örnek</title>
3176 <VirtualHost 10.1.2.3><br />
3178 ServerAdmin webmaster@konak.mesela.dom<br />
3179 DocumentRoot /www/docs/konak.mesela.dom<br />
3180 ServerName konak.mesela.dom<br />
3181 ErrorLog logs/konak.mesela.dom-error_log<br />
3182 TransferLog logs/konak.mesela.dom-access_log<br />
3184 </VirtualHost>
3188 <p>İsteğe bağlı port numarasını belirtmeyi mümkün kılmak için IPv6
3189 adresleri köşeli ayraç içine alınır. IPv6 adresi kullanılan bir örnek:</p>
3192 <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br />
3194 ServerAdmin webmaster@konak.mesela.dom<br />
3195 DocumentRoot /www/docs/konak.mesela.dom<br />
3196 ServerName konak.mesela.dom<br />
3197 ErrorLog logs/konak.mesela.dom-error_log<br />
3198 TransferLog logs/konak.mesela.dom-access_log<br />
3200 </VirtualHost>
3203 <p>Her sanal konağın ya farklı bir IP adresi ve port ile ya da farklı bir
3204 konak ismiyle eşleşmesi gerekir. Birinci durumda sunucu makinesinin çok
3205 sayıda adresten IP paketleri kabul edecek şekilde yapılandırılması
3206 gerekir. (Eğer makinede çok sayıda ağ arabirimi yoksa bu, işletim sistemi
3207 desteklediği takdirde <code>ifconfig alias</code> komutuyla
3210 <note><title>Ek Bilgi</title>
3211 <p><directive type="section">VirtualHost</directive> kullanımı Apache’nin
3212 dinleyeceği adresler üzerinde belirleyici değildir. Apache’nin doğru
3213 adresi dinlediğinden emin olmak için <directive
3214 module="mpm_common">Listen</directive> kullanmanız gerekebilir.</p>
3217 <p>IP’ye dayalı sanal konakları kullanıyorsanız, diğer sanal konaklarda
3218 açıkça belirtilmemiş bir IP adresiyle eşleşecek sanal konağı
3219 <code>_default_</code> özel ismiyle belirtebilirsiniz. "Ana" sunucu
3220 yapılandırmasında <code>_default_</code> diye bir sanal konağın
3221 bulunmaması halinde, hiçbir IP adresi eşleşmesi bulunamadığı takdirde
3222 <directive type="section">VirtualHost</directive> bölümleri dışında
3223 kalan tüm yapılandırmalar bu amaca yönelik olarak kullanılır.</p>
3225 <p>Eşleşilecek portu değiştirmek için bir <code>:port</code>
3226 belirtebilirsiniz. Port bu şekilde değiştirilmediği takdirde ana
3227 sunucunun son <directive module="mpm_common">Listen</directive>
3228 yönergesinde belirtilen port kullanılır. Bir adresteki tüm portlarla
3229 eşleşileceğini belirtmek için <code>:*</code> kullanabilirsiniz. (Bu,
3230 <code>_default_</code> kullanıldığı takdirde önerilir.)</p>
3232 <p>Her <directive type="section">VirtualHost</directive> bloku içinde bir
3233 <directive module="core">ServerName</directive> yönergesi mutlaka
3234 olmalıdır. Yokluğu halinde "ana" sunucu yapılandırmasındaki <directive
3235 module="core">ServerName</directive> miras alınacaktır (yani, sanal konak
3236 belirtmek için boşuna uğraşmış olursunuz).</p>
3238 <note type="warning"><title>Güvenlik</title>
3239 <p>Günlük dosyalarının sunucuyu çalıştıran kullanıcıdan başka herkes
3240 tarafından yazılabilen bir yerde saklanmasından dolayı ortaya çıkabilecek
3241 güvenlik sorunları hakkında daha ayrıntılı bilgi için <a
3242 href="../misc/security_tips.html">güvenlik ipuçları</a> belgesine
3246 <seealso><a href="../vhosts/">Apache Sanal Konak Belgeleri</a></seealso>
3247 <seealso><a href="../dns-caveats.html">DNS ile İlgili Konular ve Apache</a></seealso>
3248 <seealso><a href="../bind.html">Apache’nin belli adresleri ve portları dinlemek
3249 üzere yapılandırılması</a></seealso>
3250 <seealso>Bir istek alındığında farklı yapılandırma bölümlerinin nasıl bir arada
3251 ele alındığının açıklaması için <a href="../sections.html">
3252 <Directory>, <Location> ve <Files> bölümleri nasıl
3253 çalışır?</a> belgesine bakınız.</seealso>
3254 </directivesynopsis>