| <?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: 1673563 --> |
| <!-- ===================================================== |
| Translated by: Nilgün Belma Bugüner <nilgun belgeler.gen.tr> |
| Reviewed by: Orhan Berent <berent belgeler.gen.tr> |
| ========================================================== --> |
| |
| <!-- |
| 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> |
| |
| <p>Herhangi bir isme dayalı sanal konakta <directive |
| module="core">ServerName</directive> yönergesini kullanmazsanız, sunucu |
| bu yönergeye sistem konak adından türetilmiş tam nitelenmiş alan adının |
| (FQDN) tanımlandığını varsayacaktır. Bu örtük atama sezgiselliğin |
| istenmediği bir sanal konak eşleşmesi ile sonuçlanabilir ve bu |
| önerilmez.</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> |
| |
| <note><title>ServerName miras alma</title> |
| <p>İsme dayalı her sanal konak için daima bir <directive module="core" |
| >ServerName</directive> belirtmek en iyisidir.</p> |
| |
| <p>Eğer bir <directive module="core">VirtualHost</directive> bölümü |
| içinde bir <directive module="core">ServerName</directive> |
| belirtilmezse, sunucu ismi olarak ana sunucu yapılandırmasındaki isim |
| kullanılır. Orada da bir sunucu ismi belirtilmemişse, başlatma sırasında |
| dinlenen ilk IP adresinden ters DNS araması ile elde edilen isim |
| kullanılır. Her iki durumda da miras alınan isim gereksiz yere isme |
| dayalı sanal konak ismi haline gelecektir; bu bakımdan isme dayalı her |
| sanal konak için daima bir <directive module="core" |
| >ServerName</directive> belirtmek en iyisidir.</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> |
| |
| <highlight language="config"> |
| <VirtualHost *:80> |
| #İlk sanal konak aynı zamanda *:80 için de öntanımlıdır. |
| ServerName site1.example.com |
| ServerAlias example.com |
| DocumentRoot "/siteler/site1" |
| </VirtualHost> |
| |
| <VirtualHost *:80> |
| ServerName site2.example.com |
| DocumentRoot "/siteler/site2" |
| </VirtualHost> |
| </highlight> |
| |
| <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> |
| |
| <highlight language="config"> |
| ServerAlias example.com *.example.com |
| </highlight> |
| |
| <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><code>VirtualHost</code> içindeki isimlerin sırası (jokersiz) bir |
| <code>ServerAlias</code> gibi ele alınır (fakat hiçbir |
| <code>ServerAlias</code> yönergesi ile geçersiz kılınmaz).</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> |