<?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: 1662015 -->
<!-- =====================================================
 Translated by: Nilgün Belma Bugüner <nilgun belgeler.gen.tr>
   Reviewed by: Orhan Berent <berent belgeler.gen.tr>
========================================================== -->

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

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

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

<manualpage metafile="configuring.xml.meta">

  <title>Yapılandırma Dosyaları</title>

<summary>
<p>Bu belgede Apache HTTP Sunucusunu yapılandırmakta kullanılan dosyalar
açıklanmıştır.</p>
</summary>

  <section id="main">
    <title>Ana Yapılandırma Dosyaları</title>
    <related>
      <modulelist>
        <module>mod_mime</module>
      </modulelist>
      <directivelist>
        <directive module="core" type="section">IfDefine</directive>
        <directive module="core">Include</directive>
        <directive module="mod_mime">TypesConfig</directive>
      </directivelist>
    </related>

    <p>Apache HTTP Sunucusu düz metin yapılandırma dosyalarına <a
    href="mod/directives.html">yönergeler</a> yerleştirilerek yapılandırılır.
    Ana yapılandırma dosyasının ismi normalde <code>httpd.conf</code>’tur.
    Bu dosyanın yeri derleme sırasında belirlenir, ancak çalıştırma
    sırasında <code>-f</code> komut satırı seçeneği ile başka bir yer
    belirtilebilir. Ayrıca, <directive module="core">Include</directive>
    yönergesi kullanılarak başka yapılandırma dosyaları da eklenebilir
    ve bu dosyaların isimleri belirtilirken dosya ismi şablonları
    kullanılabilir. Bu dosyaların içine de ana yapılandırma dosyasında
    olduğu gibi her türlü yönerge yerleştirilebilir. Ana yapılandırma
    dosyalarındaki değişiklikler httpd tarafından sadece başlatma veya
    yeniden başlatma sırasında etkin kılınır.</p>

    <p>Sunucu ayrıca MIME belge türlerini içeren bir dosya daha okur;
    dosya ismi öntanımlı olarak <code>mime.types</code> olup <directive
    module="mod_mime">TypesConfig</directive> yönergesi ile başka bir dosya
    belirtilebilir.</p>
  </section>

  <section id="syntax">
    <title>Yapılandırma Dosyalarının Sözdizimi</title>

    <p>httpd yapılandırma dosyalarının her satırında sadece bir yönerge
    bulunur ve bir yönergenin birden fazla satıra yayılması daha iyi
    olacaksa satır katlanabilir; devamı bir alt satırda olan her satırın
    son karakteri “\” (tersbölü) olmalı, satırsonu karakteri ile bu tersbölü
    karakteri arasında başka karakter bulunmamalıdır.</p>

    <p>Yönergelerdeki değiştirgeler boşluklarla ayrılır. Eğer bir değiştirge
    kendi içinde boşluklar içeriyorsa tırnak içine alınır.</p>

    <p>Yapılandırma dosyalarındaki yönergelerin isimleri harf büyüklüğüne
    duyarlı olduğu halde argümanları genellikle harf büyüklüğüne duyarlı
    değildir. Diyez (“#”) karakteri ile başlayan satırlar açıklama olarak
    ele alınır ve yok sayılırlar. Yapılandırma yönergesi içeren satırlara
    açıklama yerleştirilemez. Yönerge isminden önce yer alan boşluklar
    yoksayılır; bu özellik, okunabilirliği sağlamak için yönergelerin
    girintilenebilmesi olanağını verir. Ayrıca, boş satırlar da
    yoksayılır.</p>


    <p><directive module="core">Define</directive> ile veya kabuğun ortam
    değişkenleri ile tanımlanmış değişkenlerin değerleri, yapılandırma
    dosyasının satırlarında <code>${VAR}</code> sözdizimi ile kullanılabilir.
    "VAR" geçerli bir değişkenin adı olduğu takdirde, bu değişkenin değeri
    yapılandırma dosyasının bu noktasında yerine konacak ve orada zaten
    değişken yerine değeri varmış gibi işlem kaldığı yerden devam edecektir.
    <directive module="core">Define</directive> ile tanımlanmış değişkenler
    kabuğun ortam değişkenlerinden önceliklidir. "VAR" diye bir değişken yoksa
    <code>${VAR}</code> içindeki karakterler değişmeden kalır ve günlüğe bir
    uyarı çıktılanır. <directive module="mod_rewrite">RewriteMap</directive>
    sözdizimi ile olası bir karışıklığı önlemek için, değişken isimleri iki
    nokta imini (":") içeremez.</p>

    <p>Kabuğun ortam değişkenlerinin, sadece, sunucu başlatılmadan önce
    tanımlanmış değerleri kullanılabilir.  Yapılandırma dosyasının kendisinde
    tanımlanmış ortam değişkenleri (örneğin,
    <directive module="mod_env">SetEnv</directive> ile), yapılandırma
    dosyasındaki işlemlerde çok daha sonra yer alır.</p>

    <p>Yapılandırma dosyasındaki bir satırın uzunluğu, değişken ikamesi
    yapıldıkta, devam satırları eklenditen sonra en fazla 16MiB olabilir. <a
    href="configuring.html#htaccess">.htaccess dosyalarında</a> azami uzunluk
    8190 karakterdir.</p>

    <p>Sunucuyu başlatmadan önce <code>apachectl configtest</code> ile veya
    <code>-t</code> komut satırı seçeneği ile yapılandırma dosyalarınızı
    sözdizimi hatalarına karşı sınayabilirsiniz.</p>

    <p>Eşleşmeyen <directive module="core" type="section">IfDefine</directive>
    ve <directive module="core" type="section">IfModule</directive> bölümleri
    kaldırılmış, tüm açıklamalar, çözümlenmiş ortam değişkenleri ve içerilmiş
    tüm dosyalar dahil yapılandırmanın bir dökümünü almak için
    <module>mod_info</module>'nun <code>-DDUMP_CONFIG</code> seçeneğini
    kullanabilirsiniz. Ancak, çıktı yinelenen yönergeler için katıştırılan veya
    geçersiz kılınanları yansıtmayacaktır.</p>
  </section>

  <section id="modules">
    <title>Modüller</title>

    <related>
      <modulelist>
        <module>mod_so</module>
      </modulelist>
      <directivelist>
        <directive module="core" type="section">IfModule</directive>
        <directive module="mod_so">LoadModule</directive>
      </directivelist>
    </related>

    <p>httpd modüler yapıda bir sunucudur. Bu, çekirdek sunucunun sadece en
    temel işlevselliği içermesi demektir. Ek özellikler, httpd’ye <a
    href="mod/">modüller</a> halinde yüklenebilir. Öntanımlı olarak, derleme
    sırasında sunucunun <a href="mod/module-dict.html#Status">temel</a> bir
    modül kümesi içermesi sağlanır. Eğer sunucu  <a href="dso.html">devingen
    yüklenen</a> modülleri kullanmak üzere yapılandırılarak derlenirse modüller
    ayrı olarak derlenip gerektiği zaman <directive module="mod_so">
    LoadModule</directive> yönergesi kullanılarak yüklenebilir. Aksi takdirde,
    ek modülleri yükleyebilmek veya kaldırabilmek için httpd’nin yeniden
    derlenmesi gerekir. Yapılandırma yönergeleri belli bir modülün varlığına
    dayalı olarak bir <directive module="core" type="section">IfModule</directive>
    bloku içine alınmak suretiyle sunucuya koşullu olarak eklenebilir. Ancak,
    <directive module="core" type="section">IfModule</directive> yönergeleri
    gerekli değildir, önemli bir modülün yokluğu gibi durumlarda
    maskelenebilir.</p>

    <p>Sunucunun içinde derlenmiş modüllerin listesini görmek için
    <code>-l</code> komut satırı seçeneğini kullanabilirsiniz. Ayrıca,
    <code>-M</code> komut satırı seçeneği ile hangi modüllerin devingen olarak
    yüklendiğini görebilirsiniz.</p>
  </section>

  <section id="scope">
    <title>Yönergelerin Etki Alanı</title>

    <related>
      <directivelist>
        <directive module="core" type="section">Directory</directive>
        <directive module="core" type="section">DirectoryMatch</directive>
        <directive module="core" type="section">Files</directive>
        <directive module="core" type="section">FilesMatch</directive>
        <directive module="core" type="section">Location</directive>
        <directive module="core" type="section">LocationMatch</directive>
        <directive module="core" type="section">VirtualHost</directive>
      </directivelist>
    </related>

    <p>Ana yapılandırma dosyasına yerleştirilen yönergeler sunucunun tamamına
    uygulanır. Yapılandırmanızı sunucunun belli bir parçası için değiştirmek
    isterseniz yönergelerinizi <directive module="core"
    type="section">Directory</directive>, <directive module="core"
    type="section">DirectoryMatch</directive>, <directive module="core"
    type="section">Files</directive>, <directive module="core"
    type="section">FilesMatch</directive>, <directive module="core"
    type="section">Location</directive> ve <directive module="core"
    type="section">LocationMatch</directive> bölümleri içine yerleştirerek etki
    alanlarını değiştirebilirsiniz. Bu bölümler yönergelerin etkilediği
    alanları dosya sistemininin belli yerleri veya belli URL’lerle sınırlar.
    Yerine göre daha hassas ayarlamalar yapmak için bu bölgeler iç içe de
    kullanılabilir.</p>

    <p>httpd, çok sayıda farklı siteyi aynı anda sunabilecek yetenektedir.
    Buna <a href="vhosts/">Sanal Konaklık</a> adı verilir. Yönergelerin etki
    alanları ayrıca <directive module="core" type="section">VirtualHost</directive>
    bölümleri içine konarak da değiştirilebilir. Böylece belli bir siteye gelen
    isteklere farklı bir uygulama yapılabilir.</p>

    <p>Yönergelerin çoğu bu bölümlere yerleştirilebilirse de bazı yönergelerin
    bazı bağlamlarda bir etkisi olmaz. Örneğin, süreç oluşturmayı denetleyen
    yönergeler sadece ana sunucu bağlamına yerleştirilebilir. Hangi yönergenin
    hangi bağlama yerleştirilebileceğini bulmak için yönergenin <a
    href="mod/directive-dict.html#Context">bağlamına</a> bakınız. Bu konuda daha
    ayrıntılı bilgi edinmek için: <a href="sections.html">Directory, Location ve
    Files Bölümleri Nasıl Çalışır</a>.</p>
  </section>

  <section id="htaccess">
    <title>.htaccess Dosyaları</title>

    <related>
      <directivelist>
        <directive module="core">AccessFileName</directive>
        <directive module="core">AllowOverride</directive>
      </directivelist>
    </related>

    <p>httpd yapılandırma sorumluluğunu dağıtmak için site ağaçları içine özel
    dosyalar yerleştirilmesine izin verir. Bu özel dosyalar normalde
    <code>.htaccess</code> dosyaları olmakla birlikte <directive module="core"
    >AccessFileName</directive> yönergesi kullanılarak rasgele bir isim
    belirtilebilir. <code>.htaccess</code> dosyalarına yerleştirilen yönergeler
    sadece dosyanın bulunduğu dizine ve alt dizinlerine uygulanır.
    <code>.htaccess</code> dosyalarında da ana yapılandırma dosyalarında geçerli
    sözdizimi kullanılır. <code>.htaccess</code> dosyaları her istek gelişinde
    yeniden okunduğundan bu dosyalarda yapılan değişiklikler hemen etkisini
    gösterir.</p>

    <p><code>.htaccess</code> dosyalarına hangi yönergelerin
    yerleştirilebileceğini bulmak için yönerge <a
    href="mod/directive-dict.html#Context">bağlamına</a> bakınız.
    Sunucunun yöneticisi <code>.htaccess</code> dosyalarına hangi yönergelerin
    yerleştirilebileceğini ana yapılandırma dosyalarında
    <directive module="core">AllowOverride</directive> yönergesini kullanarak
    belirleyebilir.</p>

    <p><code>.htaccess</code> dosyaları hakkında daha ayrıntılı bilgi edinmek
    için <a href="howto/htaccess.html">.htaccess öğreticisi</a>ne bakabilirsiniz.</p>
  </section>
</manualpage>
