mirror of
				https://github.com/apache/httpd.git
				synced 2025-10-31 19:10:37 +03:00 
			
		
		
		
	git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1330892 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:1330878 (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>
 |