summaryrefslogtreecommitdiff
path: root/docs/manual/vhosts/name-based.xml.tr
blob: a9830f41f49c4001b7846f1249a4efd704184535 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
<!-- English Revision: 1301400 -->
<!-- =====================================================
 Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
   Reviewed by: Orhan Berent <berent belgeler.org>
========================================================== -->

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<manualpage metafile="name-based.xml.meta">
<parentdocument href="./">Sanal Konaklar</parentdocument>
<title>İsme Dayalı Sanal Konaklar</title>

<summary>
    <p>Bu belgede isme dayalı sanal konakların ne zaman, nasıl kullanılacakları
      açıklanmıştır.</p>
</summary>

<seealso><a href="ip-based.html">IP Adresine Dayalı Sanal Konaklar</a></seealso>
<seealso><a href="details.html">Konak Eşlemenin Derinliğine İncelenmesi</a>
</seealso>
<seealso><a href="mass.html">Devingen olarak Yapılandırılan Kütlesel Sanal
Barındırma</a></seealso>
<seealso><a href="examples.html">Çok kullanılan sanal konak yapılandırma
örnekleri</a></seealso>

<section id="namevip"><title>İsme dayalı ve IP’ye dayalı Sanal Konaklar</title>

    <p><a href="ip-based.html">IP’ye dayalı sanal konaklar</a>da sunulacak
      sanal konağı doğru tespit edebilmek için bağlantının yapıldığı IP
      adresine bakılır. Bu bakımdan her konak için ayrı bir IP adresine
      gereksinim vardır.</p>

    <p>İsme dayalı sanal konaklarda ise sunucu, istemcinin HTTP başlığının bir
      parçası olarak gönderdiği konak adını kullanır. Bu teknikte aynı IP
      adresini çok sayıda farklı konak kullanabilir.</p>

    <p>İsme dayalı sanal barındırma nispeten daha kolaydır, çünkü her konak
      ismini doğru IP adresiyle eşlemek için DNS sunucunuzu yapılandırdıktan
      sonra Apache HTTP sunucusunu farklı konak isimlerini tanıyacak şekilde
      yapılandırmanız yeterli olur. İsme dayalı sanal barındırma ayrıca zaten
      kıt olan IP adreslerine talebi de azaltır. Bu nedenle, IP’ye dayalı sanal
      konakları kullanmanızı gerektiren donanım kullanmadıkça isme  dayalı
      sanal konaklar kullanmalısınız. İstemci uyumuna bağlı IP’ye dayalı
      sanal barındırma için eskiden varolan sebepler genel amaçlı bir HTTP
      sunucusu için artık uygulanabilir değildir.</p>

    <p>İsme dayalı sanal barındırma, IP'ye dayalı sanal barındırma seçim
      algoritmasını kullanmaz, yani uygun sunucu ismini arama işlemi sadece en
      iyi IP'ye dayalı adrese sahip sanal konaklar arasında gerçekleşir.</p>

</section>

<section id="alg">
  <title>Sunucu isme dayalı sanal konaklardan uygun olanını nasıl seçer</title>

    <p>İsme dayalı sanal konak çözümlemesinin ilk adımının IP'ye dayalı
      çözümleme olduğunun anlaşılması çok önemlidir. İsme dayalı sanal konak
      çözümlemesi en uygun isme dayalı sanal konağı seçerken önce en iyi IP'ye
      dayalı eşleşme adaylarının sayısını azaltır, sonra bunlar arasından en
      uygununu seçer. Tüm <code>VirtualHost</code> yönergelerinde IP adresi
      yerine joker kullanımı bu IP'ye dayalı eşlemeyi yersiz kılar.</p>

    <p>Bir istek geldiğinde, sunucu, istekte kullanılan IP adresi ve portu ile
      en iyi eşleşen <directive type="section" module="core"
      >VirtualHost</directive> bileşenini bulur. Bu IP adresi ve port çifti ile
      eşleşen birden fazla sanal konak varsa, Apache httpd istekte kullanılan
      sunucu ismini <directive module="core" >ServerName</directive> ve
      <directive module="core">ServerAlias</directive> yönergelerindeki
      isimlerle karşılaştırır.</p>

  <section id="defaultvhost">
   <title>Bir IP adresi ve port çifti için öntanımlı isme dayalı sankon</title>
    <p><directive module="core" >ServerName</directive> ve
      <directive module="core">ServerAlias</directive> yönergelerinde bir
      eşleşme bulunamazsa, Apache httpd bu çift ile eşleşen <strong>sanal
      konaklar listesindeki ilk sanal konağı</strong> kullanır.</p>
  </section>
</section>

<section id="using"><title>İsme Dayalı Sanal Konakların Kullanımı</title>

<related>
    <modulelist>
    <module>core</module>
    </modulelist>

    <directivelist>
      <directive module="core">DocumentRoot</directive>
      <directive module="core">ServerAlias</directive>
      <directive module="core">ServerName</directive>
      <directive module="core" type="section">VirtualHost</directive>
    </directivelist>
