~ubuntu-branches/ubuntu/natty/apache2/natty

« back to all changes in this revision

Viewing changes to docs/manual/sections.html.tr.utf8

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2011-02-22 13:02:08 UTC
  • mfrom: (14.3.23 sid)
  • Revision ID: james.westby@ubuntu.com-20110222130208-5hrxnun6a8uygfhv
Tags: 2.2.17-1ubuntu1
* Merge from debian unstable, remaining changes:
  - debian/{control, rules}: Enable PIE hardening.
  - debian/{control, rules, apache2.2-common.ufw.profile}: Add ufw profiles.
  - debian/control: Add bzr tag and point it to our tree
  - debain/apache2.py, debian/apache2.2-common.isntall: Add apport hook.
  - debian/control, debian/ask-for-passphrase, debian/config-dir/mods-available/ssl.conf:
    Plymouth aware passphrase dialog program ask-for-passphrase. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
<a href="./ko/sections.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
25
25
<a href="./tr/sections.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
26
26
</div>
27
 
 <p><a href="configuring.html">Yapılandırma dosyaları</a>ndaki 
28
 
yönergeler sunucunun tamamına uygulanacağı gibi sadece belli dizinler, 
29
 
dosyalar, konaklar veya URL’lere uygulanmakla sınırlanabilir. Bu belgede, 
30
 
yapılandırma bölümü taşıyıcılarınının veya <code>.htaccess</code> 
31
 
dosyalarının, yapılandırma dosyalarındaki diğer yönergelerin etki alanlarını 
 
27
 <p><a href="configuring.html">Yapılandırma dosyaları</a>ndaki
 
28
yönergeler sunucunun tamamına uygulanacağı gibi sadece belli dizinler,
 
29
dosyalar, konaklar veya URL’lere uygulanmakla sınırlanabilir. Bu belgede,
 
30
yapılandırma bölümü taşıyıcılarınının veya <code>.htaccess</code>
 
31
dosyalarının, yapılandırma dosyalarındaki diğer yönergelerin etki alanlarını
32
32
değiştirtirmek için nasıl kullanılacağı açıklanmıştır.</p>
33
33
</div>
34
34
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#types">Yapılandırma Bölümü Taşıyıcılarının Türleri</a></li>
44
44
 
45
45
<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><li><code class="module"><a href="./mod/mod_version.html">mod_version</a></code></li><li><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></li></ul></td><td><ul><li><code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code></li><li><code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code></li><li><code class="directive"><a href="./mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code></li><li><code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code></li></ul></td></tr></table>
46
46
 
47
 
<p>İki temel taşıyıcı türü vardır. Taşıyıcıların çoğu her istek için 
48
 
değerlendirmeye alınır. Taşıyıcılardaki yönergeler ise sadece bu taşıyıcılarla 
49
 
eşleşen istekler için uygulanır. Diğer yandan, <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code>, <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> ve <code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code> taşıyıcıları sadece sunucu başlatılırken veya yeniden 
50
 
başlatılırken değerlendirmeye alınır. Başlatma sırasında gerektirdikleri 
51
 
koşullar sağlanıyorsa içerdikleri yönergeler tüm isteklere uygulanır. 
 
47
<p>İki temel taşıyıcı türü vardır. Taşıyıcıların çoğu her istek için
 
48
değerlendirmeye alınır. Taşıyıcılardaki yönergeler ise sadece bu taşıyıcılarla
 
49
eşleşen istekler için uygulanır. Diğer yandan, <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code>, <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> ve <code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code> taşıyıcıları sadece sunucu başlatılırken veya yeniden
 
50
başlatılırken değerlendirmeye alınır. Başlatma sırasında gerektirdikleri
 
51
koşullar sağlanıyorsa içerdikleri yönergeler tüm isteklere uygulanır.
52
52
Aksi takdirde, içerdikleri yönergeler yok sayılır.</p>
53
53
 
54
 
<p><code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> yönergesi 
55
 
sadece <code class="program"><a href="./programs/httpd.html">httpd</a></code> komut satırında uygun parametreler 
56
 
tanımlanmışsa uygulanabilecek yönergeleri içerir. Örneğin, aşağıdaki 
57
 
yapılandırma ile tüm isteklerin diğer siteye yönlendirilebilmesi sadece 
58
 
sunucu <code>httpd -DClosedForNow</code> komut satırı ile başlatıldığı 
 
54
<p><code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> yönergesi
 
55
sadece <code class="program"><a href="./programs/httpd.html">httpd</a></code> komut satırında uygun parametreler
 
56
tanımlanmışsa uygulanabilecek yönergeleri içerir. Örneğin, aşağıdaki
 
57
yapılandırma ile tüm isteklerin diğer siteye yönlendirilebilmesi sadece
 
58
sunucu <code>httpd -DClosedForNow</code> komut satırı ile başlatıldığı
59
59
takdirde mümkün olur:</p>
60
60
 
61
61
<div class="example"><p><code>
66
66
&lt;/IfDefine&gt;
67
67
</code></p></div>
68
68
 
69
 
