]> granicus.if.org Git - apache/blob - docs/manual/vhosts/name-based.xml.tr
update transformations
[apache] / docs / manual / vhosts / name-based.xml.tr
1 <?xml version='1.0' encoding='UTF-8' ?>
2 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
4 <!-- English Revision: 659902:1066434 (outdated) -->
5 <!-- =====================================================
6  Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7    Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
9
10 <!--
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
17
18      http://www.apache.org/licenses/LICENSE-2.0
19
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.
25 -->
26
27 <manualpage metafile="name-based.xml.meta">
28 <parentdocument href="./">Sanal Konaklar</parentdocument>
29 <title>İsme Dayalı Sanal Konaklar</title>
30
31 <summary>
32     <p>Bu belgede isme dayalı sanal konakların ne zaman, nasıl kullanılacakları
33       açıklanmıştır.</p>
34 </summary>
35
36 <seealso><a href="ip-based.html">IP Adresine Dayalı Sanal Konaklar</a></seealso>
37 <seealso><a href="details.html">Konak Eşlemenin Derinliğine İncelenmesi</a>
38 </seealso>
39 <seealso><a href="mass.html">Devingen olarak Yapılandırılan Kütlesel Sanal
40 Barındırma</a></seealso>
41 <seealso><a href="examples.html">Çok kullanılan sanal konak yapılandırma
42 örnekleri</a></seealso>
43 <seealso><a href="examples.html#serverpath">ServerPath yapılandırma örneği</a>
44 </seealso>
45
46 <section id="namevip"><title>İsme dayalı ve IP’ye dayalı Sanal Konaklar</title>
47
48     <p>IP’ye dayalı sanal konaklarda sunulacak sanal konağı doğru tespit
49       edebilmek için bağlantının yapıldığı IP adresine bakılır. Bu bakımdan her
50       konak için ayrı bir IP adresine gereksinim vardır. İsme dayalı sanal
51       konaklarda ise sunucu, istemcinin HTTP başlığının bir parçası olarak
52       gönderdiği konak adını kullanır. Bu teknikte aynı IP adresini çok sayıda
53       farklı konak kullanabilir.</p>
54
55     <p>İsme dayalı sanal barındırma nispeten daha kolaydır, çünkü her konak
56       ismini doğru IP adresiyle eşlemek için DNS sunucunuzu yapılandırdıktan
57       sonra Apache HTTP sunucusunu farklı konak isimlerini tanıyacak şekilde
58       yapılandırmanız yeterli olur. İsme dayalı sanal barındırma ayrıca zaten
59       kıt olan IP adreslerine talebi de azaltır. Bu nedenle, IP’ye dayalı sanal
60       konakları kullanmanızı gerektirecek çok özel bir sebep olmadıkça isme
61       dayalı sanal konaklar kullanmalısınız. IP’ye dayalı sanal konakların
62       kullanımını gerektirebilecek bazı durumlar:</p>
63
64     <ul>
65         <li>Bazı tarihi istemciler isme dayalı sanal konaklarla uyumlu değildir.
66           İsme dayalı sanal konakların çalışması için istemcinin HTTP Host
67           başlığı göndermesi gerekir. Bu da HTTP/1.1 desteği gerektirir.
68           Günümüzdeki HTTP/1.0 istemcileri bir eklenti olarak HTTP/1.1’i de
69           desteklemektedir. Tarihi eser haline gelmiş HTTP/1.1 desteği
70           bulurmayan eski istemcileri hala isme dayalı sanal konaklarla
71           desteklemek isterseniz bu belgenin sonunda bunu mümkün kılabilecek bir
72           tekniğe yer verilmiştir.</li>
73
74         <li>İsme dayalı sanal konaklar SSL portokolünün doğası gereğince SSL’li
75           güvenli sunucular için kullanılamazlar.</li>
76
77         <li>Bazı işletim sistemlerinin ve ağ donanımlarının gerçekleştirdiği
78           band genişliği yönetim teknikleri IP adresleri farklı olmadığı sürece
79           konaklar arasında ayrım yapamazlar.</li>
80     </ul>
81
82 </section>
83
84 <section id="using"><title>İsme Dayalı Sanal Konakların Kullanımı</title>
85
86 <related>
87     <modulelist>
88     <module>core</module>
89     </modulelist>
90
91     <directivelist>
92         <directive module="core">DocumentRoot</directive>
93         <directive module="core">NameVirtualHost</directive>
94         <directive module="core">ServerAlias</directive>
95         <directive module="core">ServerName</directive>
96         <directive module="core">ServerPath</directive>
97         <directive module="core" type="section">VirtualHost</directive>
98     </directivelist>
99 </related>
100
101     <p>İsme dayalı sanal konakları kullanmak için, bu konaklar için istekleri
102       kabul edecek sunucuya IP adresini (ve muhtemelen portu da)
103       belirtmelisiniz. Bu işlem <directive
104       module="core">NameVirtualHost</directive> yönergesiyle yapılır. Normal
105       şartlar altında sunucu üzerinde bütün IP adreslerinin kullanılması
106       gerekir; bunun için <directive module="core">NameVirtualHost</directive>
107       yönergesine argüman olarak <code>*</code> belirtebilirsiniz. Çok sayıda
108       port kullanmayı planlıyorsanız (SSL çalıştırmak gibi), argümana
109       <code>*:80</code> şeklinde port ekleyebilirsiniz. Yalnız, <directive
110       module="core">NameVirtualHost</directive> yönergesinde bir IP adresi
111       belirtmiş olmakla sunucunun kendiliğinden o IP adresini dinlemeyeceğine
112       dikkat ediniz. Bu konuda ayrıntılı bilgi edinmek için <a
113       href="../bind.html">Apache’nin kullanacağı adreslerin ve portların
114       ayarlanması</a> belgesine bakınız. Ayrıca, sunucuda, burada belirttiğiniz
115       IP adresine sahip bir ağ arabirimi olmalıdır.</p>
116
117     <p>Sonraki adım sunacağınız her konak için ayrı bir <directive
118       type="section" module="core">VirtualHost</directive> bölümü oluşturmaktır.
119       <directive type="section" module="core">VirtualHost</directive>
120       yönergesinin argümanı ile eşleşen bir <directive
121       module="core">NameVirtualHost</directive> yönergesi tanımlanmış olmalıdır
122       (değer normalde "*:80" olacaktır). Her <directive type="section"
123       module="core">VirtualHost</directive> bölümü içinde sunulan konağı
124       belirtmek üzere en azından bir adet <directive
125       module="core">ServerName</directive> yönergesine ve konak içeriğinin dosya
126       sisteminde bulunduğu yeri gösteren bir <directive
127       module="core">DocumentRoot</directive> yönergesine
128       ihtiyacınız olacaktır.</p>
129
130     <note><title>Ana konağı unutmayın</title>
131         <p>Mevcut sitenize sanal konaklar eklerseniz, mevcut siteniz için de bir
132           <directive type="section" module="core">VirtualHost</directive> bölümü
133           oluşturmalısınız. Bu sanal konak bölümü içinde kullanacağınız
134           <directive module="core">ServerName</directive> ve <directive
135           module="core">DocumentRoot</directive> yönergelerinin argümanları, bu
136           yönergelerin  sunucu geneli için belirttiğiniz değerlerini
137           içermelidir. Bu sanal konağı yapılandırma dosyanızdaki ilk sanal konak
138           yapın ki, öntanımlı konak olsun.</p>
139     </note>
140
141     <p>Örnek olarak, <code>www.biralan.tld</code> adresinden sitenizi sunmakta
142       olduğunuzu ve bunun yanına aynı IP adresini kullanan
143       <code>www.digeralan.tld</code> sanal konağını eklemek istediğinizi
144       varsayalım. Bunun için <code>httpd.conf</code> dosyanıza basitçe şu
145       satırları ekleyebilirsiniz:</p>
146
147     <example>
148         NameVirtualHost *:80<br />
149         <br />
150         &lt;VirtualHost *:80&gt;<br />
151         <indent>
152             ServerName www.biralan.tld<br />
153             ServerAlias biralan.tld *.biralan.tld<br />
154             DocumentRoot /siteler/biralan<br />
155         </indent>
156         &lt;/VirtualHost&gt;<br />
157         <br />
158         &lt;VirtualHost *:80&gt;<br />
159         <indent>ServerName www.digeralan.tld<br />
160             DocumentRoot /siteler/digeralan<br />
161         </indent>
162         &lt;/VirtualHost&gt;<br />
163     </example>
164
165     <p>İsterseniz, <directive module="core">NameVirtualHost</directive> ve
166       <directive type="section" module="core">VirtualHost</directive>
167       yönergelerinde argüman olarak <code>*</code> yerine doğrudan bir IP adresi
168       belirtebilirsiniz. Hatta, daha sonra, isme dayalı sanal konakları bir IP
169       adresinden ve IP’ye dayalı olanları veya isme dayalı diğer bir sanal konak
170       grubunu diğer IP adreslerinden sunmak isteyebilirsiniz.</p>
171
172     <p>Çoğu sunucunun birden fazla isim ile erişilebilir olması istenir. Bu,
173       <directive type="section" module="core">VirtualHost</directive> bölümü
174       içine bir <directive module="core">ServerAlias</directive> yönergesi
175       yerleştirmek suretiyle mümkün olur. Örneğin yukarıdaki örnekte,
176       kullanıcıların aynı siteye farklı isimlerle erişmelerini mümkün kılmak
177       için bölüm içine şu satırı ekleyebilirsiniz:</p>
178
179     <example>
180         ServerAlias biralan.tld *.biralan.tld
181     </example>
182
183     <p>Böylece <code>biralan.tld</code> alanındaki tüm konaklar için gelen
184       isteklere <code>www.biralan.tld</code> sanal konağından hizmet sunulmuş
185       olur. Konak isimleriyle eşleşmek üzere dosya ismi kalıp karakterleri
186       <code>*</code> ve <code>?</code> kullanılabilir. Şüphesiz bu isimleri sırf
187       <directive module="core">ServerName</directive> veya
188       <code>ServerAlias</code> yönergesinde belirtmiş olmakla bu isimleri
189       erişilebilir kılamazsınız. Öncelikle, bu isimleri sunucunuzdaki IP
190       adresleriyle eşlemek üzere yapılandıracağınız bir DNS sunucunuz
191       olmalıdır.</p>
192
193     <p>Son olarak, sanal konak yapılandırmanıza, <directive type="section"
194       module="core">VirtualHost</directive> bölümlerinin içine başka yönergeler
195       yerleştirerek ince ayar çekebilirsiniz. Çoğu yönerge bu bölümlere
196       yerleştirilebilir ve sadece o sanal konakla ilgili yapılandırmayı
197       değiştirmek için kullanılabilir. Belli bir yönergenin sanal konak
198       bölümlerinde kullanılıp kullanılmayacağını yönergenin açıklamasında <a
199       href="../mod/directive-dict.html#Context">Bağlam</a> satırına bakarak
200       öğrenebilirsiniz. <em>Ana sunucu bağlamındaki</em> (<directive
201       type="section" module="core">VirtualHost</directive> bölümleri dışındaki)
202       yapılandırma yönergelerinden sadece sanal konak bölümlerinde geçersiz
203       kılınmamış olanlar kullanılacaktır.</p>
204
205     <p>Sunucuya bir istek geldiğinde, sunucu önce IP adresiyle eşleşmesi olası
206       <directive module="core">NameVirtualHost</directive> bölümleri var mı diye
207       bakar. Varsa, IP adresini eşleştirmek için <directive
208       module="core">NameVirtualHost</directive> bölümlerine tek tek bakar ve
209       istenen konak ismi ile eşleşen bir <directive module="core"
210       >ServerName</directive> veya <code>ServerAlias</code> yönergesi bulmaya
211       çalışır. Bir tane bulduğunda, sunucu için onun yapılandırmasını kullanır.
212       İsimle eşleşen bir sanal konak bulamazsa IP adresiyle eşleşen <strong>ilk
213       sanal konağın</strong> yapılandırmasını kullanır.</p>
214
215     <p>Bir önkabul olarak yapılandırma dosyasında rastlanan ilk sanal konak
216       <em>öntanımlı</em> sanal konaktır. IP adresi bir sanal konakla eşleştiği
217       takdirde <em>ana sunucunun</em> <directive module="core"
218       >DocumentRoot</directive> değeri <strong>asla</strong> kullanılmayacaktır.
219       Sanal konaklardan hiçbiriyle eşleşmeyen istekler için özel bir
220       yapılandırmanız olsun isterseniz, bu yapılandırmayı yapılandırma
221       dosyanızdaki ilk <directive type="section"
222       module="core">VirtualHost</directive> bölümüne yerleştirmeniz
223       yetecektir.</p>
224
225 </section>
226
227 <section id="compat"><title>Artık Tarihe Karışmış Tarayıcılarla Uyumluluk</title>
228
229     <p>Evvelce de bahsedildiği gibi, isme dayalı sanal konakların gerektiği gibi
230       çalışması için gerekli veriyi göndermeyen bazı istemciler vardır. Bu
231       istemcilere daima o IP adresinin yapılandırma dosyasındaki ilk sanal
232       konağının (isme dayalı <cite>başat</cite> sanal konak) sayfaları
233       gönderilir.</p>
234
235     <note><title>Ne kadar eski?</title>
236     <p>Lütfen dikkat edin, eski deyince gerçekten de antika demek istiyoruz.
237       Günümüzde bu tür tarayıcılara rastlamanız neredeyse imkansızdır. Günümüz
238       tarayıcılarının hepsi isme dayalı sanal konakların gerektirdiği
239       <code>Host</code> başlığını gönderirler.</p>
240     </note>
241
242     <p>Olayı fazla germeden <directive module="core">ServerPath</directive>
243       yönergesini kullanarak sorunun çevresinden dolanmak mümkündür:</p>
244
245     <p>Örnek yapılandırma:</p>
246
247     <example>
248         NameVirtualHost 111.22.33.44<br />
249         <br />
250         &lt;VirtualHost 111.22.33.44&gt;<br />
251         <indent>
252             ServerName www.biralan.tld<br />
253             ServerPath /biralan<br />
254             DocumentRoot /siteler/biralan<br />
255         </indent>
256         &lt;/VirtualHost&gt;<br />
257     </example>
258
259     <p>Bu ne anlama geliyor? Anlamı, "<code>/biralan</code>" ile başlayan her
260       URI isteği <code>www.biralan.tld</code> sanal konağı tarafından sunulacak,
261       demektir. Yani, tüm istemcilerin
262       <code>http://www.biralan.tld/biralan/</code> olarak eriştiği yere
263       <code>Host:</code> başlığı gönderen istemciler
264       <code>http://www.biralan.tld/</code> olarak erişirler.</p>
265
266     <p>Bunu gerçekleştirebilmek için başat sanal konağın baş sayfasına
267       <code>http://www.biralan.tld/biralan/</code> için bir bağ koyduktan sonra
268       sanal konağın sayfalarında ya tamamen göreli bağlar
269       ("<code>dosya.html</code>", "<code>../simgeler/resim.png</code>" gibi)
270       veya <code>/biralan/</code> ile öncelenmiş bağlar
271       ("<code>http://www.biralan.tld/biralan/muht/dosya.html</code>" veya
272       "<code>/biralan/muht/dosya.html</code>" gibi) kullanın.</p>
273
274     <p>Bu işlem biraz disiplin gerektirse de bu yazılanlara sıkı sıkıya bağlı
275       kalarak hem eski hem de yeni tarayıcıların sayfalarınızı doğru
276       görüntülemesini sağlamış olursunuz.</p>
277
278 </section>
279 </manualpage>