Yapılandırma Dosyaları
Bu belgede Apache HTTP Sunucusunu yapılandırmakta kullanılan dosyalar
açıklanmıştır.
  
    Ana Yapılandırma Dosyaları
    
      
        mod_mime
      
      
        IfDefine
        Include
        TypesConfig
      
    
    Apache HTTP Sunucusu düz metin yapılandırma dosyalarına yönergeler yerleştirilerek yapılandırılır.
    Ana yapılandırma dosyasının ismi normalde httpd.conf’tur.
    Bu dosyanın yeri derleme sırasında belirlenir, ancak çalıştırma
    sırasında -f komut satırı seçeneği ile başka bir yer
    belirtilebilir. Ayrıca, Include
    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.
    Sunucu ayrıca MIME belge türlerini içeren bir dosya daha okur;
    dosya ismi öntanımlı olarak mime.types olup TypesConfig yönergesi ile başka bir dosya
    belirtilebilir.
  
  
    Yapılandırma Dosyalarının Sözdizimi
    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.
    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.
    Define 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 ${VAR} 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.
    Define ile tanımlanmış değişkenler
    kabuğun ortam değişkenlerinden önceliklidir. "VAR" diye bir değişken yoksa
    ${VAR} içindeki karakterler değişmeden kalır ve günlüğe bir
    uyarı çıktılanır. RewriteMap
    sözdizimi ile olası bir karışıklığı önlemek için, değişken isimleri iki
    nokta imini (":") içeremez.
    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,
    SetEnv ile), yapılandırma
    dosyasındaki işlemlerde çok daha sonra yer alır.
    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. .htaccess dosyalarında azami uzunluk
    8190 karakterdir.
    Sunucuyu başlatmadan önce apachectl configtest ile veya
    -t komut satırı seçeneği ile yapılandırma dosyalarınızı
    sözdizimi hatalarına karşı sınayabilirsiniz.
    Eşleşmeyen IfDefine
    ve IfModule 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
    mod_info'nun -DDUMP_CONFIG seçeneğini
    kullanabilirsiniz.
  
  
    Modüller
    
      
        mod_so
      
      
        IfModule
        LoadModule
      
    
    httpd modüler yapıda bir sunucudur. Bu, çekirdek sunucunun sadece en
    temel işlevselliği içermesi demektir. Ek özellikler, httpd’ye modüller halinde yüklenebilir. Öntanımlı olarak, derleme
    sırasında sunucunun temel bir
    modül kümesi içermesi sağlanır. Eğer sunucu  devingen
    yüklenen modülleri kullanmak üzere yapılandırılarak derlenirse modüller
    ayrı olarak derlenip gerektiği zaman 
    LoadModule 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 IfModule
    bloku içine alınmak suretiyle sunucuya koşullu olarak eklenebilir. Ancak,
    IfModule yönergeleri
    gerekli değildir, önemli bir modülün yokluğu gibi durumlarda
    maskelenebilir.
    Sunucunun içinde derlenmiş modüllerin listesini görmek için
    -l komut satırı seçeneğini kullanabilirsiniz. Ayrıca,
    -M komut satırı seçeneği ile hangi modüllerin devingen olarak
    yüklendiğini görebilirsiniz.
  
  
    Yönergelerin Etki Alanı
    
      
        Directory
        DirectoryMatch
        Files
        FilesMatch
        Location
        LocationMatch
        VirtualHost
      
    
    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 Directory, DirectoryMatch, Files, FilesMatch, Location ve LocationMatch 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.
    httpd, çok sayıda farklı siteyi aynı anda sunabilecek yetenektedir.
    Buna Sanal Konaklık adı verilir. Yönergelerin etki
    alanları ayrıca VirtualHost
    bölümleri içine konarak da değiştirilebilir. Böylece belli bir siteye gelen
    isteklere farklı bir uygulama yapılabilir.
    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 bağlamına bakınız. Bu konuda daha
    ayrıntılı bilgi edinmek için: Directory, Location ve
    Files Bölümleri Nasıl Çalışır.
  
  
    .htaccess Dosyaları
    
      
        AccessFileName
        AllowOverride
      
    
    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
    .htaccess dosyaları olmakla birlikte AccessFileName yönergesi kullanılarak rasgele bir isim
    belirtilebilir. .htaccess dosyalarına yerleştirilen yönergeler
    sadece dosyanın bulunduğu dizine ve alt dizinlerine uygulanır.
    .htaccess dosyalarında da ana yapılandırma dosyalarında geçerli
    sözdizimi kullanılır. .htaccess dosyaları her istek gelişinde
    yeniden okunduğundan bu dosyalarda yapılan değişiklikler hemen etkisini
    gösterir.
    .htaccess dosyalarına hangi yönergelerin
    yerleştirilebileceğini bulmak için yönerge bağlamına bakınız.
    Sunucunun yöneticisi .htaccess dosyalarına hangi yönergelerin
    yerleştirilebileceğini ana yapılandırma dosyalarında
    AllowOverride yönergesini kullanarak
    belirleyebilir.
    .htaccess dosyaları hakkında daha ayrıntılı bilgi edinmek
    için .htaccess öğreticisine bakabilirsiniz.