mirror of
				https://github.com/apache/httpd.git
				synced 2025-11-03 17:53:20 +03:00 
			
		
		
		
	git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1629257 13f79535-47bb-0310-9956-ffa450edef68
		
			
				
	
	
		
			613 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			613 lines
		
	
	
		
			22 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?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: 1132802:1628690 (outdated) -->
 | 
						||
<!-- =====================================================
 | 
						||
 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="examples.xml.meta">
 | 
						||
<parentdocument href="./">Sanal Konaklar</parentdocument>
 | 
						||
    <title>Sanal Konak Örnekleri</title>
 | 
						||
 | 
						||
<summary>
 | 
						||
 | 
						||
    <p>Bu belgede <a href="index.html">sanal konaklarla</a> ile ilgili olarak
 | 
						||
      karşılaşılması olası tüm  senaryolara yer verilmeye çalışılmıştır.
 | 
						||
      Buradaki senaryolar, tek bir  sunucu üzerinde  <a href="name-
 | 
						||
      based.html">isme dayalı</a> veya <a href="ip-based.html">IP’ye dayalı</a>
 | 
						||
      sanal konaklar aracılığıyla çok sayıda sitenin sunumu ile ilgilidir.
 | 
						||
    </p>
 | 
						||
 | 
						||
</summary>
 | 
						||
 | 
						||
  <section id="purename">
 | 
						||
    <title>Tek bir IP ile çok sayıda isme dayalı site</title>
 | 
						||
 | 
						||
    <p>Bu örnekte, makinenizin tek bir IP adresine sahip olduğunu ve bu
 | 
						||
      makineye <code>mesela.dom</code> ve <code>faraza.dom</code> şeklinde
 | 
						||
      (DNS A kayıtları sayesinde) farklı isimlerle erişilebildiğini
 | 
						||
      varsayalım.</p>
 | 
						||
 | 
						||
    <note><title>Bilginize</title><p>Apache sunucusu üzerinde sanal konakları
 | 
						||
      yapılandırmakla bu konak isimleri için sihirli bir şekilde DNS
 | 
						||
      kayıtlarının da oluşturulmasını sağlamış olmazsınız. Bu isimler için
 | 
						||
      ilgili DNS kayıtlarında sizin IP adresinize çözümlenen A kayıtlarının
 | 
						||
      olması gerekir, yoksa sitenize kimse erişemez. Sitelere erişimi yerel
 | 
						||
      olarak denemek isterseniz, bu girdileri <code>hosts</code> dosyanıza
 | 
						||
      yazabilirsiniz. Fakat bu sadece sizin makinenizde çalışır. Yerel
 | 
						||
      ağınızdaki her makinenin <code>hosts</code> dosyasına bu girdileri
 | 
						||
      yazarak yerel ağdan erişimi bu yolla sağlayabilirsiniz ama dış ağdan
 | 
						||
      gelecek ziyaretçileriniz için DNS kayıtlarınızın olması şarttır.</p>
 | 
						||
    </note>
 | 
						||
 | 
						||
    <example><title>Sunucu yapılandırması</title>
 | 
						||
 | 
						||
    # Apache’nin 80. portu dinlediğinden emin olalım<br />
 | 
						||
    Listen 80<br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost *:80><br />
 | 
						||
    <indent>
 | 
						||
      DocumentRoot /siteler/mesela<br />
 | 
						||
      ServerName mesela.dom<br />
 | 
						||
      <br />
 | 
						||
      # Diğer yönergeler, burada ...<br />
 | 
						||
      <br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost *:80><br />
 | 
						||
    <indent>
 | 
						||
      DocumentRoot /siteler/faraza<br />
 | 
						||
      ServerName faraza.dom<br />
 | 
						||
      <br />
 | 
						||
      # Diğer yönergeler, burada ...<br />
 | 
						||
      <br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost>
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p>Yıldız imleri tüm adreslerle eşleşmeyi sağladığından ana sunucu
 | 
						||
      (yapılandırma dosyası genelindeki yapılandırma - sunucu geneli)
 | 
						||
      erişilebilir olmayacaktır. Yapılandırma
 | 
						||
      dosyasındaki <code>ServerName mesela.dom</code> yönergeli konak, ilk
 | 
						||
      sanal konak olduğundan en yüksek önceliğe sahiptir ve
 | 
						||
      <cite>öntanımlı</cite> veya <cite>baskın</cite> site olarak davranır.
 | 
						||
      Yani, hiçbir <code>ServerName</code> yönergesi ile eşleşmeyen bir istek
 | 
						||
      alındığında bu istek ilk <code>VirtualHost</code> yapılandırması ile
 | 
						||
      karşılanır.</p>
 | 
						||
 | 
						||
    <note><title>Bilginize</title>
 | 
						||
      <p>IP adresi ve porta dayalı ayrımı umursamıyorsanız, <code>*</code>
 | 
						||
        yerine kendi IP adresinizi yazabilirsiniz.</p>
 | 
						||
 | 
						||
      <example>
 | 
						||
      NameVirtualHost 192.168.1.22<br />
 | 
						||
      <br />
 | 
						||
      <VirtualHost 192.168.1.22><br />
 | 
						||
        # vs. ...
 | 
						||
      </example>
 | 
						||
 | 
						||
      <p>Bununla birlikte, IP adresinin önceden kestirilebilir olmadığı
 | 
						||
        sistemlerde, örneğin, hizmet sağlayıcınıza çevirmeli ağ ile bağlanıyor
 | 
						||
        ve onun rasgele atadığı bir IP adresi için bir devingen DNS çözümü
 | 
						||
        kullanıyorsanız, IP adresi değil de <code>*</code> kullanmak daha çok
 | 
						||
        işinize yarayacaktır. Yıldız imi her IP adresi ile eşleşeceğinden IP
 | 
						||
        adresiniz değişse bile bu yapılandırmayı değiştirmeden
 | 
						||
        kullanabilirsiniz.</p>
 | 
						||
    </note>
 | 
						||
 | 
						||
    <p>Yukarıdaki yapılandırmayı hemen hemen tüm isme dayalı sanal konaklar
 | 
						||
      için kullanabilirsiniz. Bu yapılandırmanın çalışmayacağı tek durum,
 | 
						||
      farklı içerikleri farklı IP adreslerinden sunma gereğiyle
 | 
						||
      karşılaşmaktır.</p>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="twoips">
 | 
						||
    <title>IP adresleri farklı çok sayıda isme dayalı site</title>
 | 
						||
 | 
						||
    <note><title>Bilginize</title>
 | 
						||
      <p>Burada açıklanan teknikler istendiği kadar çok IP adresine
 | 
						||
        genişletilebilir.</p>
 | 
						||
    </note>
 | 
						||
 | 
						||
    <p>Sunucunun iki IP adresi olsun. Birinden "ana sunucu"
 | 
						||
      (<code>192.168.1.2</code>) diğerinden <code>mesela.dom</code>
 | 
						||
      <code>192.168.2.2</code> hizmet versin. Bu arada başka sanal konakları
 | 
						||
      da sunabilelim istiyoruz.</p>
 | 
						||
 | 
						||
    <example><title>Sunucu yapılandırması</title>
 | 
						||
 | 
						||
    Listen 80<br />
 | 
						||
    <br />
 | 
						||
    # Bu, 192.168.1.2 adresindeki "ana sunucu" olsun<br />
 | 
						||
    ServerName sunucu.faraza.dom<br />
 | 
						||
    DocumentRoot /siteler/anasunucu<br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 192.168.2.2><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/mesela<br />
 | 
						||
        ServerName mesela.dom<br />
 | 
						||
        <br />
 | 
						||
        # Diğer yönergeler, burada ...<br />
 | 
						||
        <br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 192.168.2.2><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/falanca<br />
 | 
						||
        ServerName falanca.dom<br />
 | 
						||
        <br />
 | 
						||
        # Diğer yönergeler, burada ...<br />
 | 
						||
        <br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost>
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p><code>192.168.2.2</code> adresinden gelmeyen tüm isteklere ana sunucu
 | 
						||
      (<code>sunucu.faraza.dom</code>), <code>192.168.2.2</code> adresinden
 | 
						||
      gelen sunucu ismi belirtmeyenler ile <code>Host:</code> başlığı
 | 
						||
      belirtmeyenlere ise  <code>mesela.dom</code> hizmet verecektir.</p>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="intraextra"><title>Aynı içeriği farklı IP adresleriyle sunmak
 | 
						||
    (örn., dahili ve harici ağlara)</title>
 | 
						||
 | 
						||
    <p>Sunucu makine iki IP adresine sahip olsun. Biri iç ağa
 | 
						||
      (<code>192.168.1.1</code>) diğeri dış ağa (<code>172.20.30.40</code>)
 | 
						||
      bakıyor olsun. <code>sunucu.mesela.dom</code> ismi dış ağda dış ağa
 | 
						||
      bakan IP’ye, iç ağda ise iç ağa bakan IP’ye çözümleniyor olsun.</p>
 | 
						||
 | 
						||
    <p>Bu durumda, sunucu hem iç hem de dış ağdan gelen isteklere aynı içerik,
 | 
						||
      dolayısıyla aynı <code>VirtualHost</code> bölümü ile hizmet
 | 
						||
      verebilir.</p>
 | 
						||
 | 
						||
    <example><title>Sunucu yapılandırması</title>
 | 
						||
    <br />
 | 
						||
    <VirtualHost 192.168.1.1 172.20.30.40><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/sunucu<br />
 | 
						||
        ServerName sunucu.mesela.dom<br />
 | 
						||
        ServerAlias sunucu<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost>
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p>Artık, hem iç hem de dış ağdan gelen isteklere aynı
 | 
						||
      <code>VirtualHost</code> bölümünden hizmet sunulacaktır.</p>
 | 
						||
 | 
						||
    <note><title>Bilginize:</title>
 | 
						||
      <p>İç ağdan istek yapan biri, tam nitelenmiş konak ismi
 | 
						||
        <code>sunucu.mesela.dom</code> yerine makine ismini
 | 
						||
        (<code>sunucu</code>) kullanabilir (<code>ServerAlias sunucu</code>
 | 
						||
        satırına dikkat).</p>
 | 
						||
 | 
						||
      <p>Ayrıca, yukarıdaki gibi iki ayrı IP adresi belirtmek yerine sadece
 | 
						||
        <code>*</code> belirtmekle sunucunun tüm IP adreslerine yine aynı
 | 
						||
        içerikle yanıt vereceğine dikkat ediniz.</p>
 | 
						||
    </note>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="port"><title>Farklı portlarla farklı siteler</title>
 | 
						||
 | 
						||
    <p>Aynı IP adresine sahip çok sayıda konak ismine sahip olduğunuzu ve
 | 
						||
      bunların bazılarının farklı portları kullanmasını istediğinizi
 | 
						||
      varsayalım. Aşağıdaki örnekte, isim eşleşmesinin, en iyi eşleşen IP
 | 
						||
      adresi ve port çifti saptandıktan sonra yer alması gösterilmiştir. </p>
 | 
						||
 | 
						||
    <example><title>Sunucu yapılandırması</title>
 | 
						||
 | 
						||
    Listen 80<br />
 | 
						||
    Listen 8080<br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.40:80><br />
 | 
						||
    <indent>
 | 
						||
        ServerName mesela.dom<br />
 | 
						||
        DocumentRoot /siteler/mesela-80<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.40:8080><br />
 | 
						||
    <indent>
 | 
						||
        ServerName mesela.dom<br />
 | 
						||
        DocumentRoot /siteler/mesela-8080<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.40:80><br />
 | 
						||
    <indent>
 | 
						||
        ServerName faraza.dom<br />
 | 
						||
        DocumentRoot /siteler/faraza-80<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.40:8080><br />
 | 
						||
    <indent>
 | 
						||
        ServerName faraza.dom<br />
 | 
						||
        DocumentRoot /siteler/faraza-8080<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost>
 | 
						||
    </example>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="ip"><title>IP’ye dayalı sanal konaklar</title>
 | 
						||
 | 
						||
    <p>Sunucu makinenin, biri <code>mesela.dom</code> adından çözümlenen
 | 
						||
      <code>172.20.30.40</code>, diğeri <code>faraza.dom</code> adından
 | 
						||
      çözümlenen <code>172.20.30.50</code> diye iki IP adresi olsun.</p>
 | 
						||
 | 
						||
    <example><title>Sunucu yapılandırması</title>
 | 
						||
 | 
						||
    Listen 80<br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.40><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/mesela<br />
 | 
						||
        ServerName mesela.dom<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.50><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/faraza<br />
 | 
						||
        ServerName faraza.dom<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost>
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p><code><VirtualHost></code> yönergelerinde belirtilmeyen
 | 
						||
      adreslerle yapılan isteklere (örneğin, <code>localhost</code>) sunucu
 | 
						||
      genelindeki yapılandırma ile ana sunucu yanıt verecektir.</p>
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="ipport">
 | 
						||
    <title>Hem IP’ye hem de porta dayalı sanal konaklar</title>
 | 
						||
 | 
						||
    <p>Sunucu makinenin, biri <code>mesela.dom</code> adından çözümlenen
 | 
						||
      <code>172.20.30.40</code>, diğeri <code>faraza.dom</code> adından
 | 
						||
      çözümlenen <code>172.20.30.50</code> diye iki IP adresi olsun ve iki
 | 
						||
      konak da hem 80 hem de 8080 portlarında çalışsınlar istiyoruz.</p>
 | 
						||
 | 
						||
    <example><title>Sunucu yapılandırması</title>
 | 
						||
 | 
						||
    Listen 172.20.30.40:80<br />
 | 
						||
    Listen 172.20.30.40:8080<br />
 | 
						||
    Listen 172.20.30.50:80<br />
 | 
						||
    Listen 172.20.30.50:8080<br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.40:80><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/mesela-80<br />
 | 
						||
        ServerName mesela.dom<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.40:8080><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/mesela-8080<br />
 | 
						||
        ServerName mesela.dom<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.50:80><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/faraza-80<br />
 | 
						||
        ServerName faraza.dom<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.50:8080><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/faraza-8080<br />
 | 
						||
        ServerName faraza.dom<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost>
 | 
						||
    </example>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="mixed">
 | 
						||
    <title>Hem isme hem de IP‘ye dayalı sanal konaklar</title>
 | 
						||
 | 
						||
    <p>Bir <code>VirtualHost</code> yönergesinde belirtilen bir IP adresi başka
 | 
						||
      bir sanal konakta görünmüyorsa bu sankon kesinlikle IP'ye dayalı bir
 | 
						||
      sanal konaktır.</p>
 | 
						||
 | 
						||
    <example><title>Sunucu yapılandırması</title>
 | 
						||
 | 
						||
    Listen 80<br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.40><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/mesela<br />
 | 
						||
        ServerName mesela.dom<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.40><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/faraza<br />
 | 
						||
        ServerName faraza.dom<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.40><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/falanca<br />
 | 
						||
        ServerName falanca.dom<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    # IP-based<br />
 | 
						||
    <VirtualHost 172.20.30.50><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/filanca<br />
 | 
						||
        ServerName filanca.dom<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.60><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/fesmekan<br />
 | 
						||
        ServerName fesmekan.dom<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost>
 | 
						||
    </example>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
    <section id="proxy"><title><code>Virtualhost</code> ve
 | 
						||
    <code>mod_proxy</code>’nin birlikte kullanımı</title>
 | 
						||
 | 
						||
    <p>Bu örnekte bir arabirimi dışarıya bakan bir makinede, başka bir
 | 
						||
      makinede çalışan bir sunucuya sanal konak olarak, bir vekil sunucu
 | 
						||
      çalıştırmak istediğimizi varsayıyoruz. <code>192.168.111.2</code> IP
 | 
						||
      adresli bir makinede aynı isimde bir sanal konak yapılandırılmış olsun.
 | 
						||
      Çok sayıda konak ismi için vekil olarak tek bir makine kullandığımızdan
 | 
						||
      ve konak isminin de aktarılmasını arzuladığımızdan <directive
 | 
						||
      module="mod_proxy">ProxyPreserveHost On</directive> yönergesini
 | 
						||
      kullandık.</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
    <VirtualHost *:*><br />
 | 
						||
    <indent>
 | 
						||
        ProxyPreserveHost On<br />
 | 
						||
        ProxyPass / http://192.168.111.2/<br />
 | 
						||
        ProxyPassReverse / http://192.168.111.2/<br />
 | 
						||
        ServerName konak.mesela.dom<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost>
 | 
						||
    </example>
 | 
						||
 | 
						||
    </section>
 | 
						||
 | 
						||
  <section id="default"><title><code>_default_</code> sanal konakları</title>
 | 
						||
 | 
						||
    <section id="defaultallports">
 | 
						||
      <title>Tüm portlar için <code>_default_</code></title>
 | 
						||
 | 
						||
    <p>Bir IP adresi ve port belirtilmeyen veya hiçbir sanal konağın hiçbir
 | 
						||
      adresi/portu ile eşleşmeyen istekleri yakalamak istersek...</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
    <title>Sunucu yapılandırması</title>
 | 
						||
 | 
						||
    <VirtualHost _default_:*><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/default<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost>
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p>Bütün portlarla eşleşen böyle bir öntanımlı sanal konağın kullanımı
 | 
						||
      hiçbir isteğin ana sunucuya gitmemesi sonucunu doğurur.</p>
 | 
						||
 | 
						||
    <p>Bir öntanımlı sanal konak, asla, isme dayalı sanal konaklar için
 | 
						||
      kullanılmış bir adrese/porta gönderilmiş bir isteğe hizmet sunmaz. Eğer
 | 
						||
      istek bilinmeyen bir <code>Host:</code> başlığına sahipse veya hiç
 | 
						||
      <code>Host:</code> başlığı içermiyorsa isteğe daima ilk (yapılandırma
 | 
						||
      dosyasındaki ilk) isme dayalı sanal konak hizmet sunar.</p>
 | 
						||
 | 
						||
    <p>Her isteği tek bir bilgilendirme sayfasına (veya betiğe) yönlendirmek
 | 
						||
      isterseniz <directive module="mod_alias">AliasMatch</directive> veya
 | 
						||
      <directive module="mod_rewrite">RewriteRule</directive> yönergesini
 | 
						||
      kullanabilirsiniz.</p>
 | 
						||
    </section>
 | 
						||
 | 
						||
    <section id="defaultdifferentports">
 | 
						||
      <title>Farklı portlardan <code>_default_</code></title>
 | 
						||
 | 
						||
    <p>Önceki yapılandırmaya ek olarak 80. portta ayrı bir
 | 
						||
      <code>_default_</code> sanal konağı kullanmak istersek...</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
    <title>Sunucu yapılandırması</title>
 | 
						||
 | 
						||
    <VirtualHost _default_:80><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/default80<br />
 | 
						||
        # ...<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost _default_:*><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/default<br />
 | 
						||
        # ...<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost>
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p>80. porttan hizmet sunan <code>_default_</code> sanal konağı IP adresi
 | 
						||
      belirtilmeyen tüm istekleri yakalar, bunu yapabilmesi için yapılandırma
 | 
						||
      dosyasında tüm portlara hizmet sunan benzerinden önce yer almalıdır. Bu
 | 
						||
      durumda ana sunucu hiçbir isteğe yanıt vermeyecektir.</p>
 | 
						||
    </section>
 | 
						||
 | 
						||
    <section id="defaultoneport">
 | 
						||
      <title>Tek portluk <code>_default_</code></title>
 | 
						||
 | 
						||
    <p><code>_default_</code> sanal konağının sadece 80. porttan hizmet
 | 
						||
      sunmasını istersek...</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
    <title>Sunucu yapılandırması</title>
 | 
						||
 | 
						||
    <VirtualHost _default_:80><br />
 | 
						||
    DocumentRoot /siteler/default<br />
 | 
						||
    ...<br />
 | 
						||
    </VirtualHost>
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p>80. porttan gelen IP adresi belirtilmemiş isteklere
 | 
						||
      <code>_default_</code> sanal konağı, diğer portlardan gelen adres
 | 
						||
      belirtilmemiş isteklere ise ana sunucu hizmet verecektir.</p>
 | 
						||
 | 
						||
    <p>Bir sanal konak bildiriminde <code>*</code> kullanımı
 | 
						||
      <code>_default_</code> kullanımından daha yüksek öncelik sağlar.</p>
 | 
						||
   </section>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="migrate"><title>Bir isme dayalı sanal konağı bir IP’ye dayalı
 | 
						||
    sanal konakla yansılamak</title>
 | 
						||
 | 
						||
    <p>İsme dayalı sanal konak örneklerinin <a href="#twoips">2. sinde</a> adı
 | 
						||
      geçen <code>falanca.dom</code> bu örnekte kendi IP adresinden hizmet
 | 
						||
      veriyor olsun. İsme dayalı sanal konağı eski IP adresiyle kaydetmiş
 | 
						||
      vekiller ve isim sunucularından kaynaklanacak olası sorunlardan kaçınmak
 | 
						||
      için yansılama sırasında sanal konağı hem eski hem de yeni IP adresiyle
 | 
						||
      sunmamız lazım.</p>
 | 
						||
 | 
						||
    <p>Çözüm kolay, çünkü yapacağımız sadece <code>VirtualHost</code>
 | 
						||
      yönergesine yeni IP adresini (<code>192.168.2.2</code>) eklemek
 | 
						||
      olacak.</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
    <title>Sunucu yapılandırması</title>
 | 
						||
 | 
						||
    Listen 80<br />
 | 
						||
    ServerName mesela.dom<br />
 | 
						||
    DocumentRoot /siteler/mesela<br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 192.168.1.2><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 192.168.1.2 192.168.2.2><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/falanca<br />
 | 
						||
        ServerName falanca.dom<br />
 | 
						||
        # ...<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 192.168.1.2><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/faraza<br />
 | 
						||
        ServerName faraza.dom<br />
 | 
						||
        ServerAlias *.faraza.dom<br />
 | 
						||
        # ...<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost>
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p>Böylece sanal konağa hem yeni (bir IP’ye dayalı sanal konak olarak)
 | 
						||
      hem de eski adresinden (bir isme dayalı sanal konak olarak)
 | 
						||
      erişilebilecektir.</p>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="serverpath">
 | 
						||
    <title><code>ServerPath</code> yönergesinin kullanımı</title>
 | 
						||
 | 
						||
    <p>İsme dayalı iki sanal konağı olan bir sunucumuz olsun. Doğru sanal
 | 
						||
      konağa erişebilmek için istemcinin doğru <code>Host:</code> başlığı
 | 
						||
      göndermesi gerekir. Eski HTTP/1.0 istemcileri böyle bir başlık
 | 
						||
      göndermedikleri için Apache istemcinin hangi sanal konağa erişmek
 | 
						||
      istediğini bilemez (ve isteğe ilk sanal konaktan hizmet sunar). Daha iyi
 | 
						||
      bir geriye uyumluluk sağlamak için isme dayalı sanal konağa bir önek
 | 
						||
      bağlantısı içeren bir bilgilendirme sayfası sunmak üzere yeni bir sanal
 | 
						||
      konak oluşturabiliriz.</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
    <title>Sunucu yapılandırması</title>
 | 
						||
 | 
						||
    <VirtualHost 172.20.30.40><br />
 | 
						||
    <indent>
 | 
						||
        # ilk sanal konak<br />
 | 
						||
        DocumentRoot /siteler/baska<br />
 | 
						||
        RewriteEngine On<br />
 | 
						||
        RewriteRule . /siteler/baska/index.html<br />
 | 
						||
        # ...<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.40><br />
 | 
						||
    DocumentRoot /siteler/baska/bir<br />
 | 
						||
    <indent>
 | 
						||
        ServerName bir.baska.tld<br />
 | 
						||
        ServerPath /bir/<br />
 | 
						||
        RewriteEngine On<br />
 | 
						||
        RewriteRule ^(/bir/.*) /siteler/baska$1<br />
 | 
						||
        # ...<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost><br />
 | 
						||
    <br />
 | 
						||
    <VirtualHost 172.20.30.40><br />
 | 
						||
    <indent>
 | 
						||
        DocumentRoot /siteler/baska/iki<br />
 | 
						||
        ServerName iki.baska.tld<br />
 | 
						||
        ServerPath /iki/<br />
 | 
						||
        RewriteEngine On<br />
 | 
						||
        RewriteRule ^(/iki/.*) /siteler/baska$1<br />
 | 
						||
        # ...<br />
 | 
						||
    </indent>
 | 
						||
    </VirtualHost>
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p><directive module="core">ServerPath</directive> yönergesinden dolayı
 | 
						||
      <code>http://bir.baska.tld/bir/</code> şeklinde yapılan isteklere
 | 
						||
      <em>daima</em> “bir” sanal konağı hizmet sunacaktır.</p>
 | 
						||
 | 
						||
    <p><code>http://bir.baska.tld/</code> şeklinde yapılan isteklere ise
 | 
						||
      istemcinin doğru <code>Host:</code> başlığı göndermesi şartıyla
 | 
						||
      “bir” sanal konağı hizmet sunacaktır. İstemci, bir
 | 
						||
      <code>Host:</code> başlığı göndermediği takdirde ilk konaktan bir
 | 
						||
      bilgilendirme sayfası alacaktır.</p>
 | 
						||
 | 
						||
    <p>Yalnız buradaki bir tuhaflığa dikkat edin: Eğer istemci bir
 | 
						||
      <code>Host:</code> başlığı göndermeden
 | 
						||
      <code>http://iki.baska.tld/bir/</code> şeklinde bir istek yaparsa bu
 | 
						||
      isteğe de “bir” sanal konağı hizmet sunacaktır.</p>
 | 
						||
 | 
						||
    <p><directive module="mod_rewrite">RewriteRule</directive> yönergesi, bir
 | 
						||
      istemcinin, bir URL öneki belirtsin ya da belirtmesin doğru
 | 
						||
      <code>Host:</code> başlığı gönderdiğinden emin olmak için
 | 
						||
      kullanılmıştır.</p>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
</manualpage>
 |