<p><code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> yönergesi 
70
 
sadece belli bir modülün sunucuda kullanılabilir durumda olması halinde 
71
 
uygulanabilecek yönergeleri içerir. Modülün ya sunucuyla birlikte durağan 
72
 
olarak derlenmiş olması ya da devingen olarak derlenmiş ve yapılandırma 
73
 
dosyasında yönergeden önce o modüle ilişkin bir <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> satırının bulunması gerekir. Bu yönergeyi sadece 
74
 
belli bir modülün varlığının veya yokluğunun yapılandırma dosyanızın 
75
 
çalışmasını etkilememesini istediğiniz durumlarda kullanmalısınız. Eksik 
76
 
modüllerle ilgili hata iletilerini engellediğinden, taşıyıcı içine, her 
 
69
<p><code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> yönergesi
 
70
sadece belli bir modülün sunucuda kullanılabilir durumda olması halinde
 
71
uygulanabilecek yönergeleri içerir. Modülün ya sunucuyla birlikte durağan
 
72
olarak derlenmiş olması ya da devingen olarak derlenmiş ve yapılandırma
 
73
dosyasında yönergeden önce o modüle ilişkin bir <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> satırının bulunması gerekir. Bu yönergeyi sadece
 
74
belli bir modülün varlığının veya yokluğunun yapılandırma dosyanızın
 
75
çalışmasını etkilememesini istediğiniz durumlarda kullanmalısınız. Eksik
 
76
modüllerle ilgili hata iletilerini engellediğinden, taşıyıcı içine, her
77
77
zaman çalışması istenen yönergeler konulmamalıdır.</p>
78
78
 
79
 
<p>Aşağıdaki örnekte, <code class="directive"><a href="./mod/mod_mime_magic.html#mimemagicfiles">MimeMagicFiles</a></code> yönergesi sadece 
 
79
<p>Aşağıdaki örnekte, <code class="directive"><a href="./mod/mod_mime_magic.html#mimemagicfiles">MimeMagicFiles</a></code> yönergesi sadece
80
80
<code class="module"><a href="./mod/mod_mime_magic.html">mod_mime_magic</a></code> modülü mevcutsa uygulanacaktır.</p>
81
81
 
82
82
<div class="example"><p><code>
87
87
&lt;/IfModule&gt;
88
88
</code></p></div>
89
89
 
90
 
<p><code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code> 
91
 
yönergesi sunucunun belli bir sürümünün çalıştırılması halinde uygulanabilecek 
92
 
yönergeleri içerebilmesi dışında <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> ve <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> yönergeleri gibidir. <code class="module"><a href="./mod/mod_version.html">mod_version</a></code> 
93
 
modülü farklı httpd sürümleri ve farklı yapılandırmalarla büyük ağlarda 
94
 
çalışmayı mümkün kılmak veya sürüm denemeleri yapabilmek amacıyla 
 
90
<p><code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
 
91
yönergesi sunucunun belli bir sürümünün çalıştırılması halinde uygulanabilecek
 
92
yönergeleri içerebilmesi dışında <code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code> ve <code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> yönergeleri gibidir. <code class="module"><a href="./mod/mod_version.html">mod_version</a></code>
 
93
modülü farklı httpd sürümleri ve farklı yapılandırmalarla büyük ağlarda
 
94
çalışmayı mümkün kılmak veya sürüm denemeleri yapabilmek amacıyla
95
95
tasarlanmıştır.</p>
96
96
 
97
97
<div class="example"><p><code>
105
105
 
106
106
<p><code class="directive"><a href="./mod/core.html#ifdefine">&lt;IfDefine&gt;</a></code>,
107
107
<code class="directive"><a href="./mod/core.html#ifmodule">&lt;IfModule&gt;</a></code> ve
108
 
<code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code> 
109
 
yönergelerinin önüne "!" konularak olumsuz koşullar için uygulanabilir. 
110
 
Ayrıca, bu bölümler daha karmaşık sınırlamalar elde etmek amacıyla bir 
 
108
<code class="directive"><a href="./mod/mod_version.html#ifversion">&lt;IfVersion&gt;</a></code>
 
109
yönergelerinin önüne "!" konularak olumsuz koşullar için uygulanabilir.
 
110
Ayrıca, bu bölümler daha karmaşık sınırlamalar elde etmek amacıyla bir
111
111
diğerinin içinde kullanılabilirler.</p>
112
112
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
113
113
<div class="section">
114
114
<h2><a name="file-and-web" id="file-and-web">Dosya Sistemi ve Site Alanı</a></h2>
115
115
 
116
 
<p>En sık kullanılan yapılandırma bölümü taşıyıcıları dosya sistemindeki 
117
 
veya site alanındaki belli yerlerin yapılandırmalarını değiştirmekte 
118
 
kullanılanlardır. Öncelikle, bu ikisi arasındaki farkları bilmek önemlidir. 
119
 
Dosya sistemi disklerinizin işletim sistemi tarafından size gösterilen halidir. 
120
 
Örneğin, öntanımlı kurulumda Apache, Unix sistemlerinde 
121
 
