<?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: 421100 -->

<!--
 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>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>
