You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ta...@apache.org on 2008/06/16 10:46:35 UTC

svn commit: r668072 - in /httpd/httpd/trunk/docs/manual/vhosts: details.xml.tr examples.xml.tr fd-limits.xml.tr mass.xml.tr

Author: takashi
Date: Mon Jun 16 01:46:35 2008
New Revision: 668072

URL: http://svn.apache.org/viewvc?rev=668072&view=rev
Log:
new Turkish translations.

Submitted by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>

Added:
    httpd/httpd/trunk/docs/manual/vhosts/details.xml.tr   (with props)
    httpd/httpd/trunk/docs/manual/vhosts/examples.xml.tr   (with props)
    httpd/httpd/trunk/docs/manual/vhosts/fd-limits.xml.tr   (with props)
    httpd/httpd/trunk/docs/manual/vhosts/mass.xml.tr   (with props)

Added: httpd/httpd/trunk/docs/manual/vhosts/details.xml.tr
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/vhosts/details.xml.tr?rev=668072&view=auto
==============================================================================
--- httpd/httpd/trunk/docs/manual/vhosts/details.xml.tr (added)
+++ httpd/httpd/trunk/docs/manual/vhosts/details.xml.tr [utf-8] Mon Jun 16 01:46:35 2008
@@ -0,0 +1,403 @@
+<?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: 420990 -->
+<!-- =====================================================
+ 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="details.xml.meta">
+<parentdocument href="./">Sanal Konaklar</parentdocument>
+   <title>Sanal Konak Eşlemenin Derinliğine İncelenmesi</title>
+
+<summary>
+
+    <p>Sanal konak kodu <strong>Apache 1.3</strong> sürümünde baştan yeniden
+      yazıldı. Bu belgede, bir istek aldığında Apache’nin hangi sanal konak
+      ile hizmet sunacağına nasıl karar verdiği açıklanmaya çalışılmıştır.
+      <directive module="core">NameVirtualHost</directive> yönergesi sayesinde
+      sanal konak yapılandırması 1.3 sürümünün öncesine göre daha kolay ve
+      daha güvenilir hale gelmiştir.</p>
+
+    <p>Sanal konakların nasıl çalıştığını öğrenmeden sadece çalıştırmak
+      isterseniz doğrudan <a href="examples.html">örneklerin bulunduğu
+      sayfaya</a> bakabilirsiniz.</p>
+
+</summary>
+
+<section id="configparsing"><title>Yapılandırma Dosyasının Çözümlenmesi</title>
+
+    <p>Bu belgede <code>&lt;VirtualHost&gt;</code> bölümleri dışında kalan
+      tanımlardan bahsederken <em>ana_sunucu</em>, <directive type="section"
+      module="core">VirtualHost</directive> bölümlerindeki tanımlamalardan
+      bahsederken <em>sankonlar</em> diyeceğiz.</p>
+
+    <p><directive module="mpm_common">Listen</directive>,
+      <directive module="core">ServerName</directive>,
+      <directive module="core">ServerPath</directive> ve
+      <directive module="core">ServerAlias</directive> yönergeleri bir sunucu
+      yapılandırmasının her yerinde karşımıza çıkabilir. Bununla birlikte,
+      sunucu dahilinde son göründükleri yerlerde önceki eşdeğerlerini geçersiz
+      kılarlar.</p>
+
+    <p><code>Listen</code> yönergesinin ana_sunucu için öntanımlı değeri
+      80’dir. <code>ServerPath</code> ve <code>ServerAlias</code>
+      yönergelerinin ana_sunucu için öntanımlı değerleri yoktur. Öntanımlı
+      <code>ServerName</code> değeri ise sunucunun IP adresinden elde
+      edilir.</p>
+
+    <p>Ana_sunucu <code>Listen</code> yönergesinin iki işlevi vardır. Biri
+      Apache’nin dinleyeceği öntanımlı ağ portunu belirlemek, diğeri ise
+      yönlendirmeler sırasında mutlak URI’lerde kullanılan port numarasını
+      belirlemektir.</p>
+
+    <p>Ana_sunucunun aksine sankonların portları Apache‘nin dinleyeceği
+      portlar üzerinde etkili değildir.</p>
+
+    <p><code>VirtualHost</code> yönergesinde görünen her adresin seçimlik bir
+      portu olabilir. Eğer bir port belirtilmemişse öntanımlı olarak
+      ana_sunucunun son <code>Listen</code> yönergesinin değeri kullanılır.
+      Port olarak <code>*</code> belirtildiği takdirde bütün portlar dinlenir.
+      Adreslerin tamamını (DNS sorgularındaki çoklu A kayıtları dahil) içeren
+      kümeye sankonların <em>adres kümesi</em> denir.</p>
+
+    <p><directive module="core">NameVirtualHost</directive> yönergesi ilk
+      sankonun IP adresi için kullanılmadığı takdirde bu IP adresine sahip ilk
+      sankon IP’ye dayalı sankon olarak ele alınır. IP adresi olarak
+      <code>*</code> belirtmek de mümkündür.</p>
+
+    <p>Eğer isme dayalı sankonlar kullanılacaksa <code>NameVirtualHost</code>
+      yönergesinin bu isme dayalı sankonların IP adresi kümesini içermesi
+      <em>gerekir</em>. Başka bir deyişle, yapılandırma dosyanızın
+      <code>NameVirtualHost</code> yönergesine sankonların sunucu isimlerinin
+      karşı düştüğü IP adresini yazmalısınız.</p>
+
+    <p>Çok sayıda <code>NameVirtualHost</code> yönergesi belirtebilirse de her
+      IP:port çifti için birden fazla <code>NameVirtualHost</code> yönergesi
+      belirtilmemelidir.</p>
+
+    <p>Aşağıdaki iki örneğin eşdeğer olması için <code>NameVirtualHost</code>
+      ve <code>VirtualHost</code> yönergelerinin sıralamasının bir önemi
+      yoktur. (Sadece <em>tek</em> adreslik küme içindeki
+      <code>VirtualHost</code> yönergelerinin sırası önemlidir; aşağıya
+      bakınız:)</p>
+
+<table><tr>
+<td><example>
+  NameVirtualHost 111.22.33.44<br />
+  &lt;VirtualHost 111.22.33.44&gt;<br />
+  # sunucu A<br />
+  ...<br />
+  &lt;/VirtualHost&gt;<br />
+  &lt;VirtualHost 111.22.33.44&gt;<br />
+  # sunucu B<br />
+  ...<br />
+  &lt;/VirtualHost&gt;<br />
+  <br />
+  NameVirtualHost 111.22.33.55<br />
+  &lt;VirtualHost 111.22.33.55&gt;<br />
+  # sunucu C<br />
+  ...<br />
+  &lt;/VirtualHost&gt;<br />
+  &lt;VirtualHost 111.22.33.55&gt;<br />
+  # sunucu D<br />
+  ...<br />
+  &lt;/VirtualHost&gt;
+</example></td>
+<td><example>
+  &lt;VirtualHost 111.22.33.44&gt;<br />
+  # sunucu A<br />
+  &lt;/VirtualHost&gt;<br />
+  &lt;VirtualHost 111.22.33.55&gt;<br />
+  # sunucu C<br />
+  ...<br />
+  &lt;/VirtualHost&gt;<br />
+  &lt;VirtualHost 111.22.33.44&gt;<br />
+  # sunucu B<br />
+  ...<br />
+  &lt;/VirtualHost&gt;<br />
+  &lt;VirtualHost 111.22.33.55&gt;<br />
+  # sunucu D<br />
+  ...<br />
+  &lt;/VirtualHost&gt;<br />
+  <br />
+  NameVirtualHost 111.22.33.44<br />
+  NameVirtualHost 111.22.33.55<br />
+  <br />
+</example></td>
+</tr></table>
+
+
+    <p>(Okuma kolaylığı bakımından soldaki sürümü tercih etmenizi öneririz.)
+    </p>
+
+    <p><code>VirtualHost</code> yönergesi çözümlendikten sonra sankon
+      sunucusuna yönergedeki ilk isme atanmış portun öntanımlı olduğu bir
+      <code>Listen</code> verilir.</p>
+
+    <p>Eğer tüm <code>VirtualHost</code> isimlerinin listesi aynı adres
+      kümesine çözümleniyorsa bu isimler birer <code>ServerAlias</code> gibi
+      ele alınırlar (bir <code>ServerAlias</code> yönergesi ile geçersiz
+      kılınmadıkça). Bir sankon tanımından sonra gelen <code>Listen</code>
+      satırlarının o sankonun adres kümesine atanmış portlara bir etkisinin
+      olmayacağına dikkat ediniz.</p>
+
+    <p>İsim listeleri IP adreslerine göre gruplanır ve bir çiftler tablosuna
+      kaydedilir. Eğer IP adresi bir <code>NameVirtualHost</code> yönergesinde
+      kullanılmışsa, liste bu IP adresi için tanımlanmış tüm sankonları
+      içerir. Eğer bu IP adresinin tanımlandığı bir sankon yoksa o
+      <code>NameVirtualHost</code> yönergesi yoksayılır ve günlüğe bir hata
+      kaydı düşülür. IP’ye dayalı sankonlar için çiftler listesinde isim
+      alanları boştur.</p>
+
+    <p>Çiftler listesini işleyen işlevin hızı nedeniyle bir istek sırasında IP
+      adresine göre gruplama yaparken kaynak harcaması en düşük düzeyde olur
+      hatta neredeyse hiç olmaz. Ek olarak, tablo, IP adresinin son
+      sekizlisindeki değişikliklere göre de en iyilenir.</p>
+
+    <p>Her sankon için bazı değerler öntanımlı olarak atanır. Bunların
+      başlıcaları:</p>
+
+    <ol>
+      <li>Sankon bir <directive module="core">ServerAdmin</directive>
+        yönergesi içermiyorsa,
+        <directive module="core">ResourceConfig</directive>,
+        <directive module="core">AccessConfig</directive>,
+        <directive module="core">Timeout</directive>,
+        <directive module="core">KeepAliveTimeout</directive>,
+        <directive module="core">KeepAlive</directive>,
+        <directive module="core">MaxKeepAliveRequests</directive>,
+        <directive module="core">ReceiveBufferSize</directive> ve
+        <directive module="core">SendBufferSize</directive> yönergeleri için
+        öntanımlı değerler ana_sunucudaki eşdeğerlerinden miras alınır. (Yani,
+        bu yönergeler için ana_sunucudaki son değerler miras alınır.)</li>
+
+      <li>Sankon için öntanımlı dizin erişim izinlerinin tanımlandığı "arama
+        öntanımlıları" ana_sunucununkilere katılır. Buna her modülün dizinlere
+        özgü yapılandırma bilgileri dahildir.</li>
+
+      <li>Her modülün ana_sunucudaki sunuculara özgü yapılandırmaları sankon
+        sunucusununkilerle katıştırılır.</li>
+    </ol>
+
+    <p>Esasen, ana_sunucu, sankon sunucularını oluştururken bir öntanımlılar
+      listesi veya öntanımlı değerlere dayanak noktası olarak ele alınır.
+      Fakat bu ana_sunucu tanımlarının yapılandırma dosyasındaki yerlerinin
+      saptanmasının konumuzla ilgisi yoktur; ana_sunucu yapılandırmasının
+      tamamı son katıştırma yapılacağı zaman çözümlenir. Bu bakımdan,
+      ana_sunucu tanımlarından bir kısmı sankon tanımlarından sonra yer alsa
+      bile sankon tanımlarında etkili olabilir.</p>
+
+    <p>Eğer, bu noktada ana_sunucu hiçbir <code>ServerName</code> satırı
+      içermiyorsa <program>httpd</program> programının çalıştığı makinenin
+      konak ismi öntanımlıdır. Ana_sunucunun <code>ServerName</code> için
+      yaptığı DNS sorgusundan dönen IP adreslerine <em>ana_sunucu adres
+      kümesi</em> diyoruz.</p>
+
+    <p>Tanımsız <code>ServerName</code> alanları için bir isme dayalı sankon,
+      sankonu tanımlayan <code>VirtualHost</code> yönergesinde belirtilen ilk
+      adresi öntanımlı değer kabul eder.</p>
+
+    <p>Sihirli <code>_default_</code> sankonları için ana_sunucunun
+      <code>ServerName</code> değeri kullanılır.</p>
+
+</section>
+
+<section id="hostmatching"><title>Sanal Konağın Belirlenmesi</title>
+
+    <p>Sunucu bir istek durumunda hangi sankonun kullanılacağını şöyle
+      belirler:</p>
+
+    <section id="hashtable"><title>Değer çiftleri tablosu aranır</title>
+
+    <p>Bir istemci tarafından bağlantı ilk yapıldığında önce IP-isim çiftleri
+      tablosunda istemcinin bağlandığı IP adresi için bir arama yapılır.</p>
+
+    <p>Arama başarısız olursa (IP adresi yoksa) hizmet, istekte belirtilen
+      port için bir <code>_default_</code> sankon varsa, o sankondan, yoksa
+      ana_sunucudan sunulur.</p>
+
+    <p>Eğer çiftler tablosunda IP adresi yoksa port numarası ile eşleştirme
+      çabası ayrıca, diğer isme dayalı sanal konaklardaki gibi ard arda ele
+      alınmayı gerektiren <code>NameVirtualHost *</code> durumundaki bir
+      girdiyle sonuçlanabilir.</p>
+
+    <p>Arama sonucunda tabloda IP adresi bulunursa sonraki adım hizmetin bir
+      IP’ye dayalı sankondan mı yoksa isme dayalı bir sankondan mı
+      sunulacağına karar vermektir.</p>
+
+    </section>
+
+    <section id="ipbased"><title>IP’ye dayalı sankon</title>
+
+    <p>Eğer tabloda bulduğumuz girdinin isim alanları boşsa bir IP’ye dayalı
+      sanal konak bulmuşuz demektir. Artık karar vermek için başka bir şey
+      yapmaya gerek yoktur ve istek bu sankondan sunulur.</p>
+
+    </section>
+
+    <section id="namebased"><title>İsme dayalı sankon</title>
+
+    <p>Tabloda bulduğumuz girdi için bir isim listesi varsa bir isme dayalı
+      sankon sözkonusudur. Bu isim listesi, sankonları, ilgili
+      <code>VirtualHost</code> bölümlerinin yapılandırma dosyasında yer alış
+      sırasına göre içerir.</p>
+
+    <p>Bu listedeki ilk sankon (yapılandırma dosyasında belirtilen IP adresine
+      sahip ilk sankon) en yüksek önceliğe sahiptir ve sunucu ismi
+      belirtilmeyen veya <code>Host:</code> başlık alanı olmayan istekleri bu
+      sankon karşılar.</p>
+
+    <p>Eğer istemci bir <code>Host:</code> başlık alanı ile istek yapmışsa
+      liste bu sankon için aranır ve hizmet <code>ServerName</code> veya
+      <code>ServerAlias</code> ile ilk eşleşmenin sağlandığı sankondan
+      sunulur. <code>Host:</code> alanında bir port belirtilebilirse de Apache
+      daima istemcinin isteği gönderdiği portu gerçek port kabul eder.</p>
+
+    <p>Eğer istemci <code>Host:</code> başlık alanı bulunmayan bir HTTP/1.0
+      isteği yapmışsa istemcinin hangi sankona bağlanmayı denediğini bilemeyiz
+      ve istekteki URI ile mevcut <code>ServerPath</code> değerini
+      eşleştirmeye çalışırız. Listedekilerden ilk eşleşen yola sahip sankondan
+      hizmeti sunarız.</p>
+
+    <p>İstekle eşleşen bir sankon bulunamazsa IP listesinde istemcinin
+      bağlandığı portla eşleşen ilk sankondan hizmeti sunarız.</p>
+
+    </section>
+
+    <section id="persistent"><title>Kalıcı bağlantılar</title>
+
+    <p>Yukarıda açıklanan IP araması belli bir TCP/IP oturumunda bir defaya
+      mahsus yapıldığı halde bir kalıcı/KeepAlive bağlantı sırasında her istek
+      için ayrı bir arama yapılır. Başka bir deyişle, bir istemci tek bir
+      kalıcı bağlantı üzerinde farklı isme dayalı sankonlardan sayfa talebinde
+      bulunabilir.</p>
+
+    </section>
+
+    <section id="absoluteURI"><title>Mutlak URI</title>
+
+    <p>Eğer istekte belirtilen URI bir mutlak URI ise ve istek yapılan konak
+      ismi ve port ana sunucuyla veya sankonlardan biriyle eşleşiyorsa,
+      şema/konakadı/port öneki ayrılır ve elde edilen göreli URI ilgili
+      sankondan veya ana sunucudan sunulur. Eğer bir eşleşme sağlanamazsa
+      URI’ye dokunulmaz ve istek bir vekil isteği olarak ele alınır.</p>
+</section>
+
+<section id="observations"><title>İzlenimler</title>
+
+    <ul>
+      <li>Bir isme dayalı sankon asla bir IP’ye dayalı sankon ile (veya tersi)
+        etkileşime girmez. IP’ye dayalı sankonlara sadece kendi adres
+        kümesindeki bir IP adresi üzerinden erişilebilir, asla başka bir
+        adresten erişilemez. Aynısı isme dayalı sankonlara da uygulanır;
+        onlara sadece bir <code>NameVirtualHost</code> yönergesi ile
+        tanımlanmış adres kümesindeki bir IP adresi üzerinden
+        erişilebilir.</li>
+
+      <li>Bir IP’ye dayalı sankon için asla <code>ServerAlias</code> ve
+        <code>ServerPath</code> değerine bakılmaz.</li>
+
+      <li>Yapılandırma dosyası içinde isme/IP’ye dayalı ve
+        <code>_default_</code> sankonlar ile <code>NameVirtualHost</code>
+        yönergelerinin yer alış sırasının birbirlerine göre bir önemi yoktur.
+        Sıralama sadece aynı IP adresine sahip isme dayalı sankonlar arasında
+        önemlidir. Aynı adres kümesine mensup isme dayalı sankonlardan
+        yapılandırma dosyasında ilk sırada yer alanı en yüksek önceliğe
+        sahiptir.</li>
+
+      <li>Güvenlik saikiyle, eşleştirme işlemi sırasında <code>Host:</code>
+        başlık alanında belirtilen port asla kullanılmaz. Apache daima
+        istemcinin bağlantı kurduğu gerçek portu kullanır.</li>
+
+      <li>Değeri başka bir <code>ServerPath</code> yönergesinin değeri için
+        önek olan bir <code>ServerPath</code> yönergesi yapılandırma
+        dosyasında daha önce yer alıyorsa sonrakiyle eşleşme asla
+        gerçekleşmez. (Bu belirsizliği giderecek bir <code>Host:</code> başlık
+        alanının mümkün olmadığı varsayılır.)</li>
+
+      <li>Eğer tek bir IP adresine sahip IP’ye dayalı iki sankon varsa eşleşme
+        daima yapılandırma dosyasında ilk yer alanla gerçekleşir. Böyle bir
+        şey kasten yapılmaz. Sunucu böyle bir durumu saptadığında hata
+        günlüğünde bir uyarı verecektir.</li>
+
+      <li>Bir <code>_default_</code> sankon sadece istekle eşleşen bir IP
+        adresi bulunamadığında port numarası eşleştiği takdirde isteğe hizmet
+        sunabilir. Port düzeyinde eşleşmenin olabilmesi için isteğin geldiği
+        port ile sankon için belirtilen port eşleşmelidir. Olası tüm portlarla
+        eşleşmeyi sağlamak üzere yıldız imi (<code>_default_:*</code>
+        şeklinde) kullanılabilir. Aynı şey <code>NameVirtualHost *</code>
+        sankonlarına da uygulanır.</li>
+
+      <li>Ana_sunucunun bir isteğe hizmet sunabilmesi için istemcinin
+        bağlandığı IP adresi ve port hiçbir yerde belirtilmemiş ve
+        <code>_default_</code> dahil hiçbir sankon ile eşleşme sağlanamamış
+        olmalıdır. Başka bir deyişle, istemcinin bağlandığı port ile eşleşen
+        bir <code>_default_</code> sankon olmadıkça adres ve port belirtmeyen
+        bir isteğe ana_sunucu yanıt verecektir.</li>
+
+      <li><code>Host:</code> başlık alanı içermeyen veya hedefi bilinmeyen bir
+        istek geldiği takdirde, eğer bu istemcinin bağlandığı adres ve port
+        için (örneğin, <code>NameVirtualHost</code> ile) tanımlanmış bir isme
+        dayalı sankon varsa bu isteğe ne ana_sunucu ne de bir
+        <code>_default_</code> sankon hizmet sunabilir.</li>
+
+      <li><code>VirtualHost</code> yönergelerinde asla DNS isimleri
+        belirtmemelisiniz. Aksi takdirde sunucuyu başlatma sırasında DNS
+        sorgusu yapmaya zorlamış olursunuz. Listelenen tüm alanlar için DNS
+        üzerinde tam denetime sahip değilseniz bu ayrıca bir güvenlik
+        tehdidine yol açar. Bu konuda daha ayrıntılı bilgi edinmek için <a
+        href="../dns-caveats.html">DNS ile ilgili konular ve Apache</a>
+        belgesine bakınız.</li>
+
+      <li><code>ServerName</code> her sankon için ayrı ayrı belirlenmiş
+        olmalıdır. Aksi takdirde her sankon için bir DNS sorgusu gerekir.</li>
+      </ul>
+      </section>
+
+</section>
+
+<section id="tips"><title>İpuçları</title>
+
+    <p><a href="../dns-caveats.html#tips">DNS konuları</a> sayfasındaki
+      ipuçlarına ilaveten burada da bazı ipuçları bulacaksınız:</p>
+
+    <ul>
+      <li>Ana_sunucu tanımlarının hepsini <code>VirtualHost</code>
+        tanımlarının öncesinde bitirin. Bu ayrıca yapılandırmanızın
+        okunabilirliğini de arttırır; <code>VirtualHost</code> tanımlarının
+        sonrasına sarkan yapılandırmaların katıştırılması işlemi tüm sanal
+        konakları etkileyebilen tanımlar bakımından bir
+        karışıklığa/belirsizliğe sebep olabilir.)</li>
+
+      <li>Birbirleriyle ilgili <code>NameVirtualHost</code> ve
+        <code>VirtualHost</code> tanımlarını okunabilirliği arttırmak için
+        gruplayın.</li>
+
+      <li>Değeri başka bir <code>ServerPath</code> için önek olan tanımlamalar
+        yapmaktan kaçının. Bundan kaçınamıyorsanız, yolu uzun olanı yolu kısa
+        olanın öncesine yerleştirin. Örneğin, "ServerPath /abc/def" önce
+        "ServerPath /abc" sonra yer alsın.</li>
+    </ul>
+
+</section>
+</manualpage>
+