<code>/usr/local/apache2</code> altındayken Windows sistemlerinde 
122
 
<code>"c:/Program Files/Apache Group/Apache2"</code> altındadır. 
123
 
(Bilgi: Windows için bile, Apache’de dosya yolu belirtilirken tersbölü 
124
 
değil normal bölü karakterleri kullanılır.) Site alanı ise sunucu tarafından 
125
 
istemciye sunulan dizin ağacıdır. Yani, site alanı içindeki <code>/dir/</code> 
126
 
dizini, Apache’nin Unix üzerinde dosya sistemine öntanımlı olarak kurulduğu 
127
 
yer göz önüne alınarak, dosya sistemindeki  
128
 
<code>/usr/local/apache2/htdocs/dir/</code> dizinine karşılıktır. Site 
129
 
sayfaları veritabanlarından veya başka yerlerden devingen olarak 
130
 
üretilebildiğinden site alanlarının doğrudan dosya sistemine eşlenmesi 
 
116
<p>En sık kullanılan yapılandırma bölümü taşıyıcıları dosya sistemindeki
 
117
veya site alanındaki belli yerlerin yapılandırmalarını değiştirmekte
 
118
kullanılanlardır. Öncelikle, bu ikisi arasındaki farkları bilmek önemlidir.
 
119
Dosya sistemi disklerinizin işletim sistemi tarafından size gösterilen halidir.
 
120
Örneğin, öntanımlı kurulumda Apache, Unix sistemlerinde
 
121
<code>/usr/local/apache2</code> altındayken Windows sistemlerinde
 
122
<code>"c:/Program Files/Apache Group/Apache2"</code> altındadır.
 
123
(Bilgi: Windows için bile, Apache’de dosya yolu belirtilirken tersbölü
 
124
değil normal bölü karakterleri kullanılır.) Site alanı ise sunucu tarafından
 
125
istemciye sunulan dizin ağacıdır. Yani, site alanı içindeki <code>/dir/</code>
 
126
dizini, Apache’nin Unix üzerinde dosya sistemine öntanımlı olarak kurulduğu
 
127
yer göz önüne alınarak, dosya sistemindeki
 
128
<code>/usr/local/apache2/htdocs/dir/</code> dizinine karşılıktır. Site
 
129
sayfaları veritabanlarından veya başka yerlerden devingen olarak
 
130
üretilebildiğinden site alanlarının doğrudan dosya sistemine eşlenmesi
131
131
gerekli değildir.</p>
132
132
 
133
133
<h3><a name="filesystem" id="filesystem">Dosya Sistemi Taşıyıcıları</a></h3>
134
134
 
135
135
<p><code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>
136
136
ve <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> taşıyıcıları,
137
 
<a class="glossarylink" href="./glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> karşılıkları ile beraber, 
138
 
yönergeleri dosya sisteminin parçalarına uygularlar. Bir <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümü içindeki yönergeler 
139
 
belli bir dosya sistemi dizinine ve onun alt dizinlerine uygulanır. Aynı etki 
140
 
<a href="howto/htaccess.html">.htaccess dosyaları</a> kullanılarak da 
141
 
sağlanabilir. Örneğin aşağıdaki yapılandırmada, <code>/var/web/dir1</code> 
 
137
<a class="glossarylink" href="./glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> karşılıkları ile beraber,
 
138
yönergeleri dosya sisteminin parçalarına uygularlar. Bir <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümü içindeki yönergeler
 
139
belli bir dosya sistemi dizinine ve onun alt dizinlerine uygulanır. Aynı etki
 
140
<a href="howto/htaccess.html">.htaccess dosyaları</a> kullanılarak da
 
141
sağlanabilir. Örneğin aşağıdaki yapılandırmada, <code>/var/web/dir1</code>
142
142
dizini ve alt dizinlerinde dizin içeriğinin listelenmesi etkin kılınmaktadır.</p>
143
143
 
144
144
<div class="example"><p><code>
149
149
&lt;/Directory&gt;
150
150
</code></p></div>
151
151
 
152
 
<p>Bir <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> bölümü 
153
 
içindeki yönergeler, hangi dizinde bulunduğuna bakılmaksızın ismi 
154
 
belirtilen dosyalara uygulanır. Örneğin, aşağıdaki yapılandırma yönergeleri 
155
 
yapılandırma dosyasının ana bölümüne yerleştirildiği takdirde 
156
 
<code>gizli.html</code> isimli dosyalara nerede bulunursa bulunsun erişime 
 
152
<p>Bir <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> bölümü
 
153
içindeki yönergeler, hangi dizinde bulunduğuna bakılmaksızın ismi
 
154
belirtilen dosyalara uygulanır. Örneğin, aşağıdaki yapılandırma yönergeleri
 
155
yapılandırma dosyasının ana bölümüne yerleştirildiği takdirde
 
156
<code>gizli.html</code> isimli dosyalara nerede bulunursa bulunsun erişime
157
157
izin vermeyecektir.</p>
158
158
 
159
159
<div class="example"><p><code>
165
165
&lt;/Files&gt;
166
166
</code></p></div>
167
167
 