</related>

    <p>İlk adım sunacağınız her konak için ayrı bir <directive type="section"
      module="core">VirtualHost</directive> bölümü oluşturmaktır. Her
      <directive type="section" module="core" >VirtualHost</directive> bölümü
      içinde sunulan konağı belirtmek üzere en azından bir adet <directive
      module="core">ServerName</directive> yönergesine ve konak içeriğinin
      dosya sisteminde bulunduğu yeri gösteren bir <directive
      module="core">DocumentRoot</directive> yönergesine ihtiyacınız
      olacaktır.</p>

    <note><title>Ana konağı unutmayın</title>
      <p>Mevcut <directive type="section" module="core">VirtualHost</directive>
        yönergelerinin hiçbiriyle eşleşmeyen bir istek için, sunucu veya konak
        ismine bakılmaksızın genel sunucu yapılandırmanız kullanılır.</p>

      <p>Mevcut sitenize isme dayalı bir sanal konak eklerseniz ve bu sanal
        konak ana sunucunun IP adresi ve portuna sahipse, ana sunucuya yapılan
        istekler için bu sanal konak kullanılır. Bu bakımdan, <directive
        module="core">ServerName</directive> yönergesi ana sunucununki ile aynı
        olan bir <a href="#defaultvhost">öntanımlı sanal konak</a> oluşturmak
        akıllıca olacaktır. Aynı arayüz ve portu kullanan fakat farklı
        yapılandırmalara sahip diğer alan isimlerinin sanal konakları (yani
        öntanımlı olmayanlar) bu öntanımlı sanal konağın sonrasına
        yerleştirilmelidir.</p>
    </note>

    <p>Örnek olarak, <code>site1.example.com</code> adresinden sitenizi
      sunmakta olduğunuzu ve bunun yanına aynı IP adresini kullanan
      <code>site2.example.com</code> sanal konağını eklemek istediğinizi
      varsayalım. Bunun için <code>httpd.conf</code> dosyanıza basitçe şu
      satırları ekleyebilirsiniz:</p>

    <example>
        &lt;VirtualHost *:80&gt;<br />
        <indent>
            #İlk sanal konak aynı zamanda *:80 için de öntanımlıdır.
            ServerName site1.example.com<br />
            ServerAlias example.com<br />
            DocumentRoot /siteler/site1<br />
        </indent>
        &lt;/VirtualHost&gt;<br />
        <br />
        &lt;VirtualHost *:80&gt;<br />
        <indent>
            ServerName site2.example.com<br />
            DocumentRoot /siteler/site2<br />
        </indent>
        &lt;/VirtualHost&gt;<br />
    </example>

    <p>İsterseniz, <directive type="section" module="core"
      >VirtualHost</directive> yönergesinde argüman olarak <code>*</code>
      yerine doğrudan bir IP adresi belirtebilirsiniz. Hatta, daha sonra, isme
      dayalı sanal konakları bir IP adresinden ve IP’ye dayalı olanları veya
      isme dayalı diğer bir sanal konak grubunu diğer IP adreslerinden sunmak
      isteyebilirsiniz.</p>

    <p>Çoğu sunucunun birden fazla isim ile erişilebilir olması istenir. Bu,
      <directive type="section" module="core">VirtualHost</directive> bölümü
      içine bir <directive module="core">ServerAlias</directive> yönergesi
      yerleştirmek suretiyle mümkün olur. Örneğin yukarıdaki örnekte,
      kullanıcıların aynı siteye farklı isimlerle erişmelerini mümkün kılmak
      için bölüm içine şu satırı ekleyebilirsiniz:</p>

    <example>
        ServerAlias example.com *.example.com
    </example>

    <p>Böylece <code>example.com</code> alanındaki tüm konaklar için gelen
      isteklere <code>www.example.com</code> sanal konağından hizmet sunulmuş
      olur. Konak isimleriyle eşleşmek üzere dosya ismi kalıp karakterleri
      <code>*</code> ve <code>?</code> kullanılabilir. Şüphesiz bu isimleri
      sırf <directive module="core">ServerName</directive> veya
      <code>ServerAlias</code> yönergesinde belirtmiş olmakla bu isimleri
      erişilebilir kılamazsınız. Öncelikle, bu isimleri sunucunuzdaki IP
      adresleriyle eşlemek üzere yapılandıracağınız bir DNS sunucunuz
      olmalıdır.</p>

    <p>İsme dayalı sanal konaklardan en iyi eşleşme kümesinde olanlar
      yapılandırmada göründükleri sıraya göre işleme sokulur. Joker
      kullanımları arasında fark gözetilmeksizin <directive module="core"
      >ServerName</directive> veya <directive module="core"
      >ServerAlias</directive> yönergesi eşleşen ilk sanal konak
      kullanılır.</p>

    <p>Son olarak, sanal konak yapılandırmanıza, <directive type="section"
      module="core">VirtualHost</directive> bölümlerinin içine başka yönergeler
      yerleştirerek ince ayar çekebilirsiniz. Çoğu yönerge bu bölümlere
      yerleştirilebilir ve sadece o sanal konakla ilgili yapılandırmayı
      değiştirmek için kullanılabilir. Belli bir yönergenin sanal konak
      bölümlerinde kullanılıp kullanılmayacağını yönergenin açıklamasında <a
      href="../mod/directive-dict.html#Context">Bağlam</a> satırına bakarak
      öğrenebilirsiniz. <em>Ana sunucu bağlamındaki</em> (<directive
      type="section" module="core">VirtualHost</directive> bölümleri dışındaki)
      yapılandırma yönergelerinden sadece sanal konak bölümlerinde geçersiz
      kılınmamış olanlar kullanılacaktır.</p>

</section>

</manualpage>