<?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: 830237:1061758 (outdated) -->

<!--
 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>Yapılandırma dosyasındaki bir satırın uzunluğu, devam satırları
    eklenip satır başındaki ve sonundaki boşluk karakterleri atıldıktan 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 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>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>