168
 
<p>Dosya sisteminin belli bir yerindeki belli dosyalarla ilgili yaptırımlar 
 
168
<p>Dosya sisteminin belli bir yerindeki belli dosyalarla ilgili yaptırımlar
169
169
için <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> ve
170
 
<code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümleri 
171
 
birlikte kullanılabilir. Örneğin, aşağıdaki yapılandırma 
 
170
<code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümleri
 
171
birlikte kullanılabilir. Örneğin, aşağıdaki yapılandırma
172
172
<code>/var/web/dir1/gizli.html</code>,
173
173
<code>/var/web/dir1/subdir2/gizli.html</code>,
174
 
<code>/var/web/dir1/subdir3/gizli.html</code> ve 
175
 
<code>/var/web/dir1/</code> altında bulunabilecek diğer tüm 
 
174
<code>/var/web/dir1/subdir3/gizli.html</code> ve
 
175
<code>/var/web/dir1/</code> altında bulunabilecek diğer tüm
176
176
<code>gizli.html</code> dosyalarına erişimi yasaklar.</p>
177
177
 
178
178
<div class="example"><p><code>
191
191
 
192
192
<h3><a name="webspace" id="webspace">Site Alanı Taşıyıcıları</a></h3>
193
193
 
194
 
<p><code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> yönergesi ve 
195
 
yönergenin <a class="glossarylink" href="./glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> karşılığı site 
196
 
alanındaki içerik için yapılandırmayı değiştirir.  Örneğin aşağıdaki 
197
 
yapılandırma, <code>/gizli</code> ile başlayan URL yollarına erişimi engeller. 
 
194
<p><code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> yönergesi ve
 
195
yönergenin <a class="glossarylink" href="./glossary.html#regex" title="sözlüğe bakınız">düzenli ifade</a> karşılığı site
 
196
alanındaki içerik için yapılandırmayı değiştirir.  Örneğin aşağıdaki
 
197
yapılandırma, <code>/gizli</code> ile başlayan URL yollarına erişimi engeller.
198
198
Özellikle, <code>http://siteniz.mesela.dom/gizli</code>,
199
199
<code>http://siteniz.mesela.dom/gizli123</code> ve
200
 
<code>http://siteniz.mesela.dom/gizli/dir/dosya.html</code> 
201
 
istekleri yanında <code>/gizli</code> ile başlayan diğer isteklere de 
 
200
<code>http://siteniz.mesela.dom/gizli/dir/dosya.html</code>
 
201
istekleri yanında <code>/gizli</code> ile başlayan diğer isteklere de
202
202
uygulanır.</p>
203
203
 
204
204
<div class="example"><p><code>
210
210
&lt;/Location&gt;
211
211
</code></p></div>
212
212
 
213
 
<p>Dosya sistemi ile etkileşime girmeyen herşey için 
214
 
<code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> yönergesi gerekir. 
215
 
Aşağıdaki örnekte, belli bir URL’nin <code class="module"><a href="./mod/mod_status.html">mod_status</a></code> modülü 
216
 
tarafından sağlanan bir dahili Apache eylemcisine nasıl eşlenebileceği 
217
 
gösterilmiştir. Bu örnek için dosya sisteminde <code>server-status</code> 
 
213
<p>Dosya sistemi ile etkileşime girmeyen herşey için
 
214
<code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> yönergesi gerekir.
 
215
Aşağıdaki örnekte, belli bir URL’nin <code class="module"><a href="./mod/mod_status.html">mod_status</a></code> modülü
 
216
tarafından sağlanan bir dahili Apache eylemcisine nasıl eşlenebileceği
 
217
gösterilmiştir. Bu örnek için dosya sisteminde <code>server-status</code>
218
218
adında bir dosya veya dizin bulunması gerekli değildir.</p>
219
219
 
220
220
<div class="example"><p><code>
230
230
 
231
231
<p><code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>,
232
232
<code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> ve
233
 
<code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> yönergelerinde, 
234
 
Standart C kütüphanesindeki <code>fnmatch</code> işlevindeki gibi kabuk tarzı 
235
 
dosya ismi kalıpları kullanılabilir. "*" karakteri herhangi bir karakter 
 
233
<code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> yönergelerinde,
 
234
Standart C kütüphanesindeki <code>fnmatch</code> işlevindeki gibi kabuk tarzı
 
235
dosya ismi kalıpları kullanılabilir. "*" karakteri herhangi bir karakter
236
236
dizisi ile eşleşirken "?" karakteri tek tek karakterlerle ve "[<em>seq</em>]"
237
 
kalıbı ise <em>seq</em> içindeki her karakterle eşleşir. "/" karakteri her 
 
237
kalıbı ise <em>seq</em> içindeki her karakterle eşleşir. "/" karakteri her
238
238
hangi bir kalıp karakteri ile eşleşmez; açıkça belirtilmesi gerekir.</p>
239
239
 
240
 
<p>Daha esnek bir eşleşmenin gerekli olduğu durumlar için her taşıyıcının bir 
241
 