Propchange: httpd/httpd/trunk/docs/manual/vhosts/details.xml.tr
------------------------------------------------------------------------------
    svn:eol-style = native

Added: httpd/httpd/trunk/docs/manual/vhosts/examples.xml.tr
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/vhosts/examples.xml.tr?rev=668072&view=auto
==============================================================================
--- httpd/httpd/trunk/docs/manual/vhosts/examples.xml.tr (added)
+++ httpd/httpd/trunk/docs/manual/vhosts/examples.xml.tr [utf-8] Mon Jun 16 01:46:35 2008
@@ -0,0 +1,627 @@
+<?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: 659902 -->
+<!-- =====================================================
+ 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 sanal konaklarla 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 />
+    # Sanal konak istekleri için bütün IP adresleri dinlensin.<br />
+    NameVirtualHost *:80<br />
+    <br />
+    &lt;VirtualHost *:80&gt;<br />
+    <indent>
+      DocumentRoot /siteler/mesela<br />
+      ServerName mesela.dom<br />
+      <br />
+      # Diğer yönergeler, burada ...<br />
+      <br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost *:80&gt;<br />
+    <indent>
+      DocumentRoot /siteler/faraza<br />
+      ServerName faraza.dom<br />
+      <br />
+      # Diğer yönergeler, burada ...<br />
+      <br />
+    </indent>
+    &lt;/VirtualHost&gt;
+    </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. <code>mesela.dom</code> yapılandırma
+      dosyasındaki 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>İsterseniz, <code>*</code> yerine kendi IP adresinizi yazabilirsiniz.
+        Ancak bu durumda bunu hem <code>VirtualHost</code> hem de
+        <code>NameVirtualHost</code> için yapmalısınız:</p>
+
+      <example>
+      NameVirtualHost 192.168.1.22<br />
+      <br />
+      &lt;VirtualHost 192.168.1.22&gt;<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 />
+    # Burası da diğer adres için<br />
+    NameVirtualHost 192.168.2.2<br />
+    <br />
+    &lt;VirtualHost 192.168.2.2&gt;<br />
+    <indent>
+        DocumentRoot /siteler/mesela<br />
+        ServerName mesela.dom<br />
+        <br />
+        # Diğer yönergeler, burada ...<br />
+        <br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost 192.168.2.2&gt;<br />
+    <indent>
+        DocumentRoot /siteler/falanca<br />
+        ServerName falanca.dom<br />
+        <br />
+        # Diğer yönergeler, burada ...<br />
+        <br />
+    </indent>
+    &lt;/VirtualHost&gt;
+    </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>
+
+    NameVirtualHost 192.168.1.1<br />
+    NameVirtualHost 172.20.30.40<br />
+    <br />
+    &lt;VirtualHost 192.168.1.1 172.20.30.40&gt;<br />
+    <indent>
+        DocumentRoot /siteler/sunucu<br />
+        ServerName sunucu.mesela.dom<br />
+        ServerAlias sunucu<br />
+    </indent>
+    &lt;/VirtualHost&gt;
+    </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. <directive module="core">NameVirtualHost</directive>
+      yönergesi ile port tanımlamak suretiyle bunu mümkün kılabilirsiniz.
+      <code>NameVirtualHost&nbsp;<em>isim:port</em></code> tanımı yapmadan
+      veya bunun yerine <directive module="mpm_common">Listen</directive>
+      kullanarak <code>VirtualHost&nbsp;<em>isim:port</em></code> kullanmaya
+      kalkışırsanız, yapılandırmanız çalışmayacaktır.</p>
+
+    <example><title>Sunucu yapılandırması</title>
+
+    Listen 80<br />
+    Listen 8080<br />
+    <br />
+    NameVirtualHost 172.20.30.40:80<br />
+    NameVirtualHost 172.20.30.40:8080<br />
+    <br />
+    &lt;VirtualHost 172.20.30.40:80&gt;<br />
+    <indent>
+        ServerName mesela.dom<br />
+        DocumentRoot /siteler/mesela-80<br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost 172.20.30.40:8080&gt;<br />
+    <indent>
+        ServerName mesela.dom<br />
+        DocumentRoot /siteler/mesela-8080<br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost 172.20.30.40:80&gt;<br />
+    <indent>
+        ServerName faraza.dom<br />
+        DocumentRoot /siteler/faraza-80<br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost 172.20.30.40:8080&gt;<br />
+    <indent>
+        ServerName faraza.dom<br />
+        DocumentRoot /siteler/faraza-8080<br />
+    </indent>
+    &lt;/VirtualHost&gt;
+    </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 />
+    &lt;VirtualHost 172.20.30.40&gt;<br />
+    <indent>
+        DocumentRoot /siteler/mesela<br />
+        ServerName mesela.dom<br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost 172.20.30.50&gt;<br />
+    <indent>
+        DocumentRoot /siteler/faraza<br />
+        ServerName faraza.dom<br />
+    </indent>
+    &lt;/VirtualHost&gt;
+    </example>
+
+    <p><code>&lt;VirtualHost&gt;</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 />
+    &lt;VirtualHost 172.20.30.40:80&gt;<br />
+    <indent>
+        DocumentRoot /siteler/mesela-80<br />
+        ServerName mesela.dom<br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost 172.20.30.40:8080&gt;<br />
+    <indent>
+        DocumentRoot /siteler/mesela-8080<br />
+        ServerName mesela.dom<br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost 172.20.30.50:80&gt;<br />
+    <indent>
+        DocumentRoot /siteler/faraza-80<br />
+        ServerName faraza.dom<br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost 172.20.30.50:8080&gt;<br />
+    <indent>
+        DocumentRoot /siteler/faraza-8080<br />
+        ServerName faraza.dom<br />
+    </indent>
+    &lt;/VirtualHost&gt;
+    </example>
+
+  </section>
+
+  <section id="mixed">
+    <title>Hem isme hem de IP‘ye dayalı sanal konaklar</title>
+
+    <p>Bazı adreslerde isme dayalı, bazılarında da IP’ye dayalı sanal konaklar
+      çalışsın istersek...</p>
+
+    <example><title>Sunucu yapılandırması</title>
+
+    Listen 80<br />
+    <br />
+    NameVirtualHost 172.20.30.40<br />
+    <br />
+    &lt;VirtualHost 172.20.30.40&gt;<br />
+    <indent>
+        DocumentRoot /siteler/mesela<br />
+        ServerName mesela.dom<br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost 172.20.30.40&gt;<br />
+    <indent>
+        DocumentRoot /siteler/faraza<br />
+        ServerName faraza.dom<br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost 172.20.30.40&gt;<br />
+    <indent>
+        DocumentRoot /siteler/falanca<br />
+        ServerName falanca.dom<br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    # IP-based<br />
+    &lt;VirtualHost 172.20.30.50&gt;<br />
+    <indent>
+        DocumentRoot /siteler/filanca<br />
+        ServerName filanca.dom<br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost 172.20.30.60&gt;<br />
+    <indent>
+        DocumentRoot /siteler/fesmekan<br />
+        ServerName fesmekan.dom<br />
+    </indent>
+    &lt;/VirtualHost&gt;
+    </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>
+    &lt;VirtualHost *:*&gt;<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>
+    &lt;/VirtualHost&gt;
+    </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>
+
+    &lt;VirtualHost _default_:*&gt;<br />
+    <indent>
+        DocumentRoot /siteler/default<br />
+    </indent>
+    &lt;/VirtualHost&gt;
+    </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>
+
+    &lt;VirtualHost _default_:80&gt;<br />
+    <indent>
+        DocumentRoot /siteler/default80<br />
+        # ...<br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost _default_:*&gt;<br />
+    <indent>
+        DocumentRoot /siteler/default<br />
+        # ...<br />
+    </indent>
+    &lt;/VirtualHost&gt;
+    </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>
+
+    &lt;VirtualHost _default_:80&gt;<br />
+    DocumentRoot /siteler/default<br />
+    ...<br />
+    &lt;/VirtualHost&gt;
+    </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>
+    </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 />
+    &lt;VirtualHost 192.168.1.2&gt;<br />
+    <br />
+    &lt;VirtualHost 192.168.1.2 192.168.2.2&gt;<br />
+    <indent>
+        DocumentRoot /siteler/falanca<br />
+        ServerName falanca.dom<br />
+        # ...<br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost 192.168.1.2&gt;<br />
+    <indent>
+        DocumentRoot /siteler/faraza<br />
+        ServerName faraza.dom<br />
+        ServerAlias *.faraza.dom<br />
+        # ...<br />
+    </indent>
+    &lt;/VirtualHost&gt;
+    </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>
+
+    NameVirtualHost 172.20.30.40<br />
+    <br />
+    &lt;VirtualHost 172.20.30.40&gt;<br />
+    <indent>
+        # ilk sanal konak<br />
+        DocumentRoot /siteler/baska<br />
+        RewriteEngine On<br />
+        RewriteRule ^/.* /siteler/baska/index.html<br />
+        # ...<br />
+    </indent>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost 172.20.30.40&gt;<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>
+    &lt;/VirtualHost&gt;<br />
+    <br />
+    &lt;VirtualHost 172.20.30.40&gt;<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>
+    &lt;/VirtualHost&gt;
+    </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>

