]> granicus.if.org Git - apache/blob - docs/manual/logs.html.tr.utf8
Update XForms.
[apache] / docs / manual / logs.html.tr.utf8
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head>
4 <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
5 <!--
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7               This file is generated from xml source: DO NOT EDIT
8         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
9       -->
10 <title>Günlük Dosyaları - Apache HTTP Sunucusu Sürüm 2.5</title>
11 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
12 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
13 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
14 <script src="./style/scripts/prettify.min.js" type="text/javascript">
15 </script>
16
17 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
18 <body id="manual-page"><div id="page-header">
19 <p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/quickreference.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p>
20 <p class="apache">Apache HTTP Sunucusu Sürüm 2.5</p>
21 <img alt="" src="./images/feather.gif" /></div>
22 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
23 <div id="path">
24 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="./">Sürüm 2.5</a></div><div id="page-content"><div id="preamble"><h1>Günlük Dosyaları</h1>
25 <div class="toplang">
26 <p><span>Mevcut Diller: </span><a href="./en/logs.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
27 <a href="./fr/logs.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
28 <a href="./ja/logs.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
29 <a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
30 <a href="./tr/logs.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
31 </div>
32 <div class="outofdate">Bu çeviri güncel olmayabilir. Son değişiklikler için İngilizce sürüm geçerlidir.</div>
33
34     <p>Bir HTTP sunucusunu verimli şekilde yönetebilmek için oluşabilecek
35       sorunlardan başka sunucunun başarımı ve etkinliği hakkında da bazı geri
36       bildirimler almak gerekir. Apache HTTP Sunucusu çok kapsamlı ve esnek
37       bir günlükleme yeteneğine sahiptir. Bu belgede sunucunun günlükleme
38       yeteneğini nasıl yapılandıracağınızdan ve günlük kayıtlarını nasıl
39       yorumlayacağınızdan bahsedilecektir.</p>
40   </div>
41 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#overview">Giriş</a></li>
42 <li><img alt="" src="./images/down.gif" /> <a href="#security">Güvenlik Uyarısı</a></li>
43 <li><img alt="" src="./images/down.gif" /> <a href="#errorlog">Hata Günlüğü</a></li>
44 <li><img alt="" src="./images/down.gif" /> <a href="#permodule">Modüllere göre günlükleme</a></li>
45 <li><img alt="" src="./images/down.gif" /> <a href="#accesslog">Erişim Günlüğü</a></li>
46 <li><img alt="" src="./images/down.gif" /> <a href="#rotation">Günlük Çevrimi</a></li>
47 <li><img alt="" src="./images/down.gif" /> <a href="#piped">Borulu Günlükler</a></li>
48 <li><img alt="" src="./images/down.gif" /> <a href="#virtualhost">Sanal Konaklar</a></li>
49 <li><img alt="" src="./images/down.gif" /> <a href="#other">Diğer Günlük Dosyaları</a></li>
50 </ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
51 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
52 <div class="section">
53 <h2><a name="overview" id="overview">Giriş</a></h2>
54     
55
56   <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code></li><li><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li></ul></td><td /></tr></table>
57
58   <p>Apache HTTP Sunucusu, isteğin ilk alınışından itibaren, URL eşleme
59     işlemleri, bağlantının son çözümlemesi ve bu işlemler sırasına ortaya çıkan
60     hatalar da dahil olmak üzere sunucunuzda meydana gelen herşeyi günlüklemek
61     için çok çeşitli mekanizmalar içerir. Buna ek olarak, günlükleme
62     yetenekleri sağlayan üçüncü parti modüller de kullanılabilir veya mevcut
63     günlük dosyalarına girdiler enjekte edilebilir. Ayrıca, CGI programları,
64     PHP betikleri ve benzerleri sunucu hata günlüğüne kendi iletilerini
65     gönderebilirler.</p>
66
67   <p>Bu belgede Apache HTTP Sunucusunun standart parçası olan günlükleme
68     modülleri hakkında bilgi verilecektir.</p>
69
70   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
71 <div class="section">
72 <h2><a name="security" id="security">Güvenlik Uyarısı</a></h2>
73     
74
75     <p>Apache httpd’nin günlük dosyalarını yazdığı dizine yazabilen birinin sunucuyu
76       başlatan kullanıcı kimliğine (bu genellikle root olur) erişim
77       kazanabileceğine hemen hemen kesin gözüyle bakılabilir. Sonuçlarının
78       neler olacağını kestiremiyorsanız günlüklerin yazıldığı dizinde <em>hiç
79       kimseye</em> yazma erişimi vermeyin; ayrıntılı bilgi için <a href="misc/security_tips.html">güvenlik ipuçları</a> belgesine
80       bakınız.</p>
81
82     <p>Buna ilaveten, günlük dosyaları istemci tarafından sağlanmış bilgiler
83       de içerebilir. Bu nedenle, kötü niyetli istemcilerin günlük dosyalarına
84       denetim karakterleri girmeleri olasılığına karşı ham günlükler ele
85       alınırken dikkatli olunmalıdır.</p>
86   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
87 <div class="section">
88 <h2><a name="errorlog" id="errorlog">Hata Günlüğü</a></h2>
89     
90     <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/core.html">core</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code></li><li><code class="directive"><a href="./mod/core.html#errorlogformat">ErrorLogFormat</a></code></li><li><code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code></li></ul></td></tr></table>
91
92     <p>İsmi ve yeri <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> yönergesi
93       ile belirtilen sunucu hata günlüğü, en önemli günlük dosyasıdır. Apache
94       httpd tarafından istekler işlenirken saptanan hatalar ve tanı bilgileri
95       bu dosyaya gönderilir. Sunucuyu başlatırken veya sunucu çalışırken bir
96       sorunla karşılaşıldığında, neyin yanlış gittiğini öğrenmek için
97       bakılacak ilk yer burasıdır. Günlük kaydı çoğunlukla sorunun nasıl
98       düzeltileceği ile ilgili ayrıntıları da içerir.</p>
99
100     <p>Hata günlüğü normal olarak bir dosyaya yazılır (genellikle, dosyanın
101       ismi Unix sistemlerinde <code>error_log</code>, OS/2 ve Windows’ta ise
102       <code>error.log</code>’dur). Ayrıca, Unix sistemlerinde sunucunun
103       hataları <code>syslog</code>’a veya <a href="#piped">borulamak suretiyle
104       bir programa</a> aktarması da mümkündür.</p>
105
106     <p>Hata günlüğünün biçemi <code class="directive"><a href="./mod/core.html#errorlogformat">ErrorLogFormat</a></code> yönergesi ile belirlenir. Bu yönergeyi
107       kullanarak günlüklenen değerleri özelleştirebilirsiniz. Bir biçem
108       belirtmezseniz öntanımlı biçem kullanılır. Örnek tipik bir hata iletisi
109       içermektedir:</p>
110
111     <div class="example"><p><code>
112     [Fri Sep 09 10:42:29.902022 2011] [core:error] [pid 35708:tid 4328636416]
113     [client 72.15.99.187] Dosya yok: /usr/local/apache2/htdocs/favicon.ico
114     </code></p></div>
115
116     <p>Günlük girdisinin ilk öğesi iletinin yazıldığı tarih ve saatten oluşur.
117       İkincisi iletiyi üreten modülün ismi (bu durumda: core) ile raporlanan
118       bilginin önem derecesini belirtir. Bunu varsa sürecin kimliği ve yine
119       varsa evre kimliği izler. Sonraki öğe hatanın üretilmesine sebep olan
120       istemcinin IP adresini içerir. Kalanı iletinin kendisidir (duruma
121       bakılırsa bir dosyaya yapılan istek yerine getirilememiş).</p>
122
123     <p>Hata günlüğünde görünebilecek ileti çeşitliliği oldukça fazladır. Çoğu
124       yukarıdaki örneğin benzeridir. Hata günlüğü ayrıca, CGI betiklerinin
125       hata ayıklama çıktılarını da içerir. Bir CGI betiği tarafından standart
126       hataya (<code>stderr</code>) yazılan her türlü bilgi doğrudan hata
127       günlüğüne kopyalanır.</p>
128
129     <p>Hata günlüğüne ve erişim günlüğüne  <code>%L</code> dizgeciği konularak
130       erişim günlüğündeki girdi ile hata günlüğündeki girdiyi ilişkilendirecek
131       bir günlük girdisi kimliği oluşturulabilir.
132       <code class="module"><a href="./mod/mod_unique_id.html">mod_unique_id</a></code> yüklüyse günlük girdisi kimliği olarak
133       onun eşsiz istek kimliği de kullanılır.</p>
134
135     <p>Sunucuyu denerken olası sorunlara karşı hata günlüğünü sürekli
136       izlemelisiniz. Unix sistemlerinde bunu şöyle bir komutla
137       sağlayabilirsiniz:</p>
138
139     <div class="example"><p><code>
140       tail -f error_log
141     </code></p></div>
142   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
143 <div class="section">
144 <h2><a name="permodule" id="permodule">Modüllere göre günlükleme</a></h2>
145     
146
147     <p><code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> yönergesi, günlük
148       iletisinin üretilmesine sebep olan modüle bağlı bir önem seviyesi
149       belirleyebilmenizi sağlar. Bu yolla sorun yaşadığınız modülle ilgili
150       günlük musluklarını sonuna kadar açabiliri ek olarak ilgilendiğiniz diğer
151       modüllerle ilgili ayrıntıları da edinebilirsiniz. Özellikle
152       <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> veya <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> gibi
153       modüllerde yapılmak isteneni denerken neler olup bittiğini ayrıntılarıyla
154       bilmek istediğiniz durumlarda kullanışlıdır.</p>
155
156     <p>Bunu <code class="directive">LogLevel</code> yönergesinde modülün ismini
157       belirterek yapabilirsiniz:</p>
158
159     <div class="example"><p><code>
160     LogLevel info rewrite:trace5
161     </code></p></div>
162
163     <p>Bu satırla ana <code class="directive">LogLevel</code> info'ya ayarlanırken
164       <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> için musluk <code>trace5</code> seviyesine
165       kadar açılmaktadır.</p>
166
167     <div class="note">Bu yönerge, Apache HTTP Sunucusunun evvelki sürümlerinde mevcut olan
168       <code>RewriteLog</code> gibi günlükleme modüllerinin yerini almıştır.
169     </div>
170   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
171 <div class="section">
172 <h2><a name="accesslog" id="accesslog">Erişim Günlüğü</a></h2>
173     
174
175     <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_setenvif.html">mod_setenvif</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code></li></ul></td></tr></table>
176
177     <p>Sunucu erişim günlüğü sunucu tarafından işleme alınan tüm istekleri
178       kaydeder. Erişim günlüğünün yeri ve içeriği  <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesi ile belirlenir.
179       <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> yönergesi ile
180       günlük içeriğini kişiselleştirmek mümkündür. Bu bölümde sunucunun
181       bilgileri erişim günlüğüne kaydetmesi için nasıl yapılandırılacağından
182       bahsedilecektir.</p>
183
184     <p>Şüphesiz, bilginin erişim günlüğünde saklanması günlük yönetiminde ilk
185       adımı oluşturur.  Sonraki adım yararlı istatistikleri üretmek için bu
186       bilgiyi incelemektir. Günlük incelemesi bu belgenin kapsamına dahil
187       değildir ve aslında bu işlem sunucunun yaptığı işlerden biri değildir.
188       Bu konu ve günlük incelemesi yapan uygulamalar hakkında daha ayrıntılı
189       bilgi edinmek için <a href="http://dmoz.org/Computers/Software/Internet/Site_Management/Log_analysis/">dmoz.org</a> veya <a href="http://dir.yahoo.com/Computers_and_Internet/Software/Internet/World_Wide_Web/Servers/Log_Analysis_Tools/">Yahoo</a>’ya bakınız.</p>
190
191     <p>Apache httpd’nin çeşitli sürümlerinde erişim günlüklerini denetlemek
192       için kullanılan diğer modüller ve yönergeler arasında mod_log_referer,
193       mod_log_agent modülleri ve <code>TransferLog</code> yönergesi
194       sayılabilir. Artık, daha eski tüm diğer yönergelerin işlevselliklerini
195       bir araya toplayan <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesi kullanılmaktadır.</p>
196
197     <p>Erişim günlüğünün girdi biçemi kolayca isteğe göre
198       düzenlenebilmektedir. Biçemi belirtmekte kullanılan biçem dizgesi, C
199       tarzı printf(1) biçem dizgesini andırır. Sonraki bölümlerde bazı
200       örneklere yer verilmiştir. Biçem dizgesini oluşturan belirteçlerin tam
201       listesi için <code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code> belgesinin <a href="mod/mod_log_config.html#formats">Günlük Girdilerinin
202       Kişiselleştirilmesi</a> bölümüne bakınız.</p>
203
204     <h3><a name="common" id="common">Ortak Günlük Biçemi (OGB)</a></h3>
205       
206
207       <p>Erişim günlüğü için sıklıkla kullanılan bir yapılandırma:</p>
208
209       <div class="example"><p><code>
210         LogFormat "%h %l %u %t \"%r\" %&gt;s %b" common<br />
211         CustomLog logs/access_log common
212       </code></p></div>
213
214       <p>İlk satırda belli bir biçem dizgesi için <code>common</code> diye bir
215         <em>takma ad</em> tanımlanmaktadır. Biçem dizgesi, sunucuya hangi
216         belli bir bilgi parçalarını günlükleyeceğini söyleyen % imli biçem
217         belirteçlerinden oluşur. Biçem dizgesine ayrıca dizgesel sabitler de
218         yerleştirilebilir ve bunlar erişim günlüğüne oldukları gibi
219         kopyalanırlar. Biçem dizgesi içinde çift tırnak karakteri (") biçem
220         dizgesini vaktinden önce sonlandırmaması için ters bölü çizgisi ile
221         öncelenmelidir. Biçem dizgesi ayrıca, satır sonlarını belirtmek için
222         "<code>\n</code>" ve sekmeleri belirtmek için "<code>\t</code>"
223         denetim karakterlerini de içerebilir.</p>
224
225       <p><code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesi
226         evvelce tanımlanmış bir <em>takma adı</em> kullanarak yeni bir günlük
227         dosyası tanımlar. Erişim günlüğünün dosya ismi bölü çizgisi ile
228         başlamadıkça dosya yolunun <code class="directive"><a href="./mod/core.html#serverroot">ServerRoot</a></code> değerine göreli olduğu varsayılır.</p>
229
230       <p>Yukarıdaki yapılandırma günlük dosyasına girdileri Ortak Günlük
231         Biçemi (Common Log Format) adı verilen standart biçemde yazar.
232         Bu standart biçem başka HTTP sunucuları tarafından da kullanılır ve
233         çoğu günlük inceleme yazılımı tarafından tanınır. Ortak Günlük
234         Biçeminde üretilen günlük girdileri şöyle görünür:</p>
235
236       <div class="example"><p><code>
237         127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET
238         /apache_pb.gif HTTP/1.0" 200 2326
239       </code></p></div>
240
241       <p>Bu günlük girdisini parça parça açıklayalım:</p>
242
243       <dl>
244         <dt><code>127.0.0.1</code> (<code>%h</code>)</dt>
245
246         <dd>Bu, sunucuya istek yapan istemcinin (uzak konağın) IP adresidir.
247           Eğer <code class="directive"><a href="./mod/core.html#hostnamelookups">HostnameLookups</a></code>
248           yönergesine <code>On</code> değeri atanmışsa sunucu bu IP adresi
249           için DNS sorgusu yapacak ve IP adresi yerine bulduğu konak ismini
250           yazmaya çalışacaktır. Bununla birlikte, bu işlem sunucuyu epeyce
251           yavaşlattığından önerilmemektedir. Konak isimlerini saptamak için en
252           iyisi günlük girdilerini <code class="program"><a href="./programs/logresolve.html">logresolve</a></code> gibi bir
253           günlük işlemcisinden geçirmektir. Burada raporlanan IP adresi
254           doğrudan istemcinin IP adresi olmayabilir. Eğer sunucu ile istemci
255           arasında bir vekil sunucu varsa bu IP adresi, vekil sunucunun IP
256           adresi olacaktır.</dd>
257
258         <dt><code>-</code> (<code>%l</code>)</dt>
259
260         <dd>Çıktıdaki bir "tire" imi istenen bilgi parçasının mevcut olmadığı
261           anlamına gelir. Bu durumda, mevcut olmayan bilgi istemci makine
262           üzerinde <code>identd</code> tarafından belirlenen istemcinin RFC
263           1413 kimliğidir. Bu bilgi oldukça güvenilmezdir ve sıkıca denetlenen
264           iç ağlar haricinde hemen hemen asla kullanılmamalıdır. Apache,
265           <code class="directive"><a href="./mod/mod_ident.html#identitycheck">IdentityCheck</a></code> yönergesine
266           <code>On</code> değeri atanmış olmadıkça bu bilgiyi saptamaya
267           uğraşmaz.</dd>
268
269         <dt><code>frank</code> (<code>%u</code>)</dt>
270
271         <dd>Bu, belge isteğinde bulunan kişinin HTTP kimlik doğrulamasıyla
272           saptanan kullanıcı kimliğidir. Bu değer CGI betiklerine
273           <code>REMOTE_USER</code> ortam değişkeni ile sağlanır. Eğer istek
274           için durum kodu 401 ise (aşağıya bakınız) henüz kullanıcının kimliği
275           doğrulanmamış olacağından bu değere güvenilmemelidir. Eğer belge
276           parola korumalı değilse günlüğün bu kısmı da yukarıdaki gibi
277           "<code>-</code>" olacaktır.</dd>
278
279         <dt><code>[10/Oct/2000:13:55:36 -0700]</code>
280         (<code>%t</code>)</dt>
281
282         <dd>İsteğin alındığı tarih ve saat. Biçemi şöyledir:
283
284           <p class="indent">
285             <code>[gün/ay/yıl:saat:dakika:saniye dilim]<br />
286              gün&nbsp;&nbsp;&nbsp;&nbsp;= 2 hane<br />
287              ay&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= 3 harf<br />
288              yıl&nbsp;&nbsp;&nbsp;&nbsp;= 4 hane<br />
289              saat&nbsp;&nbsp;&nbsp;= 2 hane<br />
290              dakika = 2 hane<br />
291              saniye = 2 hane<br />
292              dilim&nbsp; = (`+' | `-') 4 hane</code>
293           </p>
294           <p>Günlük biçem dizgesinde zaman gösterim biçemini
295           <code>%{<em>biçem</em>}t</code> şeklinde belirtmek de mümkündür.
296           Buradaki <code><em>biçem</em></code> dizgesi, stardart C
297           kütüphanesindeki <code>strftime(3)</code> işlevi için tanımlanmış
298           biçem belirteçleriyle veya desteklenen özel belirteçlerle
299           oluşturulabilir. Ayrıntılı bilgi için <code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code>
300           <a href="mod/mod_log_config.html#formats">biçem dizgelerine</a>
301           bakın.</p>
302         </dd>
303
304         <dt><code>"GET /apache_pb.gif HTTP/1.0"</code>
305         (<code>\"%r\"</code>)</dt>
306
307         <dd>İstemciden alınan istek satırının çift tırnaklar arasında
308           gösterilmesi istenmiştir. İstek satırı en yararlı bilgi parçalarını
309           içerir. Birincisi, istemci tarafından kullanılan yöntem
310           <code>GET</code>’miş. İkinci olarak istemci
311           <code>/apache_pb.gif</code> dosyasını istemiş ve üçüncü olarak
312           istemci <code>HTTP/1.0</code> protokolünü kullanmış. İstek satırının
313           bazı parçalarını bağımsız olarak da günlüklemek mümkündür. Örneğin,
314           "<code>%m %U%q %H</code>" dizgesi, yöntem, yol, sorgu dizgesi ve
315           protokolü kaydedecektir; bu dizge "<code>%r</code>" biçem
316           belirtecinin tek başına yaptığı işi yapar.</dd>
317
318         <dt><code>200</code> (<code>%&gt;s</code>)</dt>
319
320         <dd>Bu, sunucunun istemciye gönderdiği durum kodudur. İsteğin
321           başarıyla yerine getirilip getirilmediğini gösterdiği için bu bilgi
322           çok değerlidir. Durum kodu 2 ile başlıyorsa istek başarıyla yerine
323           getirilmiştir, 3 ile başlıyorsa yönlendirilmiştir, 4 ile başlıyorsa
324           istemci tarafında bir hata oluşmuştur, 5 ile başlıyorsa sunucuda bir
325           hata oluşmuştur. Olası hata kodlarının tam listesi <a href="http://www.w3.org/Protocols/rfc2616/rfc2616.txt">RFC2616 Hiper
326           Metin Aktarım Protokolü</a>nün 10. bölümünde bulunabilir.</dd>
327
328         <dt><code>2326</code> (<code>%b</code>)</dt>
329
330         <dd>Son parça istemciye döndürülen nesnenin yanıt başlığı hariç
331           uzunluğudur. Eğer istemciye bir içerik döndürülmemişse bu değer
332           "<code>-</code>" olacaktır. Bunun yerine günlüğe "<code>0</code>"
333           yazdırmak için <code>%B</code> belirtecini kullanınız.</dd>
334       </dl>
335     
336
337     <h3><a name="combined" id="combined">Birleşik Günlük Biçemi</a></h3>
338       
339
340       <p>Sıklıkla kullanılan diğer bir biçem dizgesi Birleşik Günlük Biçemi
341         (Combined Log Format) olup şöyle kullanılabilir:</p>
342
343       <div class="example"><p><code>
344         LogFormat "%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\"
345         \"%{User-agent}i\"" combined<br />
346          CustomLog log/access_log combined
347       </code></p></div>
348
349       <p>Bu biçem ilaveten 2 alan içermesi dışında Ortak Günlük Biçemi ile
350         aynıdır. İlave alanların ikisi de <code>%{<em>başlık</em>}i</code>
351         biçeminde olup buradaki <code><em>başlık</em></code>, HTTP isteğindeki
352         başlık alanlarından biridir. Bu biçemin kullanıldığı bir erişim
353         günlüğü girdisi şöyle olurdu:</p>
354
355       <div class="example"><p><code>
356         127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET
357         /apache_pb.gif HTTP/1.0" 200 2326
358         "http://www.example.com/start.html" "Mozilla/4.08 [en]
359         (Win98; I ;Nav)"
360       </code></p></div>
361
362       <p>Ek alanlar:</p>
363
364       <dl>
365         <dt><code>"http://www.example.com/start.html"</code>
366         (<code>\"%{Referer}i\"</code>)</dt>
367
368         <dd>HTTP istek başlığı "Referer". İstemcinin raporladığı isteğin
369           kaynaklandığı URI. (Bu isteğin yapılmasını sağlayan bağlantıyı
370           içeren URL veya istek bir sayfanın bileşenleri ile ilgiliyse istenen
371           sayfanın URL’si olabilir.)</dd>
372
373         <dt><code>"Mozilla/4.08 [en] (Win98; I ;Nav)"</code>
374         (<code>\"%{User-agent}i\"</code>)</dt>
375
376         <dd>Tarayıcı kimliğini içeren HTTP istek başlığı. Bu istemcinin
377           tarayıcısının raporladığı kendi tanıtım bilgisidir.</dd>
378       </dl>
379     
380
381     <h3><a name="multiple" id="multiple">Çok Sayıda Erişim Günlüğü</a></h3>
382       
383
384       <p>Yapılandırma dosyasında çok sayıda <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesi kullanarak çok
385         sayıda erişim günlüğü kolayca oluşturulabilir. Örneğin aşağıdaki
386         yönergelerle 3 tane erişim günlüğü oluşturulacaktır. İlki temel OGB
387         bilgisini içerirken diğer ikisi isteğin kaynaklandığı yeri ve tarayıcı
388         kimliğini içerir. Son iki <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> satırı ayrıca, <code>ReferLog</code> ve
389         <code>AgentLog</code> yönergelerinin etkilerinin nasıl taklit
390         edileceğini de göstermektedir.</p>
391
392       <div class="example"><p><code>
393         LogFormat "%h %l %u %t \"%r\" %&gt;s %b" common<br />
394         CustomLog logs/access_log common<br />
395         CustomLog logs/referer_log "%{Referer}i -&gt; %U"<br />
396         CustomLog logs/agent_log "%{User-agent}i"
397       </code></p></div>
398
399       <p>Bu örnek ayrıca, <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> yönergesi ile bir takma ad tanımlamanın şart
400         olmadığını da göstermektedir. Günlük biçemi doğrudan <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesinde
401         belirtilebilir.</p>
402     
403
404     <h3><a name="conditional" id="conditional">Şarta Bağlı Günlükler</a></h3>
405       
406
407       <p>Bazı durumlarda istemcinin yaptığı isteğe bağlı olarak erişim
408         günlüğünde belli girdilerin dışlanması gerekebilir. Bu, <a href="env.html">ortam değişkenleri</a> sayesinde kolayca yerine
409         getirilebilir. Önce isteğin belli koşulları sağladığını belirten bir
410         ortam değişkeni ataması yapılır. Bu işlem <code class="directive"><a href="./mod/mod_setenvif.html#setenvif">SetEnvIf</a></code> yönergesi ile yapılır.
411         Sonra da, ortam değişkenine bağlı olarak isteklerin günlüğe dahil
412         edilip edilmeyeceği <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> yönergesinin
413         <code>env=</code> deyimi kullanılarak belirtilir. Bazı örnekler:</p>
414
415       <div class="example"><p><code>
416         # yerel konaktan kaynaklanan istekleri imleyelim<br />
417         SetEnvIf Remote_Addr "127\.0\.0\.1" kaydetme<br />
418         # robots.txt dosyası isteklerini imleyelim<br />
419         SetEnvIf Request_URI "^/robots\.txt$" kaydetme<br />
420         # Kalanları günlüğe kaydedelim<br />
421         CustomLog logs/access_log common env=!kaydetme
422       </code></p></div>
423
424       <p>Başka bir örnek olarak, Türkçe belge isteklerini bir dosyaya diğer
425         dillerdeki istekleri başka bir dosyaya kaydedelim.</p>
426
427       <div class="example"><p><code>
428         SetEnvIf Accept-Language "tr" turkce<br />
429         CustomLog logs/turkce_log common env=turkce<br />
430         CustomLog logs/diger_diller_log common env=!turkce
431       </code></p></div>
432
433       <p>Bir arabellkleme senaryosuna arabelleğin verimli kullanılıp
434         kullanılmadığını bilmek isteyelim. Bu basitçe şöyle yapılabilir:</p>
435
436       <div class="example"><p><code>
437         SetEnv CACHE_MISS 1<br />
438         LogFormat "%h %l %u %t "%r " %&gt;s %b %{CACHE_MISS}e" common-cache<br />
439         CustomLog logs/access_log common-cache
440       </code></p></div>
441
442       <p><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> önce <code class="module"><a href="./mod/mod_env.html">mod_env</a></code> modülünü
443         çalıştıracak ve başarılı olunduğu takdirde içeriği onsuz teslim
444         edecektir. Bu durumda arabellek kaybı <code>1</code> olarak
445         günlüklenirken arabellek sunumu <code>-</code> olarak
446         günlüklenecektir.</p>
447
448       <p><code>env=</code> sözdizimine ek olarak, <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> HTTP yanıt kodudaki koşul
449         değerlerini günlüklemeyi de destekler:</p>
450
451       <div class="example"><p><code>
452       LogFormat "%400,501{User-agent}i" browserlog<br />
453       LogFormat "%!200,304,302{Referer}i" refererlog
454       </code></p></div>
455
456       <p>Bu örnekte, HTTP durum kodu 400 veya 501 ise <code>User-agent</code>
457         başlığı günlüklenecektir. Aksi takdirde, günlüğe bir "-" yazılacaktır.
458         Benzer şekilde ikinci örnekte, HTTP durum kodu 200, 204 veya 302
459         <strong>değilse</strong> (durum kodlarının öncesindeki "!" imine
460         dikkat) <code>Referer</code> başlığı günlüklenecektir.</p>
461
462       <p>Koşulaa bağlı günlük kaydının çok esnek ve güçlü olabileceğini
463         göstermiş olsak da günlük içeriğini denetlemenin tek yolu bu değildir.
464         Günlük dosyaları sunucu etkinliğini eksiksiz olarak kaydedebildikleri
465         takdirde daha yararlı olurlar. Günlük dosyalarını sonradan işleme tabi
466         tutarak istenmeyen girdileri kaldırılmış bir kopya almak hem kolay hem
467         de daha yararlıdır.</p>
468     
469   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
470 <div class="section">
471 <h2><a name="rotation" id="rotation">Günlük Çevrimi</a></h2>
472     
473
474     <p>Yükü ağır sunucularda günlük dosyalarına kaydedilen bilginin miktarı
475       çok büyük boyutlara ulaşabilir. 10.000 istek içeren bir erişim günlüğü
476       yaklaşık 1MB yer kaplar. Etkin günlük dosyasını belirli aralıklarla
477       değiştirmek veya silmek gerekebilir. Apache httpd çalışırken dosyayı sürekli
478       açık tuttuğu ve yazdığı için bu işlem sunucu çalışırken yapılamaz. Bu
479       bakımdan, günlük dosyası değiştirildikten veya silindikten sonra yeni
480       dosyanın açılması için <a href="stopping.html">sunucunun yeniden
481       başlatılması</a> gerekir.</p>
482
483     <p><a href="stopping.html#graceful">Nazikçe yeniden başlatmak</a>
484       suretiyle sunucunun, mevcut ve bekleyen bağlantıları kaybetmeden yeni
485       günlük dosyalarını açması sağlanabilir. Bununla birlikte, bu işlem
486       sırasında sunucunun eski isteklere sunumu bitirene kadar eski günlük
487       dosyalarına yazmaya devam edebilmesi gerekir. Bu bakımdan, yeniden
488       başlatmanın ardından eski günlük dosyaları üzerinde bir işlem yapmadan
489       önce biraz beklemek gerekir. Günlük dosyalarını döndürürken kullanılan
490       senaryolarda genellikle eski günlük dosyaları yer kazanmak için
491       sıkıştırılırlar:</p>
492
493     <div class="example"><p><code>
494       mv access_log access_log.old<br />
495       mv error_log error_log.old<br />
496       apachectl graceful<br />
497       sleep 600<br />
498       gzip access_log.old error_log.old
499     </code></p></div>
500
501     <p>Günlük çevrimi yapmanın başka bir yolu da sonraki bölümde açıklandığı
502       gibi <a href="#piped">borulu günlükler</a> kullanmaktır.</p>
503   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
504 <div class="section">
505 <h2><a name="piped" id="piped">Borulu Günlükler</a></h2>
506     
507
508     <p>Apache httpd hata ve erişim günlüklerini doğrudan bir dosyaya yazmak
509       yerine bir boru üzerinden başka bir sürece yazabilir. Bu yetenek ana
510       sunucuya herhangi bir kod eklemeksizin günlükleme esnekliğini şaşırtıcı
511       derecede arttırır. Günlükler boruya yazılmak istenirse dosya ismini boru
512       karakteriyle ("<code>|</code>") değiştirip ardına günlük girdilerini
513       standart girdisinden kabul edecek programın ismini eklemek yeterlidir.
514       Apache httpd başlatıldığı zaman borulu günlük işlemini de
515       başlatacaktır. Eğer sunucu çalışırken günlükleri kabul eden süreç
516       çökerse Apache httpd bu programı yeniden başlatır. (Bu son özelliği
517       sebebiyle bu tekniğe “güvenilir borulu günlükleme” adını veriyoruz.)</p>
518
519     <p>Borulu günlük süreçleri ana Apache httpd süreci tarafından başlatılır
520       ve bu süreçler ana Apache httpd sürecinin kullanıcı kimliğini miras
521       alırlar. Yani borulu günlükleme programları aslında root tarafından
522       çalıştırılmış gibi olur. Bu bakımdan, bu programları basit ve güvenilir
523       kılmak çok önemlidir.</p>
524
525     <p>Borulu günlüklerin önemli kullanım alanlarından biri de sunucuyu
526       yeniden başlatmak gerekmeksizin günlük çevrimini mümkün kılmaktır.
527       Apache HTTP sunucusu bu amaçla kullanılmak üzere
528       <code class="program"><a href="./programs/rotatelogs.html">rotatelogs</a></code> diye bir program içerir. Örneğin,
529       günlükleri 24 saatte bir döndürmek isterseniz bunu şöyle
530       yapabilirsiniz:</p>
531
532     <div class="example"><p><code>
533       CustomLog "|/usr/local/apache/bin/rotatelogs
534       /var/log/access_log 86400" common
535     </code></p></div>
536
537     <p>Borunun diğer ucundaki süreci başlatacak komutun tırnak içine
538       alındığına dikkat ediniz. Bu örnekler erişim günlüğü için verilmişse de
539       aynı teknik hata günlüğü için de kullanılabilir.</p>
540
541     <p>Hariçten bir uygulama olarak <a href="http://www.cronolog.org/">cronolog</a> isminde buna benzer ancak
542       çok daha esnek bir program daha vardır.</p>
543
544     <p>Borulu günlükler de şarta bağlı günlükleme kadar güçlü olmakla beraber
545       çevrimdışı ardıl işlemler gibi daha basit çözümler için
546       kullanılmamalıdır.</p>
547
548     <p>Öntanımlı olarak borulu günlük süreci bir kabuk kullanmadan
549       çalıştırılır. Kabuk kullanarak (genelde <code>/bin/sh -c</code> ile)
550       yapılmak istenirse "<code>|</code>" yerine "<code>|$</code>"
551       kullanılır:</p>
552
553     <div class="example"><p><code>
554       # Kabu kullanarak "rotatelogs" çalıştırmak<br />
555       CustomLog "|$/usr/local/apache/bin/rotatelogs
556       /var/log/access_log 86400" common
557     </code></p></div>
558
559     <p>Bu, Apache 2.2 için öntanımlı davranıştı. Kabuk özelliklerine bağlı
560       olarak, yeniden başlatma sırasındaki sinyal işleme sorunları ve günlük
561       borulama uygulamasının yaşam süresi için ek bir kabuk süreci ile
562       sonuçlanabilir. Apache 2.2 ile uyumluluk açısından "<code>||</code>"
563       gösterimi de desteklenmekte olup "<code>|</code>" kullanımına
564       eşdeğerdir.</p>
565
566   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
567 <div class="section">
568 <h2><a name="virtualhost" id="virtualhost">Sanal Konaklar</a></h2>
569     
570
571     <p>Bir sunucu çok sayıda <a href="vhosts/">sanal konak</a> ile hizmet
572       sunarken bunların günlük kayıtları için çeşitli seçenekler mevcuttur.
573       İlk seçenekte, sanki sunucu tek bir konakla hizmet sunuyormuş gibi
574       günlük kaydı yapılır. Günlükleme yönergelerini <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> bölümlerinin dışına, ana sunucu
575       bağlamına yerleştirerek tüm isteklerin aynı erişim ve hata günlüğüne
576       yazılmasını sağlamak olasıdır. Bu teknik, tek tek sanal konaklar için
577       kolayca istatistik toplamaya izin vermez.</p>
578
579     <p>Eğer  <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code>
580       veya <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> yönergesi bir
581       <code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> bölümüne
582       yerleştirilirse bu sanal konağa bütün erişimler veya hatalar belirtilen
583       dosyaya günlüklenecektir. Böyle günlükleme yönergeleri içermeyen sanal
584       konakların günlükleri hala ana sunucunun hata ve erişim günlüklerine
585       yazılmaya devam edecektir. Bu teknik az sayıda sanal konak barındıran
586       sunucular için çok kullanışlıdır. Fakat sanal konak sayısı çok fazlaysa
587       bu teknikle günlük dosyalarını yönetmek çok karmaşık bir hal alabilir.
588       Ayrıca, <a href="vhosts/fd-limits.html">yetersiz dosya tanıtıcısı</a>
589       sorunlarıyla çok sık karşılaşılabilir.</p>
590
591     <p>Erişim günlükleri için çok az bir fedakarlıkla çok iyi bir çözüm vardır.
592       Günlük biçemine sanal konaklarla ilgili bilgi eklemek suretiyle tüm
593       konakların aynı günlük dosyasını kullanmaları olasıdır. Böylece günlük
594       dosyası sonradan her sanal konak için ayrı bir dosya oluşturmak üzere
595       ayrıştırılabilir. Örneğin, bu işlem için şu yönergeler kullanılıyor
596       olsun:</p>
597
598     <div class="example"><p><code>
599       LogFormat "%v %l %u %t \"%r\" %&gt;s %b"
600       ortaksankon<br />
601       CustomLog logs/access_log ortaksankon
602     </code></p></div>
603
604     <p><code>%v</code> belirteci isteği sunan sanal konağın ismini günlüğe
605       yazmak için kullanılır. Daha sonra <a href="programs/other.html">split-logfile</a> gibi bir program
606       kullanarak, bu dosyadan her sanal konak için ayrı birer dosya elde
607       edilebilir.</p>
608   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
609 <div class="section">
610 <h2><a name="other" id="other">Diğer Günlük Dosyaları</a></h2>
611     
612
613     <table class="related"><tr><th>İlgili Modüller</th><th>İlgili Yönergeler</th></tr><tr><td><ul><li><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code></li><li><code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code></li><li><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code></li><li><code class="module"><a href="./mod/mod_cgi.html">mod_cgi</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code></li><li><code class="directive"><a href="./mod/mod_log_config.html#bufferedlogs">BufferedLogs</a></code></li><li><code class="directive"><a href="./mod/mod_log_forensic.html#forensiclog">ForensicLog</a></code></li><li><code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptlogbuffer">ScriptLogBuffer</a></code></li><li><code class="directive"><a href="./mod/mod_cgi.html#scriptloglength">ScriptLogLength</a></code></li></ul></td></tr></table>
614
615     <h3>Gönderilen ve alınan bayt sayısının günlüklenmesi</h3>
616       
617
618       <p><code class="module"><a href="./mod/mod_logio.html">mod_logio</a></code> modülü <code class="directive"><a href="./mod/mod_log_config.html#logformat">LogFormat</a></code> yönergesinde kullanılan
619         biçem belirteçlerine alınan ve gönderilen bayt sayıları için iki
620         belirteç (%I ve %O) ekler.</p>
621     
622
623     <h3>Adli Günlük</h3>
624       
625
626       <p><code class="module"><a href="./mod/mod_log_forensic.html">mod_log_forensic</a></code> modülü istemci isteklerinin kanıt
627         olarak kullanılmak amacıyla günlüklenmesini sağlar. Günlükleme her
628         istek için isteğe hizmet sunmadan önce ve sonra olmak üzere iki defa
629         yapılır. Böylece günlük dosyasında başarılı her istek için iki satır
630         bulunur. Adli günlükleme çok sıkı kurallara tabi olup
631         kişiselleştirilemez. Güvenlik ve hata ayıklama aracı olarak yararlı
632         değildir.</p>
633     
634
635     <h3><a name="pidfile" id="pidfile">PID Dosyası</a></h3>
636       
637
638       <p>Apache httpd başlatıldığında, ana httpd sürecinin kimliği (PID)
639         <code>logs/httpd.pid</code> dosyasına kaydedilir. Bu dosyanın ismi
640         <code class="directive"><a href="./mod/mpm_common.html#pidfile">PidFile</a></code> yönergesi ile
641         değiştirilebilir. Bu süreç kimliği sistem yöneticisi tarafından ana
642         sürece sinyal göndererek artalan sürecini sonlandırmak veya yeniden
643         başlatmak için kullanılır. Windows üzerinde bu işlem için
644         <code>-k</code> komut satırı seçeneği kullanılır. Bu konuda daha
645         ayrıntılı bilgi edinmek için <a href="stopping.html">Durdurma ve
646         Yeniden Başlatma</a> belgesine bakınız.</p>
647     
648
649     <h3><a name="scriptlog" id="scriptlog">Betik Günlüğü</a></h3>
650       
651
652       <p><code class="directive"><a href="./mod/mod_cgi.html#scriptlog">ScriptLog</a></code> yönergesi CGI
653         betiklerinin girdi ve çıktılarını kaydetmenizi mümkün kılmak suretiyle
654         hata ayıklamaya yardımcı olur. Bu sadece deneysel amaçla kullanılmalı,
655         asıl sunucuya uygulanmamalıdır. <a href="mod/mod_cgi.html">mod_cgi</a>
656         belgesinde daha fazla bilgi bulunabilir.</p>
657     
658   </div></div>
659 <div class="bottomlang">
660 <p><span>Mevcut Diller: </span><a href="./en/logs.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
661 <a href="./fr/logs.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
662 <a href="./ja/logs.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
663 <a href="./ko/logs.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
664 <a href="./tr/logs.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
665 </div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Yorum</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
666 <script type="text/javascript"><!--//--><![CDATA[//><!--
667 var comments_shortname = 'httpd';
668 var comments_identifier = 'http://httpd.apache.org/docs/trunk/logs.html';
669 (function(w, d) {
670     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
671         d.write('<div id="comments_thread"><\/div>');
672         var s = d.createElement('script');
673         s.type = 'text/javascript';
674         s.async = true;
675         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
676         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
677     }
678     else {
679         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
680     }
681 })(window, document);
682 //--><!]]></script></div><div id="footer">
683 <p class="apache">Copyright 2016 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
684 <p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/quickreference.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="./glossary.html">Terimler</a> | <a href="./sitemap.html">Site Haritası</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
685 if (typeof(prettyPrint) !== 'undefined') {
686     prettyPrint();
687 }
688 //--><!]]></script>
689 </body></html>