düzenli ifade karşılığı vardır. <code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>, <code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code> ve <code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> yönergelerinde gerekli eşleşmeleri seçmek için 
242
 
perl uyumlu <a class="glossarylink" href="./glossary.html#regex" title="sözlüğe bakınız">düzenli ifadelerin</a> kullanımına 
 
240
<p>Daha esnek bir eşleşmenin gerekli olduğu durumlar için her taşıyıcının bir
 
241
düzenli ifade karşılığı vardır. <code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>, <code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code> ve <code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> yönergelerinde gerekli eşleşmeleri seçmek için
 
242
perl uyumlu <a class="glossarylink" href="./glossary.html#regex" title="sözlüğe bakınız">düzenli ifadelerin</a> kullanımına
243
243
izin verilir. Ayrıca, yönergelerin uygulanışının düzenli ifade bölümleri kullanılarak nasıl değiştirileceğini öğrenmek için, aşağıda, yapılandırmanın katıştırılmasıyla ilgili bölüme de bakınız.</p>
244
244
 
245
 
<p>Tüm kullanıcı dizinlerine ilişkin yapılandırmayı değiştirmek için dosya 
 
245
<p>Tüm kullanıcı dizinlerine ilişkin yapılandırmayı değiştirmek için dosya
246
246
ismi kalıpları şöyle kullanılabilirdi:</p>
247
247
 
248
248
<div class="example"><p><code>
253
253
&lt;/Directory&gt;
254
254
</code></p></div>
255
255
 
256
 
<p>Düzenli ifade bölümleri kullanarak çeşitli türlerdeki resim dosyalarına 
 
256
<p>Düzenli ifade bölümleri kullanarak çeşitli türlerdeki resim dosyalarına
257
257
erişimi bir defada yasaklayabiliriz:</p>
258
258
<div class="example"><p><code>
259
259
&lt;FilesMatch \.(?i:gif|jpe?g|png)$&gt;<br />
268
268
 
269
269
<h3><a name="whichwhen" id="whichwhen">Ne, Ne Zaman Kullanılır?</a></h3>
270
270
 
271
 
<p>Dosya sistemi taşıyıcıları ile site alanı taşıyıcıları arasında seçim 
272
 
yapmak aslında oldukça kolaydır. Dosya sisteminde bulunan nesnelere 
273
 
uygulanacak yönergeler için daima <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> veya <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> kullanılır. Dosya sisteminde bulunmayan nesnelere 
274
 
(bir sayfanın bir veritabanı tarafından üretilmesi gibi) uygulanacak 
 
271
<p>Dosya sistemi taşıyıcıları ile site alanı taşıyıcıları arasında seçim
 
272
yapmak aslında oldukça kolaydır. Dosya sisteminde bulunan nesnelere
 
273
uygulanacak yönergeler için daima <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> veya <code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> kullanılır. Dosya sisteminde bulunmayan nesnelere
 
274
(bir sayfanın bir veritabanı tarafından üretilmesi gibi) uygulanacak
275
275
yönergeler için ise <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> kullanılır.</p>
276
276
 
277
 
<p>Dosya sistemindeki nesnelere erişimi kısıtlarken asla <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> kullanmamak önemlidir. 
278
 
Bunun sebebi farklı site alanı konumlarının (URL’ler) aynı dosya sistemi 
279
 
konumuna eşlenebilmesi dolayısıyla kısıtlamalarınızın etrafından 
280
 
dolaşılabilmesine izin vermesidir. Örneğin, aşağıdaki yapılandırmayı 
 
277
<p>Dosya sistemindeki nesnelere erişimi kısıtlarken asla <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> kullanmamak önemlidir.
 
278
Bunun sebebi farklı site alanı konumlarının (URL’ler) aynı dosya sistemi
 
279
konumuna eşlenebilmesi dolayısıyla kısıtlamalarınızın etrafından
 
280
dolaşılabilmesine izin vermesidir. Örneğin, aşağıdaki yapılandırmayı
281
281
ele alalım:</p>
282
282
 
283
283
<div class="example"><p><code>
289
289
&lt;/Location&gt;
290
290
</code></p></div>
291
291
 
292
 
<p><code>http://siteniz.mesela.dom/dir/</code> için bir istek yapılmışsa 
293
 
bu doğru çalışacaktır. Fakat dosya sistemi harf büyüklüğüne duyarsızsa 
294
 
ne olacak? Kısıtlamanız, istek <code>http://siteniz.mesela.dom/DIR/</code> 
295
 
şeklinde yapılarak kolayca geçersiz kılınabilir. Halbuki <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> yönergesi isteğin nasıl 
296
 
yapıldığına bakılmaksızın bu konumdan sunulan her türlü içeriğe uygulanacaktı. 
297
 