Propchange: httpd/httpd/trunk/docs/manual/vhosts/examples.xml.tr
------------------------------------------------------------------------------
    svn:eol-style = native

Added: httpd/httpd/trunk/docs/manual/vhosts/fd-limits.xml.tr
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/vhosts/fd-limits.xml.tr?rev=668072&view=auto
==============================================================================
--- httpd/httpd/trunk/docs/manual/vhosts/fd-limits.xml.tr (added)
+++ httpd/httpd/trunk/docs/manual/vhosts/fd-limits.xml.tr [utf-8] Mon Jun 16 01:46:35 2008
@@ -0,0 +1,123 @@
+<?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: 659902 -->
+<!-- =====================================================
+ 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="fd-limits.xml.meta">
+<parentdocument href="./">Sanal Konaklar</parentdocument>
+  <title>Dosya Tanıtıcı Sınırları</title>
+
+<summary>
+
+    <p>Çok büyük sayıda sanal konak kullanıyorsanız ve bunların her biri için
+      ayrı günlük kayıtları tutuyorsanız, Apache dosya tanıtıcılarını
+      tüketebilir. Apache tarafından, dahili olarak 10-20 dosya tanıtıcıya ek
+      olarak her hata günlüğü için bir ve her diğer günlük kaydı için bir dosya
+      tanıcı kullanılır. Unix işletim sisteminde dosya tanıtıcıların sayısı
+      süreç başına 64 taneyle sınırlıdır ve gerekirse donanıma bağlı olarak
+      arttırılabilir.</p>
+
+    <p>Apache gerektiğinde bu sınırı kendisi arttırmaya çalışırsa da bu her
+      zaman mümkün olmaz. Şöyle ki:</p>
+
+    <ol>
+      <li>Sisteminiz <code>setrlimit()</code> sistem çağrısını
+        sağlamıyordur.</li>
+
+      <li>Sisteminizde <code>setrlimit(RLIMIT_NOFILE)</code> çağrısı hiçbir işe
+        yaramıyordur (örneğin, Solaris 2.3).</li>
+
+      <li>Dosya tanıtıcılarının sayısı donanıma bağlı olarak daha fazla
+        arttırılamıyordur.</li>
+
+      <li>Sisteminiz dosya tanıtıcı sayısını başka sınırlara bağlı kılmıştır:
+        örneğin stdio akımları ile ilgili sınır, dosya tanıtıcı sayısının
+        256’nın altında ollmasını gerektiriyordur (Solaris 2).</li>
+    </ol>
+
+    <p>Böyle sorunlar karşısında yapabilecekleriniz:</p>
+
+    <ul><li>Ana günlük dosyaları hariç, <directive type="section"
+      module="core">VirtualHost</directive> bölümlerinde günlük dosyası
+      belirtmeyerek günlük dosyası sayısını düşürürsünüz. (Bunun nasıl
+      yapılacağını öğrenmek için <a href="#splitlogs">Günlük kayıtlarının
+      ayrıştırılması</a> bölümüne bakınız.)</li>
+
+      <li>Sisteminizde serbest dosya tanıtıcı sayısı 1-2 civarına düşerse
+        Apache’yi aşağıdaki gibi bir betikle yeniden çalıştırarak dosya
+        tanıtıcı sayısını arttırabilirsiniz:
+
+        <example>
+          <code>#!/bin/sh<br />
+           ulimit -S -n 100<br />
+           exec httpd</code>
+        </example>
+      </li>
+    </ul>
+
+</summary>
+
+<section id="splitlogs"><title>Günlük kayıtlarının ayrıştırılması</title>
+
+    <p>Günlük dosyalarını çok sayıda sanal konak için ortak olarak
+      kullanıyorsanız, sanal konaklar için istatistiksel çözümlemeler yapmak
+      amacıyla sırası geldiğinde bunları ayrıştırabilirsiniz. Bu işlem aşağıda
+      anlatıldığı gibi yapılabilir.</p>
+
+    <p>İlk iş olarak, sanal konak bilgilerini günlük girdilerine eklemeniz
+      gerekir. Bu işlem, <directive
+      module="mod_log_config">LogFormat</directive> yönergesi ve
+      <code>%v</code> biçem değişkeni ile yapılabilir. Günlük girdisi biçem
+      dizgesinin başına bunu ekleyiniz:</p>
+
+    <example>
+    LogFormat "%v %h %l %u %t \"%r\" %&gt;s %b" vhost<br />
+    CustomLog logs/multiple_vhost_log vhost
+    </example>
+
+    <p>Bu yapılandırma ile her günlük kaydının başında sanal konağın
+      <directive module="core">ServerName</directive> yönergesine belirtilen
+      ismi eklenir. (Günlük dosyalarınızın kişiselleştirilmesi ile ilgili daha
+      fazla bilgi için <a href="../mod/mod_log_config.html#formats">Günlük
+      Girdilerinin Kişiselleştirilmesi</a> konusuna bakınız.)</p>
+
+    <p>Günlük dosyanızdaki kayıtları bileşenlere göre gruplamak isterseniz
+      <code><a href="../programs/other.html">split-logfile</a></code>
+      programını kullanabilirsiniz. Bu programı Apache dağıtımının
+      <code>support</code> dizininde bulabilirsiniz.</p>
+
+    <p>Programı aşağıdaki gibi çalıştırın:</p>
+
+    <example>
+    split-logfile &lt; /logs/multiple_vhost_log
+    </example>
+
+    <p>Bu programı sanal konaklar için tuttuğunuz günlük dosyasının ismini
+      argüman olarak belirterek çalıştırdığınızda o dosyadaki kayıtlardan her
+      sanal konak için ayrı bir günlük dosyası
+      (<code><em>konakadı</em>.log</code>) üretilir.</p>
+
+</section>
+</manualpage>
+

