<?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: 892282 -->
<!-- =====================================================
 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="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 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 Apache
    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>Apache 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>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ırların ardına
    açıklama yerleştirilemez. Yönerge isminden önce yer alan boşluklar ve boş
    satırlar yok sayılır; bu özellik, okunabilirliği sağlamak için yönergelerin
    girintilenebilmesi olanağını verir.</p>

    <p>Kabuk ortam değişkenlerinin değerleri yapılandırma dosyası içinde
    <code>${ENVVAR}</code> sözdizimi ile kullanılabilir. "ENVVAR" geçerli bir
    ortam değişkeninin adı olduğu takdirde, yapılandırma dosyasında görüldüğü
    yerlerde değişkenin değeri yazılmış gibi işlem yapılır. (ENVVAR diye bir
    değişken yoksa yapılandırma dosyasının işlenmesinin sonraki aşamalarında
    kullanılmak üzere "${ENVVAR}" karakterleri oldukları gibi bırakılır.)</p>

    <p>Yapılandırma dosyasındaki bir satırı uzunluğu, ortam değişkenlerinin
    değerleri yerleştirildikten, devam satırları birleştirilip satırın önündeki
    ve ardındaki boşluk karakterleri temizlendikten sonra en fazla 8192
    karakter olabilir.</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>
  </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>Apache modüler yapıda bir sunucudur. Bu, çekirdek sunucunun sadece en
    temel işlevselliği içermesi demektir. Ek özellikler, Apache’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
    Apache’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.</p>

    <p>Sunucunun içinde derlenmiş modüllerin listesini görmek için
    <code>-l</code> komut satırı seçeneğini kullanabilirsiniz.</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>Apache, ç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 siteden 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>Apache 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>