(Dosya sistemi bağlarıyla bu da aşılabilir. Sembolik bağlar kullanılarak aynı 
 
292
<p><code>http://siteniz.mesela.dom/dir/</code> için bir istek yapılmışsa
 
293
bu doğru çalışacaktır. Fakat dosya sistemi harf büyüklüğüne duyarsızsa
 
294
ne olacak? Kısıtlamanız, istek <code>http://siteniz.mesela.dom/DIR/</code>
 
295
şeklinde yapılarak kolayca geçersiz kılınabilir. Halbuki <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> yönergesi isteğin nasıl
 
296
yapıldığına bakılmaksızın bu konumdan sunulan her türlü içeriğe uygulanacaktı.
 
297
(Dosya sistemi bağlarıyla bu da aşılabilir. Sembolik bağlar kullanılarak aynı
298
298
dizin dosya sisteminin bir çok yerine yerleştirilebilir. <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> yönergesi dosya yolunu
299
 
sıfırlamaksızın sembolik bağları izleyecektir. Bu bakımdan, en yüksek 
300
 
seviyede güvenlik için uygun <code class="directive"><a href="./mod/core.html#options">Options</a></code> 
 
299
sıfırlamaksızın sembolik bağları izleyecektir. Bu bakımdan, en yüksek
 
300
seviyede güvenlik için uygun <code class="directive"><a href="./mod/core.html#options">Options</a></code>
301
301
yönergesi ile sembolik bağların izlenmesi devredışı bırakılabilir.)</p>
302
302
 
303
 
<p>Belki de siz sırf harf büyüklüğüne duyarlı bir dosya sistemi 
304
 
kullanıyorsunuz diye böyle uygulamalara ihtiyacınız olmadığını 
305
 
düşünüyor olabilirsiniz, fakat aynı site alanını çok sayıda dosya 
306
 
sistemi konumuna eşleyecek daha bir sürü yol bulunduğunu unutmayınız. 
307
 
Bu bakımdan dosya sisteminde yapacağınız kısıtlamalarda daima dosya 
308
 
sistemi taşıyıcılarını kullanmalısınız. Bununla birlikte bu kuralın da 
309
 
bir istisnası vardır. Yapılandırma kısıtlamalarının bir 
310
 
<code>&lt;Location/&gt;</code> bölümü içine koyulması, bu bölüme konan 
 
303
<p>Belki de siz sırf harf büyüklüğüne duyarlı bir dosya sistemi
 
304
kullanıyorsunuz diye böyle uygulamalara ihtiyacınız olmadığını
 
305
düşünüyor olabilirsiniz, fakat aynı site alanını çok sayıda dosya
 
306
sistemi konumuna eşleyecek daha bir sürü yol bulunduğunu unutmayınız.
 
307
Bu bakımdan dosya sisteminde yapacağınız kısıtlamalarda daima dosya
 
308
sistemi taşıyıcılarını kullanmalısınız. Bununla birlikte bu kuralın da
 
309
bir istisnası vardır. Yapılandırma kısıtlamalarının bir
 
310
<code>&lt;Location/&gt;</code> bölümü içine koyulması, bu bölüme konan
311
311
yönergelerin etki alanının belli bir URL ile sınırlı olmaması nedeniyle
312
312
mükemmelen güvenlidir.</p>
313
313
 
316
316
<div class="section">
317
317
<h2><a name="virtualhost" id="virtualhost">Sanal Konaklar</a></h2>
318
318
 
319
 
<p><code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> taşıyıcısının 
320
 
içinde belli bir konağa uygulanan yönergeler bulunur. Aynı makinede çok sayıda 
321
 
konağı farklı yapılandırmalarla  sunuyorsanız bu taşıyıcı çok işinize yarar. 
 
319
<p><code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> taşıyıcısının
 
320
içinde belli bir konağa uygulanan yönergeler bulunur. Aynı makinede çok sayıda
 
321
konağı farklı yapılandırmalarla  sunuyorsanız bu taşıyıcı çok işinize yarar.
322
322
Daha fazla bilgi için <a href="vhosts/">Sanal Konak Belgeleri</a> bölümüne bakınız.</p>
323
323
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
324
324
<div class="section">
326
326
 
327
327
<p><code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code>
328
328
ve <code class="directive"><a href="./mod/mod_proxy.html#proxymatch">&lt;ProxyMatch&gt;</a></code>
329
 
taşıyıcıları, sadece belli bir URL ile eşleşen <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> 
330
 
vekil sunucusu üzerinden erişilen sitelere uygulanan yapılandırma 
331
 
yönergelerini bulundururlar. Örneğin aşağıdaki yapılandırma 
 
329
taşıyıcıları, sadece belli bir URL ile eşleşen <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>
 
330
vekil sunucusu üzerinden erişilen sitelere uygulanan yapılandırma
 
331
yönergelerini bulundururlar. Örneğin aşağıdaki yapılandırma
332
332
<code>cnn.com</code> sitesine erişim için vekil sunucunun kullanılmasını
333
333
engelleyecektir.</p>
334
334
 
344
344
<div class="section">
345
345
<h2><a name="whatwhere" id="whatwhere">Hangi Yönergelere İzin Veriliyor?</a></h2>
346
346
 
347
 
<p>Hangi yönergelere hangi yapılandırma bölümlerinde izin verildiğini 
 
347
<p>Hangi yönergelere hangi yapılandırma bölümlerinde izin verildiğini
348
348
öğrenmek için yönerge <a href="mod/directive-dict.html#Context">bağlamına</a> bakınız.
349
 
<code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümlerinde 
 
349
<code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümlerinde
350
350
izin verilen herşeye sözdizimsel olarak ayrıca
351
351
<code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>,
352
352
<code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code>,
361
361
<li><code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> yönergesi sadece
362
362
<code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümlerinde çalışır.</li>
363
363
 
364
 
<li><code class="directive"><a href="./mod/core.html#options">Options</a></code> yönergesinin 
365
 
<code>FollowSymLinks</code> ve <code>SymLinksIfOwnerMatch</code> 
366
 
seçenekleri sadece <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümlerinde veya <code>.htaccess</code> 
 
364
<li><code class="directive"><a href="./mod/core.html#options">Options</a></code> yönergesinin
 
365
<code>FollowSymLinks</code> ve <code>SymLinksIfOwnerMatch</code>
 
366
seçenekleri sadece <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümlerinde veya <code>.htaccess</code>
367
367
dosyalarında çalışır.</li>
368
368
 
369
 
<li><code class="directive"><a href="./mod/core.html#options">Options</a></code> yönergesi 
370
 
<code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> ve 
371
 
<code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code> 
 
369
<li><code class="directive"><a href="./mod/core.html#options">Options</a></code> yönergesi
 
370
<code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> ve
 
371
<code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code>
372
372
bölümlerinde kullanılamaz.</li>
373
373
</ul>
374
374
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
375
375
<div class="section">
376
376
<h2><a name="mergin" id="mergin">Bölümler Nasıl Katıştırılır?</a></h2>
377
377
 
378
 
<p>Yapılandırma bölümleri belli bir sıra ile uygulanır. Yapılandırma 
379
 
yönergelerinin yorumlanışı üzerinde önemli etkilere sahip olabilmesi 
 
378
<p>Yapılandırma bölümleri belli bir sıra ile uygulanır. Yapılandırma
 
379
yönergelerinin yorumlanışı üzerinde önemli etkilere sahip olabilmesi
380
380
nedeniyle neyin ne zaman çalıştığını anlamak çok önemlidir.</p>
381
381
 
382
382
    <p>Yapılandırma bölümlerinin katıştırılma sırası şöyledir:</p>
383
383
 
384
384
    <ol>
385
385
      <li><code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> (düzenli ifadeler hariç)
386
 
      ve <code>.htaccess</code> aynı anda işleme sokulur 
387
 
      (<code>.htaccess</code> ile eğer izin verilmişse <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> içindeki bazı 
 
386
      ve <code>.htaccess</code> aynı anda işleme sokulur
 
387
      (<code>.htaccess</code> ile eğer izin verilmişse <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> içindeki bazı
388
388
      yönergeler geçersiz kılınabileceği için).</li>
389
389
 
390
390
      <li><code class="directive"><a href="./mod/core.html#directorymatch">&lt;DirectoryMatch&gt;</a></code>
393
393
      <li><code class="directive"><a href="./mod/core.html#files">&lt;Files&gt;</a></code> ve <code class="directive"><a href="./mod/core.html#filesmatch">&lt;FilesMatch&gt;</a></code> aynı anda işleme sokulur.</li>
394
394
 
395
395
      <li><code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
396
 
      ve <code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code> 
 
396
      ve <code class="directive"><a href="./mod/core.html#locationmatch">&lt;LocationMatch&gt;</a></code>
397
397
      aynı anda işleme sokulur.</li>
398
398
    </ol>
399
399
 
400
400
    <p><code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>
401
 
     bölümündekiler hariç, her grup, yapılandırma dosyasında bulundukları 
402
 
     sıraya göre işleme sokulurlar. Yukarıda 1. grup olan <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümü en kısa 
403
 
     dizin elemanından en uzun dizin elemanına doğru işleme sokulur. 
404
 
     Yani, örneğin, <code>&lt;Directory /var/web/dir&gt;</code> bölümü 
405
 
     <code>&lt;Directory /var/web/dir/subdir&gt;</code> bölümünden önce 
406
 
     işleme sokulacaktır. Eğer aynı uzunlukta çok sayıda dizin varsa 
407
 
     <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümleri 
408
 
     yapılandırma dosyasında bulundukları sıraya göre işleme sokulurlar. 
409
 
     <code class="directive"><a href="./mod/core.html#include">Include</a></code> yönergeleri ile 
410
 
     yapılandırmaya dahil edilen dosyaların içerikleri <code class="directive"><a href="./mod/core.html#include">Include</a></code> yönergesinin bulunduğu yere 
 
401
     bölümündekiler hariç, her grup, yapılandırma dosyasında bulundukları
 
402
     sıraya göre işleme sokulurlar. Yukarıda 1. grup olan <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümü en kısa
 
403
     dizin elemanından en uzun dizin elemanına doğru işleme sokulur.
 
404
     Yani, örneğin, <code>&lt;Directory /var/web/dir&gt;</code> bölümü
 
405
     <code>&lt;Directory /var/web/dir/subdir&gt;</code> bölümünden önce
 
406
     işleme sokulacaktır. Eğer aynı uzunlukta çok sayıda dizin varsa
 
407
     <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümleri
 
408
     yapılandırma dosyasında bulundukları sıraya göre işleme sokulurlar.
 
409
     <code class="directive"><a href="./mod/core.html#include">Include</a></code> yönergeleri ile
 
410
     yapılandırmaya dahil edilen dosyaların içerikleri <code class="directive"><a href="./mod/core.html#include">Include</a></code> yönergesinin bulunduğu yere
411
411
     konulduktan sonra işleme sokulurlar.</p>
412
412
 
413
 
    <p><code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code> 
414
 
    bölümlerinin içindeki bölümler, sanal konak tanımı dışındaki 
 
413
    <p><code class="directive"><a href="./mod/core.html#virtualhost">&lt;VirtualHost&gt;</a></code>
 
414
    bölümlerinin içindeki bölümler, sanal konak tanımı dışındaki
415
415
    karşılıklarından <em>sonra</em> uygulanırlar.</p>
416
416
 
417
 
    <p>İstek <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> tarafından sunulduğu takdirde, 
418
 
    <code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code> taşıyıcısı 
419
 
    işlem sırasında <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> 
 
417
    <p>İstek <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code> tarafından sunulduğu takdirde,
 
418
    <code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code> taşıyıcısı
 
419
    işlem sırasında <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code>
420
420
    taşıyıcısının yerini alır.</p>
421
421
 
422
422
    <p>Sonraki bölümler öncekileri geçersiz kılmak üzere işleme alınırlar.</p>
423
423
 
424
424
<div class="note"><h3>Bazı Teknik Bilgiler</h3>
425
 
  Aslında, isim dönüşüm aşamasından (<code>Aliases</code> ve 
426
 
  <code>DocumentRoots</code>, URL’leri dosya isimlerine eşlemek için 
427
 
  kullanılırken) hemen önce uygulanan bir 
428
 
  <code>&lt;Location&gt;</code>/<code>&lt;LocationMatch&gt;</code> 
429
 
  dizisi vardır. Bu dizinin sonuçları isim dönüşüm aşaması tamamlandıktan 
 
425
  Aslında, isim dönüşüm aşamasından (<code>Aliases</code> ve
 
426
  <code>DocumentRoots</code>, URL’leri dosya isimlerine eşlemek için
 
427
  kullanılırken) hemen önce uygulanan bir
 
428
  <code>&lt;Location&gt;</code>/<code>&lt;LocationMatch&gt;</code>
 
429
  dizisi vardır. Bu dizinin sonuçları isim dönüşüm aşaması tamamlandıktan
430
430
  sonra tamamen elden çıkarılır.
431
431
</div>
432
432
 
433
433
<h3><a name="merge-examples" id="merge-examples">Bazı Örnekler</a></h3>
434
434
 
435
 
<p>Aşağıdaki yapay örnekte katıştırma sırası gösterilmiştir. Hepsinin 
436
 
aynı isteğe uygulandığı varsayımıyla, bu örnekteki yönergeler 
 
435
<p>Aşağıdaki yapay örnekte katıştırma sırası gösterilmiştir. Hepsinin
 
436
aynı isteğe uygulandığı varsayımıyla, bu örnekteki yönergeler
437
437
A &gt; B &gt; C &gt; D &gt; E sırasıyla uygulanacaktır.</p>
438
438
 
439
439
<div class="example"><p><code>
451
451
&lt;/Directory&gt;<br />
452
452
&lt;/VirtualHost&gt;<br />
453
453
<br />
454
 
&lt;DirectoryMatch "^.*b$"&gt;<br />
 
454
&lt;DirectoryMatch "^.*b/"&gt;<br />
455
455
C<br />
456
456
&lt;/DirectoryMatch&gt;<br />
457
457
<br />
461
461
<br />
462
462
</code></p></div>
463
463
 
464
 
<p>Daha somut bir örnek olarak aşağıdakini ele alalım. <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümlerindeki erişim sınırlamaları 
465
 
ne olursa olsun <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code> 
466
 
bölümü son olarak değerlendirmeye alınacak ve sunucuya sınırsız erişim 
467
 
verecektir. Başka bir deyişle, katıştırma sırası önemlidir, bu nedenle 
 
464
<p>Daha somut bir örnek olarak aşağıdakini ele alalım. <code class="directive"><a href="./mod/core.html#directory">&lt;Directory&gt;</a></code> bölümlerindeki erişim sınırlamaları
 
465
ne olursa olsun <code class="directive"><a href="./mod/core.html#location">&lt;Location&gt;</a></code>
 
466
bölümü son olarak değerlendirmeye alınacak ve sunucuya sınırsız erişim
 
467
verecektir. Başka bir deyişle, katıştırma sırası önemlidir, bu nedenle
468
468
dikkatli olmalısınız!</p>
469
469
 
470
470
<div class="example"><p><code>