Propchange: httpd/httpd/trunk/docs/manual/vhosts/fd-limits.xml.tr
------------------------------------------------------------------------------
    svn:eol-style = native

Added: httpd/httpd/trunk/docs/manual/vhosts/mass.xml.tr
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/docs/manual/vhosts/mass.xml.tr?rev=668072&view=auto
==============================================================================
--- httpd/httpd/trunk/docs/manual/vhosts/mass.xml.tr (added)
+++ httpd/httpd/trunk/docs/manual/vhosts/mass.xml.tr [utf-8] Mon Jun 16 01:46:35 2008
@@ -0,0 +1,405 @@
+<?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: 659902 -->
+<!-- =====================================================
+ 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="mass.xml.meta">
+<parentdocument href="./">Sanal Konaklar</parentdocument>
+   <title>Devingen olarak Yapılandırılan Kitlesel Sanal Barındırma</title>
+
+<summary>
+
+    <p>Bu belgede sanal konakların sonu belirsiz bir şekilde artışı karşısında
+      Apache httpd sunucusunun nasıl daha verimli kullanılacağı açıklanmıştır.
+    </p>
+
+</summary>
+
+<section id="motivation"><title>Amaç</title>
+
+    <p>Burada açıklanan teknikler, <code>httpd.conf</code> dosyanızın
+      örnekteki gibi, aslında hemen hemen birbirinin aynı çok sayıda
+      <code>&lt;VirtualHost&gt;</code> bölümü içereceği zaman yapılacaklar ile
+      ilgilidir.</p>
+
+<example>
+NameVirtualHost 111.22.33.44<br />
+&lt;VirtualHost 111.22.33.44&gt;<br />
+<indent>
+    ServerName                 musteri-1.dom<br />
+    DocumentRoot        /siteler/musteri-1.dom/belgeler<br />
+    ScriptAlias  /cgi-bin/  /siteler/musteri-1.dom/cgi-bin<br />
+</indent>
+&lt;/VirtualHost&gt;<br />
+&lt;VirtualHost 111.22.33.44&gt;<br />
+<indent>
+    ServerName                 musteri-2.dom<br />
+    DocumentRoot        /siteler/musteri-2.dom/belgeler<br />
+    ScriptAlias  /cgi-bin/  /siteler/musteri-2.dom/cgi-bin<br />
+</indent>
+&lt;/VirtualHost&gt;<br />
+# blah blah blah<br />
+&lt;VirtualHost 111.22.33.44&gt;<br />
+<indent>
+    ServerName                 musteri-N.dom<br />
+    DocumentRoot        /siteler/musteri-N.dom/belgeler<br />
+    ScriptAlias  /cgi-bin/  /siteler/musteri-N.dom/cgi-bin<br />
+</indent>
+&lt;/VirtualHost&gt;
+</example>
+
+    <p>Ana fikir, tüm durağan <code>&lt;VirtualHost&gt;</code>
+      yapılandırmalarını devingen olarak çalışan tek bir
+      <code>&lt;VirtualHost&gt;</code> bölümüyle değiştirmektir. Bunun elbette
+      bazı getirileri olacaktır:</p>
+
+    <ol>
+      <li>Yapılandırma dosyanız küçüleceği için Apache daha çabuk
+        başlatılabilecek ve daha az bellek harcayacaktır.</li>
+
+      <li>Yeni sanal konakların eklenmesi, DNS’de yeni girdiler oluşturmak ve
+        dosya sisteminde bununla ilgili dizinleri açmak dışında biraz daha
+        basit olacaktır; en azından Apache’yi yeniden yapılandırmak ve yeniden
+        başlatmak zorunda kalmayacaksınız.</li>
+    </ol>
+
+    <p>Ana götürüsü ise her sanal konak için ayrı birer günlük dosyasına sahip
+      olamayacak olmanızdır. Öte yandan, dosya tanıtıcılarının sınırlı olması
+      nedeniyle bunu yapmayı zaten istemezsiniz. Günlük kayıtları için bir
+      fifo veya bir boru hattı oluşturmak ve diğer uçta çalışan bir süreç
+      vasıtasıyla günlükleri müşterilere paylaştırmak daha iyidir (ayrıca, bu,
+      istatistikleri toplamanızı da kolaylaştırır).</p>
+
+</section>
+
+<section id="overview"><title>Genel Bakış</title>
+
+    <p>Bir sanal konak iki bilgiye bakarak belirlenir: IP adresi ve HTTP
+      isteğindeki <code>Host:</code> başlığının içeriği. Devingen sanal
+      barındırma tekniği, isteği yerine getirmek için kullanılacak dosya
+      yoluna bu bilgiyi kendiliğinden girmek esasına dayanır. Bu, Apache 2.0
+      ile <module>mod_vhost_alias</module> kullanarak oldukça kolay
+      yapılabileceği gibi <module>mod_rewrite</module> da kullanılabilir. Bu
+      modüllerin her ikisi de öntanımlı olarak devre dışıdır. Bu tekniği
+      kullanmak isterseniz  Apache’yi yeniden yapılandırıp derleyerek bu iki
+      modülü etkin duruma getirmeniz gerekir.</p>
+
+    <p>Devingen sanal konağı normal bir sanal konak gibi göstermek için bazı
+      şeyleri ’göstermelik’ olarak yapmak gerekir. Bunlardan en önemlisi,
+      Apache tarafından göreli URL’lerden normal URL’leri ve benzerlerini
+      üretmek için kullanılan sunucu ismidir. Sunucu ismi
+      <code>ServerName</code> yönergesi ile yapılandırılır ve CGI’ler
+      tarafından <code>SERVER_NAME</code> ortam değişkeni üzerinden
+      kullanılır. Çalışma anındaki asıl değer <directive module="core"
+      >UseCanonicalName</directive> yönergesi tarafından denetlenir.
+      <code>UseCanonicalName Off</code> olduğunda sunucu ismi isteğin
+      <code>Host:</code> başlık alanından elde edilir. <code>UseCanonicalName
+      DNS</code> belirtilmişse, sunucu ismi, sanal konağın IP adresinden
+      tersine DNS sorgusu yapılarak elde edilir. Birincisi isme dayalı sanal
+      konaklar tarafından ikincisi ise IP’ye dayalı sanal konaklar tarafından
+      kullanılır. Eğer Apache, istekte <code>Host:</code> başlığının olmayışı
+      veya DNS sorgusunun başarısız olması sebebiyle sunucu ismini elde
+      edemezse son çare olarak <code>ServerName</code> yönergesinde yazılı
+      değeri kullanır.</p>
+
+    <p>‘Göstermelik’ yapılan şeylerden biri de <code>DocumentRoot</code>
+      yönergesi ile yapılandırılan belge kök dizini olup CGI’ler tarafından
+      <code>DOCUMENT_ROOT</code> ortam değişkeni üzerinden kullanılır. Normal
+      yapılandırmada <module>core</module> modülü tarafından dosya isimlerini
+      URI’lere eşlerken kullanılır. Fakat sunucu devingen sanal konakları
+      kullanmak üzere yapılandırıldığında, eşleştirmeyi farklı yollardan yapan
+      başka bir modül devreye girer (<code>mod_vhost_alias</code> veya
+      <code>mod_rewrite</code>). <code>DOCUMENT_ROOT</code> ortam değişkenine
+      değerini atamaktan sorumlu olan bu iki modülden biri kullanılmazsa CGI
+      veya SSI belgeleri yanlış değerlerle üretilirler.</p>
+
+</section>
+
+<section id="simple"><title>Basit Devingen Sanal Konaklar</title>
+
+    <p>Yukarıda <a href="#motivation">Amaç</a> bölümünde özetlenen sanal konak
+      düzenlemesinin <code>mod_vhost_alias</code> kullanarak daha soysal bir
+      tarzda gerçekleştirilmiş halini içeren <code>httpd.conf</code> bölümü
+      aşağıdadır.</p>
+
+<example>
+# sunucu ismini Host: başlığından elde edelim<br />
+UseCanonicalName Off<br />
+<br />
+# Bu günlükleme biçiminde ilk alana bakarak<br />
+# sanal konak günlükleri ayrıştırılabilir<br />
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br />
+CustomLog logs/access_log vcommon<br />
+<br />
+# istekleri yerine getirmek için kullanılacak<br />
+# dosya isimlerine sunucu ismini ekleyelim<br />
+VirtualDocumentRoot /siteler/%0/belgeler<br />
+VirtualScriptAlias  /siteler/%0/cgi-bin
+</example>
+
+    <p>Bu yapılandırmayı IP’ye dayalı sanal konaklar için kullanmak isterseniz
+      <code>UseCanonicalName Off</code> yerine <code>UseCanonicalName
+      DNS</code> yazmanız yeterlidir. Böylece dosya ismine eklenecek konak
+      ismi sanal konağın IP adresinden türetilir.</p>
+
+</section>
+
+<section id="homepages"><title>Sanal Kişisel Sayfalar Sistemi</title>
+
+    <p>Bu sistem, yukarıdaki yapılandırmanın bir ISS’nin kişisel sayfalar
+      sunucusuna uyarlanmasından başka bir şey değildir. Biraz daha karmaşık
+      bir yapılandırma ile dosya isimlerine <code>/home/kullanıcı/</code>
+      dizinlerini ekleyebiliriz. Farklı olarak her sanal konak için bir tane
+      değil hepsi için bir tane <code>cgi-bin</code> olacaktır.</p>
+
+<example>
+# Son bölüm hariç yukarıdaki yapılandırma, burada...<br />
+<br />
+# sunucu ismine eklenecek dosya isimlerini oluşturalım<br />
+VirtualDocumentRoot /siteler/%2/belgeler<br />
+<br />
+# ortak cgi-bin dizini<br />
+ScriptAlias  /cgi-bin/  /siteler/std-cgi/<br />
+</example>
+
+    <p><module>mod_vhost_alias</module> belgesinde daha karmaşık
+      <code>VirtualDocumentRoot</code> örnekleri vardır.</p>
+
+</section>
+
+<section id="combinations"><title>Aynı Sunucuda Kişisel ve Kurumsal Sanal Konaklar</title>
+
+    <p>Daha karmaşık ayarlamalar yaparak Apache’inin normal
+      <code>&lt;VirtualHost&gt;</code> bölümlerini farklı kitlesel sanal konak
+      yapılandırmaları için kullanabilirsiniz. Örneğin, bireysel
+      müşterileriniz için bir IP adresiniz, kurumsal müşterileriniz için de
+      başka bir IP adresiniz olsun. Her biri için ayrı ayrı sanal konaklar
+      ayarlamak yerine aşağıdaki gibi bir yapılandırma kullanabilirsiniz:</p>
+
+<example>
+UseCanonicalName Off<br />
+<br />
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br />
+<br />
+&lt;Directory /siteler/kurumsal&gt;<br />
+<indent>
+    Options FollowSymLinks<br />
+    AllowOverride All<br />
+</indent>
+&lt;/Directory&gt;<br />
+<br />
+&lt;Directory /siteler/bireysel&gt;<br />
+<indent>
+    Options FollowSymLinks<br />
+    AllowOverride None<br />
+</indent>
+&lt;/Directory&gt;<br />
+<br />
+&lt;VirtualHost 111.22.33.44&gt;<br />
+<indent>
+    ServerName kurumsal.iss.dom<br />
+    <br />
+    CustomLog logs/access_log.kurumsal vcommon<br />
+    <br />
+    VirtualDocumentRoot /siteler/kurumsal/%0/belgeler<br />
+    VirtualScriptAlias  /siteler/kurumsal/%0/cgi-bin<br />
+</indent>
+&lt;/VirtualHost&gt;<br />
+<br />
+&lt;VirtualHost 111.22.33.45&gt;<br />
+<indent>
+    ServerName bireysel.iss.dom<br />
+    <br />
+    CustomLog logs/access_log.bireysel vcommon<br />
+    <br />
+    VirtualDocumentRoot /siteler/bireysel/%0/belgeler<br />
+    ScriptAlias         /cgi-bin/ /siteler/std-cgi/<br />
+</indent>
+&lt;/VirtualHost&gt;
+</example>
+
+    <note><title>Bilginize</title>
+      <p>Eğer ilk <code>&lt;VirtualHost&gt;</code> bölümü bir <directive
+        module="core">ServerName</directive> yönergesi içermezse ilgili IP
+        için ters DNS sorgusu yapılır. Eğer sorgudan elde edilen isim
+        sunucunun ismi değilse bu istenmeyen duruma bir çözüm olarak bir
+        bilgilendirme bölümü (<code>ServerName isimsiz.iss.dom</code>)
+        eklenebilir.</p>
+    </note>
+
+</section>
+
+<section id="ipbased"><title>IP’ye dayalı sanal konakları daha verimli kılmak</title>
+
+    <p><a href="#simple">İlk örnekte</a> IP’ye dayalı sanal konaklar için
+      kullanılmak istenirse yapılandırmada neyin nasıl değiştirileceği
+      belirtilmişti. Her istek için ayrı bir DNS sorgusu gerekeceğinden bu
+      başarım düşmesine yol açar. DNS sorgusu ihtiyacını ortadan kaldırmak
+      için, bir çözüm olarak dosya sistemi, konak isimleri yerine IP
+      adreslerine göre düzenlenebilir. Günlük kayıtları da IP adreslerine göre
+      ayrıştırılacak şekilde ayarlanabilir.</p>
+
+<example>
+# Sunucu ismini IP adresinden ters DNS sorgusu ile elde edelim<br />
+UseCanonicalName DNS<br />
+<br />
+# Günlük kayıtları IP adreslerine göre ayrıştırılabilsin<br />
+LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon<br />
+CustomLog logs/access_log vcommon<br />
+<br />
+# dosya isimleri IP adreslerini içersin<br />
+VirtualDocumentRootIP /siteler/%0/belgeler<br />
+VirtualScriptAliasIP  /siteler/%0/cgi-bin<br />
+</example>
+
+</section>
+
+<section id="simple.rewrite"><title><code>mod_rewrite</code> ile Kurumsal Müşteriler Sistemi</title>
+
+    <p>Buradaki <code>httpd.conf</code> bölümü de <a href="#simple">ilk
+      örnekteki</a> gibi elde edilmiştir. İlk yarı, bazı değişiklikler dışında
+      yukarıdaki örneğe çok benzer. Bu değişiklikler yapılandırmanın
+      <code>mod_rewrite</code> bölümünün düzgün çalışması ve geriye doğru
+      uyumluluk için gereklidir. İkinci yarı, asıl işi yapan
+      <code>mod_rewrite</code> yapılandırmasını içerir.</p>
+
+    <p>Biraz uzmanlık gerektiren bazı kısımlar var: Öntanımlı olarak
+      <code>mod_rewrite</code> diğer (<code>mod_alias</code>, vs. gibi) URI
+      dönüşüm modüllerinden önce çalışır. Dolayısıyla bu modülleri kullanmak
+      isterseniz, <code>mod_rewrite</code>’ı bunlara izin verecek şekilde
+      yapılandırmalısınız. Ayrıca her devingen sanal konağa eşdeğer bir
+      <code>ScriptAlias</code> yapmak için de biraz büyü yapmak gerekir.</p>
+
+<example>
+# Sunucu ismini Host: başlığınıdan alalım.<br />
+UseCanonicalName Off<br />
+<br />
+# Günlük dosyasından bilgileri ayıklayabilelim.<br />
+LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon<br />
+CustomLog logs/access_log vcommon<br />
+<br />
+&lt;Directory /siteler/hosts&gt;<br />
+<indent>
+    # ScriptAlias için yaptıklarımızla CGI betiklerini<br />
+    # çalışmaya zorlayamayacağımızdan ExecCGI burada gerekli.<br />
+    Options FollowSymLinks ExecCGI<br />
+</indent>
+&lt;/Directory&gt;<br />
+<br />
+# İşin zor yanına geldik.<br />
+<br />
+RewriteEngine On<br />
+<br />
+# Host: başlığından elde edilen sunucu isminde harf<br />
+# büyüklükleri çeşitli olabilir. Hepsini küçük harf yapalım.<br />
+RewriteMap  lowercase  int:tolower<br />
+<br />
+## önce normal belgelerle anlaşalım:<br />
+# Alias /icons/ çalışsın - diğer rumuzlar için yineleyelim<br />
+RewriteCond  %{REQUEST_URI}  !^/icons/<br />
+# CGI’ler de çalışsın.<br />
+RewriteCond  %{REQUEST_URI}  !^/cgi-bin/<br />
+# Biraz da büyü yapalım.<br />
+RewriteRule  ^/(.*)$  /siteler/${lowercase:%{SERVER_NAME}}/belgeler/$1<br />
+<br />
+## Artık CGI’lerle anlaşabiliriz. - Bir eylemci isteyelim.<br />
+RewriteCond  %{REQUEST_URI}  ^/cgi-bin/<br />
+RewriteRule  ^/(.*)$  /siteler/${lowercase:%{SERVER_NAME}}/cgi-bin/$1  [H=cgi-script]<br />
+<br />
+# Bu kadar!
+</example>
+
+</section>
+
+<section id="homepages.rewrite"><title><code>mod_rewrite</code> ile Kişisel Sayfalar Sistemi</title>
+
+    <p>Burada da <a href="#homepages">ikinci örnekte</a> yaptıklarımızı
+      yapıyoruz.</p>
+
+<example>
+RewriteEngine on<br />
+<br />
+RewriteMap   lowercase  int:tolower<br />
+<br />
+# CGI’ler çalışsın.<br />
+RewriteCond  %{REQUEST_URI}  !^/cgi-bin/<br />
+<br />
+# konak ismi doğru mu bakalım yoksa RewriteRule çalışmaz.<br />
+RewriteCond  ${lowercase:%{SERVER_NAME}}  ^www\.[a-z-]+\.isp\.dom$<br />
+<br />
+# URI’nin başına sanal konak ismini ekleyelim.<br />
+# [C], bunu bitirdikten sonra, sonraki rewrite ile devam et demek.<br />
+RewriteRule  ^(.+)  ${lowercase:%{SERVER_NAME}}$1  [C]<br />
+<br />
+# Artık asıl dosya ismini oluşturabiliriz.<br />
+RewriteRule  ^www\.([a-z-]+)\.isp\.dom/(.*) /home/$1/$2<br />
+<br />
+# Ortak CGI dizinini tanımlayalım.<br />
+ScriptAlias  /cgi-bin/  /siteler/std-cgi/
+</example>
+
+</section>
+
+<section id="xtra-conf"><title>Sanal konaklar için ayrı bir yapılandırma dosyası kullanmak</title>
+
+    <p>Burada, sanal konak isimlerinden belge kök dizini elde ederken
+      <module>mod_rewrite</module> modülünün daha gelişkin özelliklerinden
+      yararlanarak isimleri ayrı bir dosyadan okutacağız. Bu, esnekliği
+      artırır ama daha karmaşık bir yapılandırma gerekir.</p>
+
+    <p>Aşağıdaki içeriğe sahip bir <code>vhost.map</code>dosyamız olsun:</p>
+
+<example>
+musteri-1.dom  /siteler/kurumsal/1<br />
+musteri-2.dom  /siteler/kurumsal/2<br />
+# ...<br />
+musteri-N.dom  /siteler/kurumsal/N<br />
+</example>
+
+    <p><code>httpd.conf</code> dosyamız da şunları içerecektir:</p>
+
+<example>
+RewriteEngine on<br />
+<br />
+RewriteMap   lowercase  int:tolower<br />
+<br />
+# Eşlem dosyasını tanımlayalım<br />
+RewriteMap   vhost      txt:/siteler/conf/vhost.map<br />
+<br />
+# Rumuzları yukarıdaki gibi halledelim.<br />
+RewriteCond  %{REQUEST_URI}               !^/icons/<br />
+RewriteCond  %{REQUEST_URI}               !^/cgi-bin/<br />
+RewriteCond  ${lowercase:%{SERVER_NAME}}  ^(.+)$<br />
+# Eşlemeyi dosyalar için de yapalım.<br />
+RewriteCond  ${vhost:%1}                  ^(/.*)$<br />
+RewriteRule  ^/(.*)$                      %1/belgeler/$1<br />
+<br />
+RewriteCond  %{REQUEST_URI}               ^/cgi-bin/<br />
+RewriteCond  ${lowercase:%{SERVER_NAME}}  ^(.+)$<br />
+RewriteCond  ${vhost:%1}                  ^(/.*)$<br />
+RewriteRule  ^/(.*)$                      %1/cgi-bin/$1 [H=cgi-script]
+</example>
+
+</section>
+</manualpage>

Propchange: httpd/httpd/trunk/docs/manual/vhosts/mass.xml.tr
------------------------------------------------------------------------------
    svn:eol-style = native