Blame docs/manual/sections.html.tr.utf8

Packit 90a5c9
Packit 90a5c9
Packit 90a5c9
<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head>
Packit 90a5c9
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
Packit 90a5c9
Packit 90a5c9
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Packit 90a5c9
              This file is generated from xml source: DO NOT EDIT
Packit 90a5c9
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Packit 90a5c9
      -->
Packit 90a5c9
<title>Yapılandırma Bölümleri - Apache HTTP Sunucusu Sürüm 2.4</title>
Packit 90a5c9
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
Packit 90a5c9
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
Packit 90a5c9
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
Packit 90a5c9
<script src="./style/scripts/prettify.min.js" type="text/javascript">
Packit 90a5c9
</script>
Packit 90a5c9
Packit 90a5c9
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
Packit 90a5c9
<body id="manual-page">
Packit 90a5c9

Modüller | Yönergeler | SSS | Terimler | Site Haritası

Packit 90a5c9

Apache HTTP Sunucusu Sürüm 2.4

Packit 90a5c9
Packit 90a5c9
<-
Packit 90a5c9
Packit 90a5c9
Apache > HTTP Sunucusu > Belgeleme > Sürüm 2.4

Yapılandırma Bölümleri

Packit 90a5c9
Packit 90a5c9

Mevcut Diller:  en  |

Packit 90a5c9
 fr  |
Packit 90a5c9
 ja  |
Packit 90a5c9
 ko  |
Packit 90a5c9
 tr 

Packit 90a5c9
Packit 90a5c9
Packit 90a5c9
    

Yapılandırma dosyalarındaki

Packit 90a5c9
       yönergeler sunucunun tamamına uygulanacağı gibi sadece belli dizinler,
Packit 90a5c9
       dosyalar, konaklar veya URL’lere uygulanmakla sınırlanabilir. Bu
Packit 90a5c9
       belgede, yapılandırma bölümü taşıyıcılarınının veya
Packit 90a5c9
       .htaccess dosyalarının, yapılandırma dosyalarındaki diğer
Packit 90a5c9
       yönergelerin etki alanlarını değiştirtirmek için nasıl kullanılacağı
Packit 90a5c9
       açıklanmıştır.

Packit 90a5c9
Packit 90a5c9
Packit 90a5c9
  • Dosya Sistemi, Site Alanı ve Mantıksal İfadeler
  • Packit 90a5c9
  • Sanal Konaklar
  • Packit 90a5c9
  • Vekil
  • Packit 90a5c9
  • Hangi Yönergelere İzin Veriliyor?
  • Packit 90a5c9
  • Bölümler Nasıl Katıştırılır?
  • Packit 90a5c9

    Ayrıca bakınız:

    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Yapılandırma Bölümü Taşıyıcılarının Türleri

    Packit 90a5c9
    Packit 90a5c9
        
    Packit 90a5c9
    Packit 90a5c9
        

    İki temel taşıyıcı türü vardır. Taşıyıcıların çoğu her istek için

    Packit 90a5c9
          değerlendirmeye alınır. Taşıyıcılardaki yönergeler ise sadece bu
    Packit 90a5c9
          taşıyıcılarla eşleşen istekler için uygulanır. Diğer yandan,
    Packit 90a5c9
          <IfDefine>,
    Packit 90a5c9
          <IfModule> ve
    Packit 90a5c9
          <IfVersion>
    Packit 90a5c9
          taşıyıcıları sadece sunucu başlatılırken veya yeniden başlatılırken
    Packit 90a5c9
          değerlendirmeye alınır. Başlatma sırasında gerektirdikleri koşullar
    Packit 90a5c9
          sağlanıyorsa içerdikleri yönergeler tüm isteklere uygulanır. Aksi
    Packit 90a5c9
          takdirde, içerdikleri yönergeler yok sayılır.

    Packit 90a5c9
    Packit 90a5c9
        

    <IfDefine> yönergesi

    Packit 90a5c9
          sadece httpd komut satırında uygun parametreler
    Packit 90a5c9
          tanımlanmışsa uygulanabilecek yönergeleri içerir. Örneğin, aşağıdaki
    Packit 90a5c9
          yapılandırma ile tüm isteklerin diğer siteye yönlendirilebilmesi sadece
    Packit 90a5c9
          sunucu httpd -DClosedForNow komut satırı ile başlatıldığı
    Packit 90a5c9
          takdirde mümkün olur:

    Packit 90a5c9
    Packit 90a5c9
        
    <IfDefine ClosedForNow>
    Packit 90a5c9
      Redirect "/" "http://otherserver.example.com/"
    Packit 90a5c9
    </IfDefine>
    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9
        

    <IfModule> yönergesi

    Packit 90a5c9
          sadece belli bir modülün sunucuda kullanılabilir durumda olması halinde
    Packit 90a5c9
          uygulanabilecek yönergeleri içerir. Modülün ya sunucuyla birlikte durağan
    Packit 90a5c9
          olarak derlenmiş olması ya da devingen olarak derlenmiş ve yapılandırma
    Packit 90a5c9
          dosyasında yönergeden önce o modüle ilişkin bir LoadModule satırının bulunması gerekir. Bu
    Packit 90a5c9
          yönergeyi sadece belli bir modülün varlığının veya yokluğunun
    Packit 90a5c9
          yapılandırma dosyanızın çalışmasını etkilememesini istediğiniz durumlarda
    Packit 90a5c9
          kullanmalısınız. Eksik modüllerle ilgili hata iletilerini
    Packit 90a5c9
          engellediğinden, taşıyıcı içine, her zaman çalışması istenen yönergeler
    Packit 90a5c9
          konulmamalıdır.

    Packit 90a5c9
    Packit 90a5c9
        

    Aşağıdaki örnekte, MimeMagicFile yönergesi sadece

    Packit 90a5c9
          mod_mime_magic modülü mevcutsa uygulanacaktır.

    Packit 90a5c9
    Packit 90a5c9
        
    <IfModule mod_mime_magic.c>
    Packit 90a5c9
      MimeMagicFile "conf/magic"
    Packit 90a5c9
    </IfModule>
    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9
        

    <IfVersion>

    Packit 90a5c9
          yönergesi sunucunun belli bir sürümünün çalıştırılması halinde
    Packit 90a5c9
          uygulanabilecek yönergeleri içerebilmesi dışında <IfDefine> ve <IfModule> yönergeleri gibidir.
    Packit 90a5c9
          mod_version modülü farklı httpd sürümleri ve farklı
    Packit 90a5c9
          yapılandırmalarla büyük ağlarda çalışmayı mümkün kılmak veya sürüm
    Packit 90a5c9
          denemeleri yapabilmek amacıyla tasarlanmıştır.

    Packit 90a5c9
    Packit 90a5c9
        
    <IfVersion >= 2.4>
    Packit 90a5c9
      # burası sadece 2.4.0 veya daha üstü sürümlerde
    Packit 90a5c9
      # iş görür.
    Packit 90a5c9
    </IfVersion>
    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9
        

    <IfDefine>,

    Packit 90a5c9
          <IfModule> ve
    Packit 90a5c9
          <IfVersion>
    Packit 90a5c9
          yönergelerinin önüne "!" konularak olumsuz koşullar için uygulanabilir.
    Packit 90a5c9
          Ayrıca, bu bölümler daha karmaşık sınırlamalar elde etmek amacıyla bir
    Packit 90a5c9
          diğerinin içinde kullanılabilirler.

    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Dosya Sistemi, Site Alanı ve Mantıksal İfadeler

    Packit 90a5c9
        
    Packit 90a5c9
    Packit 90a5c9
        

    En sık kullanılan yapılandırma bölümü taşıyıcıları dosya sistemindeki

    Packit 90a5c9
          veya site alanındaki belli yerlerin yapılandırmalarını değiştirmekte
    Packit 90a5c9
          kullanılanlardır. Öncelikle, bu ikisi arasındaki farkları bilmek
    Packit 90a5c9
          önemlidir. Dosya sistemi disklerinizin işletim sistemi tarafından size
    Packit 90a5c9
          gösterilen halidir. Örneğin, öntanımlı kurulumda Apache httpd, Unix
    Packit 90a5c9
          sistemlerinde  /usr/local/apache2 altındayken Windows
    Packit 90a5c9
          sistemlerinde  "c:/Program Files/Apache Group/Apache2"
    Packit 90a5c9
          altındadır. (Bilgi: Windows için bile, Apache httpd yapılandırma
    Packit 90a5c9
          dosyalarında dosya yolu belirtilirken tersbölü değil normal bölü
    Packit 90a5c9
          karakterleri kullanılır.) Site alanı ise sunucu tarafından istemciye
    Packit 90a5c9
          sunulan dizin ağacıdır. Yani, site alanı içindeki /dir/
    Packit 90a5c9
          dizini, Apache httpd’nin Unix üzerinde dosya sistemine öntanımlı olarak
    Packit 90a5c9
          kurulduğu yer göz önüne alınarak, dosya sistemindeki
    Packit 90a5c9
          /usr/local/apache2/htdocs/dir/ dizinine karşılıktır. Site
    Packit 90a5c9
          sayfaları veritabanlarından veya başka yerlerden devingen olarak
    Packit 90a5c9
          üretilebildiğinden site alanlarının doğrudan dosya sistemine eşlenmesi
    Packit 90a5c9
          gerekli değildir.

    Packit 90a5c9
    Packit 90a5c9
      

    Dosya Sistemi Taşıyıcıları

    Packit 90a5c9
    Packit 90a5c9
        

    <Directory>

    Packit 90a5c9
          ve <Files>
    Packit 90a5c9
          taşıyıcıları, düzenli ifade karşılıkları
    Packit 90a5c9
          ile beraber, yönergeleri dosya sisteminin parçalarına uygularlar. Bir
    Packit 90a5c9
          <Directory> bölümü
    Packit 90a5c9
          içindeki yönergeler belli bir dosya sistemi dizinine ve onun alt
    Packit 90a5c9
          dizinlerine uygulanır. Aynı etki .htaccess
    Packit 90a5c9
          dosyaları kullanılarak da sağlanabilir. Örneğin aşağıdaki
    Packit 90a5c9
          yapılandırmada, /var/web/dir1 dizini ve alt dizinlerinde
    Packit 90a5c9
          dizin içeriğinin listelenmesi etkin kılınmaktadır.

    Packit 90a5c9
    Packit 90a5c9
        
    <Directory "/var/web/dir1">
    Packit 90a5c9
      Options +Indexes
    Packit 90a5c9
    </Directory>
    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9
        

    Bir <Files> bölümü

    Packit 90a5c9
          içindeki yönergeler, hangi dizinde bulunduğuna bakılmaksızın ismi
    Packit 90a5c9
          belirtilen dosyalara uygulanır. Örneğin, aşağıdaki yapılandırma
    Packit 90a5c9
          yönergeleri yapılandırma dosyasının ana bölümüne yerleştirildiği takdirde
    Packit 90a5c9
          gizli.html isimli dosyalara nerede bulunursa bulunsun
    Packit 90a5c9
          erişime izin vermeyecektir.

    Packit 90a5c9
    Packit 90a5c9
        
    <Files "gizli.html">
    Packit 90a5c9
      Require all denied
    Packit 90a5c9
    </Files>
    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9
        

    Dosya sisteminin belli bir yerindeki belli dosyalarla ilgili yaptırımlar

    Packit 90a5c9
          için <Files> ve
    Packit 90a5c9
          <Directory> bölümleri
    Packit 90a5c9
          birlikte kullanılabilir. Örneğin, aşağıdaki yapılandırma
    Packit 90a5c9
          /var/web/dir1/gizli.html,
    Packit 90a5c9
          /var/web/dir1/subdir2/gizli.html,
    Packit 90a5c9
          /var/web/dir1/subdir3/gizli.html ve
    Packit 90a5c9
          /var/web/dir1/ altında bulunabilecek diğer tüm
    Packit 90a5c9
          gizli.html dosyalarına erişimi yasaklar.

    Packit 90a5c9
    Packit 90a5c9
        
    <Directory "/var/web/dir1">
    Packit 90a5c9
      <Files "gizli.html">
    Packit 90a5c9
        Require all denied
    Packit 90a5c9
      </Files>
    Packit 90a5c9
    </Directory>
    Packit 90a5c9
    Packit 90a5c9
      
    Packit 90a5c9
    Packit 90a5c9
      

    Site Alanı Taşıyıcıları

    Packit 90a5c9
    Packit 90a5c9
        

    <Location> yönergesi

    Packit 90a5c9
          ve yönergenin düzenli ifade karşılığı
    Packit 90a5c9
          site alanındaki içerik için yapılandırmayı değiştirir.  Örneğin aşağıdaki
    Packit 90a5c9
          yapılandırma, /gizli ile başlayan URL yollarına erişimi
    Packit 90a5c9
          engeller. Özellikle, http://siteniz.mesela.dom/gizli,
    Packit 90a5c9
          http://siteniz.mesela.dom/gizli123 ve
    Packit 90a5c9
          http://siteniz.mesela.dom/gizli/dir/dosya.html
    Packit 90a5c9
          istekleri yanında /gizli ile başlayan diğer isteklere de
    Packit 90a5c9
          uygulanır.

    Packit 90a5c9
    Packit 90a5c9
        
    <LocationMatch "^/gizli">
    Packit 90a5c9
        Require all denied
    Packit 90a5c9
    </LocationMatch>
    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9
        

    Dosya sistemi ile etkileşime girmeyen herşey için

    Packit 90a5c9
          <Location>
    Packit 90a5c9
          yönergesi gerekir. Aşağıdaki örnekte, belli bir URL’nin
    Packit 90a5c9
          mod_status modülü tarafından sağlanan bir dahili
    Packit 90a5c9
          Apache eylemcisine nasıl eşlenebileceği gösterilmiştir. Bu örnek
    Packit 90a5c9
          için dosya sisteminde server-status adında bir dosya
    Packit 90a5c9
          veya dizin bulunması gerekli değildir.

    Packit 90a5c9
    Packit 90a5c9
        
    <Location "/server-status">
    Packit 90a5c9
        SetHandler server-status
    Packit 90a5c9
    </Location>
    Packit 90a5c9
    Packit 90a5c9
      
    Packit 90a5c9
    Packit 90a5c9
      

    Site Alanında Çakışma

    Packit 90a5c9
        

    Belli bölümler ve yönergeler değerlendirilirken çakışan iki URL bir URL

    Packit 90a5c9
        olarak dikkate alınır. <Location> yönergesi için bu şöyle olurdu:

    Packit 90a5c9
    Packit 90a5c9
        
    <Location "/foo">
    Packit 90a5c9
    </Location>
    Packit 90a5c9
    <Location "/foo/bar">
    Packit 90a5c9
    </Location>
    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9
        

    Diğer yandan <Takma

    Packit 90a5c9
          adlar> tam tersi eşlenir:

    Packit 90a5c9
    Packit 90a5c9
        
    Alias "/foo/bar" "/srv/www/uncommon/bar"
    Packit 90a5c9
    Alias "/foo"     "/srv/www/common/foo"
    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9
        

    Aynısı ProxyPass

    Packit 90a5c9
          yönergeleri için de geçerlidir:

    Packit 90a5c9
    Packit 90a5c9
        
    ProxyPass "/special-area" "http://special.example.com" smax=5 max=10
    Packit 90a5c9
    ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofailover=On
    Packit 90a5c9
    Packit 90a5c9
      
    Packit 90a5c9
    Packit 90a5c9
      

    Dosya Adı Şablonları ve Düzenli İfadeler

    Packit 90a5c9
        
    Packit 90a5c9
    Packit 90a5c9
        

    <Directory>,

    Packit 90a5c9
          <Files> ve
    Packit 90a5c9
          <Location>
    Packit 90a5c9
          yönergelerinde, Standart C kütüphanesindeki fnmatch
    Packit 90a5c9
          işlevindeki gibi kabuk tarzı dosya ismi kalıpları kullanılabilir. "*"
    Packit 90a5c9
          karakteri herhangi bir karakter dizisi ile eşleşirken "?" karakteri tek
    Packit 90a5c9
          tek karakterlerle ve "[seq]" kalıbı ise seq içindeki
    Packit 90a5c9
          her karakterle eşleşir. "/" karakteri her hangi bir kalıp karakteri ile
    Packit 90a5c9
          eşleşmez; açıkça belirtilmesi gerekir.

    Packit 90a5c9
    Packit 90a5c9
        

    Daha esnek bir eşleşmenin gerekli olduğu durumlar için her taşıyıcının

    Packit 90a5c9
          bir düzenli ifade karşılığı vardır. <DirectoryMatch>, <FilesMatch> ve <LocationMatch> yönergelerinde gerekli
    Packit 90a5c9
          eşleşmeleri seçmek için perl uyumlu düzenli
    Packit 90a5c9
          ifadelerin kullanımına izin verilir. Ayrıca, yönergelerin
    Packit 90a5c9
          uygulanışının düzenli ifade bölümleri kullanılarak nasıl
    Packit 90a5c9
          değiştirileceğini öğrenmek için, aşağıda, yapılandırmanın
    Packit 90a5c9
          katıştırılmasıyla ilgili bölüme de bakınız.

    Packit 90a5c9
    Packit 90a5c9
        

    Tüm kullanıcı dizinlerine ilişkin yapılandırmayı değiştirmek için dosya

    Packit 90a5c9
          ismi kalıpları şöyle kullanılabilirdi:

    Packit 90a5c9
    Packit 90a5c9
        
    <Directory "/home/*/public_html">
    Packit 90a5c9
        Options Indexes
    Packit 90a5c9
    </Directory>
    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9
        

    Düzenli ifade bölümleri kullanarak çeşitli türlerdeki resim dosyalarına

    Packit 90a5c9
          erişimi bir defada yasaklayabiliriz:

    Packit 90a5c9
    Packit 90a5c9
        
    <FilesMatch "\.(?i:gif|jpe?g|png)$">
    Packit 90a5c9
        Require all denied
    Packit 90a5c9
    </FilesMatch>
    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9
        

    İsimli gruplar ve geriye başvurular içeren düzenli

    Packit 90a5c9
          ifadeler ortama eklenirken ilgili isimler büyük harfli yapılır. Böylece,
    Packit 90a5c9
          URL'lere ve dosya yolları elemanlarına ifadelerin
    Packit 90a5c9
          içinden ve mod_rewrite gibi modüllerden başvurmak
    Packit 90a5c9
          mümkün olur.

    Packit 90a5c9
    Packit 90a5c9
    <DirectoryMatch "^/var/www/combined/(?<SITENAME>[^/]+)">
    Packit 90a5c9
        require ldap-group "cn=%{env:MATCH_SITENAME},ou=combined,o=Example"
    Packit 90a5c9
    </DirectoryMatch>
    Packit 90a5c9
    Packit 90a5c9
      
    Packit 90a5c9
    Packit 90a5c9
      

    Mantıksal İfadeler

    Packit 90a5c9
        

    <If> yönergesi bir

    Packit 90a5c9
          mantıksal ifade olarak belirtilebilen bir kurala bağlı olarak
    Packit 90a5c9
          yapılandırmayı değiştirebilir. Örneğin, aşağıdaki yapılandırmada,
    Packit 90a5c9
          HTTP Referer başlığı "http://www.example.com/" ile
    Packit 90a5c9
          başlamıyorsa erişimi yasaklar.

    Packit 90a5c9
    Packit 90a5c9
        
    <If "!(%{HTTP_REFERER} -strmatch 'http://www.example.com/*')">
    Packit 90a5c9
        Require all denied
    Packit 90a5c9
    </If>
    Packit 90a5c9
    Packit 90a5c9
      
    Packit 90a5c9
    Packit 90a5c9
      

    Ne, Ne Zaman Kullanılır?

    Packit 90a5c9
        

    Dosya sistemi taşıyıcıları ile site alanı taşıyıcıları arasında seçim

    Packit 90a5c9
          yapmak aslında oldukça kolaydır. Dosya sisteminde bulunan nesnelere
    Packit 90a5c9
          uygulanacak yönergeler için daima <Directory> veya <Files> kullanılır. Dosya sisteminde bulunmayan nesnelere
    Packit 90a5c9
          (bir sayfanın bir veritabanı tarafından üretilmesi gibi) uygulanacak
    Packit 90a5c9
          yönergeler için ise <Location> kullanılır.

    Packit 90a5c9
    Packit 90a5c9
        

    Dosya sistemindeki nesnelere erişimi kısıtlarken asla

    Packit 90a5c9
          <Location>
    Packit 90a5c9
          kullanmamak önemlidir. Bunun sebebi farklı site alanı konumlarının
    Packit 90a5c9
          (URL’ler) aynı dosya sistemi konumuna eşlenebilmesi dolayısıyla
    Packit 90a5c9
          kısıtlamalarınızın etrafından dolaşılabilmesine izin vermesidir.
    Packit 90a5c9
          Örneğin, aşağıdaki yapılandırmayı ele alalım:

    Packit 90a5c9
    Packit 90a5c9
        
    <Location "/dir/">
    Packit 90a5c9
        Require all denied
    Packit 90a5c9
    </Location>
    Packit 90a5c9
    Packit 90a5c9
    Packit 90a5c9
        

    http://siteniz.mesela.dom/dir/ için bir istek yapılmışsa

    Packit 90a5c9
          bu doğru çalışacaktır. Fakat dosya sistemi harf büyüklüğüne duyarsızsa
    Packit 90a5c9
          ne olacak? Kısıtlamanız, istek
    Packit 90a5c9
          http://siteniz.mesela.dom/DIR/
    Packit 90a5c9
          şeklinde yapılarak kolayca geçersiz kılınabilir. Halbuki <Directory> yönergesi isteğin
    Packit 90a5c9
          nasıl yapıldığına bakılmaksızın bu konumdan sunulan her türlü içeriğe
    Packit 90a5c9
          uygulanacaktı. (Dosya sistemi bağlarıyla bu da aşılabilir. Sembolik
    Packit 90a5c9
          bağlar kullanılarak aynı dizin dosya sisteminin bir çok yerine
    Packit 90a5c9
          yerleştirilebilir. <Directory> yönergesi dosya yolunu sıfırlamaksızın sembolik
    Packit 90a5c9
          bağları izleyecektir. Bu bakımdan, en yüksek seviyede güvenlik için uygun
    Packit 90a5c9
          Options yönergesi ile sembolik
    Packit 90a5c9
          bağların izlenmesi devredışı bırakılabilir.)

    Packit 90a5c9
    Packit 90a5c9
        

    Belki de siz sırf harf büyüklüğüne duyarlı bir dosya sistemi

    Packit 90a5c9
          kullanıyorsunuz diye böyle uygulamalara ihtiyacınız olmadığını düşünüyor
    Packit 90a5c9
          olabilirsiniz, fakat aynı site alanını çok sayıda dosya sistemi konumuna
    Packit 90a5c9
          eşleyecek daha bir sürü yol bulunduğunu unutmayınız. Bu bakımdan dosya
    Packit 90a5c9
          sisteminde yapacağınız kısıtlamalarda daima dosya sistemi taşıyıcılarını
    Packit 90a5c9
          kullanmalısınız. Bununla birlikte bu kuralın da bir istisnası vardır.
    Packit 90a5c9
          Yapılandırma kısıtlamalarının bir <Location "/"> bölümü
    Packit 90a5c9
          içine koyulması, bu bölüme konan yönergelerin etki alanının belli bir URL
    Packit 90a5c9
          ile sınırlı olmaması nedeniyle mükemmelen güvenlidir.

    Packit 90a5c9
      
    Packit 90a5c9
    Packit 90a5c9
      

    Bölüm iç içeliği

    Packit 90a5c9
        

    Bazı bölüm türleri başka bölüm türlerinin içinde olabilir. Bir yandan,

    Packit 90a5c9
          <Files> bölümü
    Packit 90a5c9
          <Directory> bölümünün
    Packit 90a5c9
          içinde bulunabilirken diğer yandan bir <If> bölümü <Directory>, <Location> ve <Files> bölümlerinde bulunabilir fakat 
    Packit 90a5c9
          başka bir <If> bölümünün 
    Packit 90a5c9
          içinde bulunamaz. Bu bölümlerin düzenli ifadeli türevleri de benzer tarzda 
    Packit 90a5c9
          davranır.

    Packit 90a5c9
    Packit 90a5c9
        

    İç içe bölümler, aynı türdeki iç içe olmayan bölümlerin sonrasına

    Packit 90a5c9
          yerleştirilir.

    Packit 90a5c9
      
    Packit 90a5c9
    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Sanal Konaklar

    Packit 90a5c9
    Packit 90a5c9
        

    <VirtualHost>

    Packit 90a5c9
          taşıyıcısının içinde belli bir konağa uygulanan yönergeler bulunur.
    Packit 90a5c9
          Aynı makinede çok sayıda konağı farklı yapılandırmalarla  sunuyorsanız
    Packit 90a5c9
          bu taşıyıcı çok işinize yarar. Daha fazla bilgi için
    Packit 90a5c9
          Sanal Konak Belgeleri bölümüne bakınız.

    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Vekil

    Packit 90a5c9
        

    <Proxy>

    Packit 90a5c9
          ve <ProxyMatch>
    Packit 90a5c9
          taşıyıcıları, sadece belli bir URL ile eşleşen mod_proxy
    Packit 90a5c9
          vekil sunucusu üzerinden erişilen sitelere uygulanan yapılandırma
    Packit 90a5c9
          yönergelerini bulundururlar. Örneğin aşağıdaki yapılandırma
    Packit 90a5c9
          example.com sitesine erişim için vekil sunucunun
    Packit 90a5c9
          sadece ağdaki bazı kullanıcılar tarafından kullanılabilmesini sağlayacaktır.

    Packit 90a5c9
    Packit 90a5c9
        
    <Proxy "http://www.example.com/*">
    Packit 90a5c9
        Require host bizimki.example.com
    Packit 90a5c9
    </Proxy>
    Packit 90a5c9
    Packit 90a5c9
    top
    Packit 90a5c9
    Packit 90a5c9

    Hangi Yönergelere İzin Veriliyor?

    Packit 90a5c9
        

    Hangi yönergelere hangi yapılandırma bölümlerinde izin verildiğini

    Packit 90a5c9
          öğrenmek için yönerge bağlamına bakınız. <Directory> bölümlerinde
    Packit 90a5c9
          izin verilen herşeye sözdizimsel olarak ayrıca
    Packit 90a5c9
          <DirectoryMatch>,
    Packit 90a5c9
          <Files>,
    Packit 90a5c9
          <FilesMatch>,
    Packit 90a5c9
          <Location>,
    Packit 90a5c9
          <LocationMatch>,
    Packit 90a5c9
          <Proxy>
    Packit 90a5c9
          ve <ProxyMatch>
    Packit 90a5c9
          bölümlerinde de izin verilir. Yine de bazı istisnai durumlar
    Packit 90a5c9
          mevcuttur:

    Packit 90a5c9
    Packit 90a5c9
        
      Packit 90a5c9
            
    • AllowOverride yönergesi sadece
    • Packit 90a5c9
            <Directory>
      Packit 90a5c9
            bölümlerinde çalışır.
      Packit 90a5c9
      Packit 90a5c9
            
    • Options yönergesinin
    • Packit 90a5c9
            FollowSymLinks ve SymLinksIfOwnerMatch
      Packit 90a5c9
            seçenekleri sadece <Directory> bölümlerinde veya .htaccess
      Packit 90a5c9
            dosyalarında çalışır.
      Packit 90a5c9
      Packit 90a5c9
            
    • Options yönergesi
    • Packit 90a5c9
            <Files> ve
      Packit 90a5c9
            <FilesMatch>
      Packit 90a5c9
            bölümlerinde kullanılamaz.
      Packit 90a5c9
          
      Packit 90a5c9
      top
      Packit 90a5c9
      Packit 90a5c9

      Bölümler Nasıl Katıştırılır?

      Packit 90a5c9
      Packit 90a5c9
          

      Yapılandırma bölümleri belli bir sıra ile uygulanır. Yapılandırma

      Packit 90a5c9
            yönergelerinin yorumlanışı üzerinde önemli etkilere sahip olabilmesi
      Packit 90a5c9
            nedeniyle neyin ne zaman çalıştığını anlamak çok önemlidir.

      Packit 90a5c9
      Packit 90a5c9
          

      Yapılandırma bölümlerinin katıştırılma sırası şöyledir:

      Packit 90a5c9
      Packit 90a5c9
          
        Packit 90a5c9
              
      1. <Directory> (düzenli ifadeler hariç)
      2. Packit 90a5c9
              ve .htaccess aynı anda işleme sokulur
        Packit 90a5c9
              (.htaccess ile eğer izin verilmişse <Directory> içindeki bazı
        Packit 90a5c9
              yönergeler geçersiz kılınabileceği için).
        Packit 90a5c9
        Packit 90a5c9
              
      3. <DirectoryMatch>
      4. Packit 90a5c9
              (ve <Directory "~">).
        Packit 90a5c9
        Packit 90a5c9
              
      5. <Files> ve
      6. Packit 90a5c9
              <FilesMatch> aynı anda
        Packit 90a5c9
              işleme sokulur.
        Packit 90a5c9
        Packit 90a5c9
              
      7. <Location>
      8. Packit 90a5c9
              ve <LocationMatch>
        Packit 90a5c9
              aynı anda işleme sokulur.
        Packit 90a5c9
        Packit 90a5c9
              
      9. <If>
      10. Packit 90a5c9
              
        Packit 90a5c9
            
        Packit 90a5c9
        Packit 90a5c9
            

        Bazı önemli durumlar:

        Packit 90a5c9
            
          Packit 90a5c9
                  
        • <Directory>
        • Packit 90a5c9
                  bölümündekiler hariç, her grup, yapılandırma dosyasında bulundukları
          Packit 90a5c9
                  sıraya göre işleme sokulurlar. Örneğin, 4. grupta /foo/bar için yapılan 
          Packit 90a5c9
                  bir istek <Location "/foo/bar"> ve <Location 
          Packit 90a5c9
                  "/foo"> bölümleriyle de eşleşir ve bunlar yapılandırma 
          Packit 90a5c9
                  dosyalarında bulundukları sıraya göre değerlendirilir.
          Packit 90a5c9
                
          Packit 90a5c9
                  
        • Yukarıda 1. grup olan <Directory> bölümü en kısa dizin elemanından en uzun
        • Packit 90a5c9
                  dizin elemanına doğru işleme sokulur. Yani, örneğin, <Directory 
          Packit 90a5c9
                  "/var/web/dir"> bölümü <Directory    
          Packit 90a5c9
                  "/var/web/dir/subdir"> bölümünden önce işleme sokulacaktır.
          Packit 90a5c9
              
          Packit 90a5c9
                  
        • Eğer aynı dizin için birden fazla <Directory> bölümü varsa bunlar yapılandırma
        • Packit 90a5c9
                  dosyasında bulundukları sıraya göre işleme sokulurlar.
          Packit 90a5c9
                
          Packit 90a5c9
                  
        • Include yönergeleri ile
        • Packit 90a5c9
                  yapılandırmaya dahil edilen dosyaların içerikleri Include yönergesinin bulunduğu yere konulduktan 
          Packit 90a5c9
                  sonra işleme sokulurlar.
          Packit 90a5c9
          Packit 90a5c9
                 
        • <VirtualHost>
        • Packit 90a5c9
                 bölümlerinin içindeki bölümler, sanal konak tanımı dışındaki
          Packit 90a5c9
                 karşılıklarından sonra uygulanırlar. Bu yöntemle ana sunucu 
          Packit 90a5c9
                 yapılandırmasındaki tanımlar geçersiz kılınabilir
          Packit 90a5c9
          Packit 90a5c9
                 
        • İstek mod_proxy tarafından sunulduğu takdirde,
        • Packit 90a5c9
                 <Proxy> taşıyıcısı
          Packit 90a5c9
                 işlem sırasında <Directory> taşıyıcısının yerini alır.
          Packit 90a5c9
              
          Packit 90a5c9
          Packit 90a5c9
              

          Bazı Teknik Bilgiler

          Packit 90a5c9
                Aslında, isim dönüşüm aşamasından (Aliases ve
          Packit 90a5c9
                DocumentRoots, URL’leri dosya isimlerine eşlemek için
          Packit 90a5c9
                kullanılırken) hemen önce uygulanan bir
          Packit 90a5c9
                <Location>/<LocationMatch> dizisi
          Packit 90a5c9
                vardır. Bu dizinin sonuçları isim dönüşüm aşaması tamamlandıktan sonra
          Packit 90a5c9
                tamamen elden çıkarılır.
          Packit 90a5c9
              
          Packit 90a5c9
          Packit 90a5c9
            

          Modüllerle

          Packit 90a5c9
              yapılandırma bölümleri arasındaki ilişki
          Packit 90a5c9
            
          Packit 90a5c9
              

          Yapılandırma bölümlerini okurken örneğin mod_rewrite

          Packit 90a5c9
                gibi belli modüllerin yönergelerinin bu bölümlere nasıl katılacağı ve  
          Packit 90a5c9
                ne zaman nasıl işleneceği gibi sorular sıkça aklımızdan geçer. Bunun 
          Packit 90a5c9
                belli bir yanıtı yoktur ve biraz temel bilgi gerektirir. Her httpd 
          Packit 90a5c9
                modülü yapılandırmasını kendi yönetir ve httpd.conf içindeki 
          Packit 90a5c9
                yönergelerinin her biri belli bir bağlamdaki bir yapılandırmayı 
          Packit 90a5c9
                belirtir. httpd bir komutu okunduğu sırada çalıştırmaz.

          Packit 90a5c9
              
          Packit 90a5c9
              

          Çalışma anında, httpd çekirdeği geçerli isteğe hangilerinin

          Packit 90a5c9
                uygulanacağını belirlemek için yukarıda açıklanan sırada tanımlı 
          Packit 90a5c9
                yapılandırma bölümlerini tekrar tekrar okur. Eşleşen ilk bölümün bu 
          Packit 90a5c9
                istek için geçerli yapılandırmayı içerdiği varsayılır. Eğer alt 
          Packit 90a5c9
                bölümlerden biri de eşleşmişse bu bölümlerde yönergeleri bulunan her 
          Packit 90a5c9
                modüle yapılandırmasını iki bölüm arasında katıştırma şansı verilir. 
          Packit 90a5c9
                Sonuç üçüncü bir yapılandırma olup işlem bütün yapılandırma bölümleri 
          Packit 90a5c9
                değerlendirilene kadar sürer.

          Packit 90a5c9
              
          Packit 90a5c9
              

          Yukarıdaki adımların ardından HTTP isteğiyle ilgili "asıl" işlem

          Packit 90a5c9
                başlar: her modül ondan istenen görevleri gerçekleştirme şansına sahip 
          Packit 90a5c9
                olur. Nasıl davranacaklarını belirlemek için kendilerinin katıştırılmış 
          Packit 90a5c9
                son yapılandırmalarını http çekirdeğinden alabilirler.

          Packit 90a5c9
              
          Packit 90a5c9
              

          Sürecin tamamı bir örnekle görselleştirilebilir. Aşağıdaki örnekte

          Packit 90a5c9
                belli bir HTTP başlığını ayarlamak için mod_headers 
          Packit 90a5c9
                modülünün Header yönergesi 
          Packit 90a5c9
                kullanılmıştır. /example/index.html isteği için httpd 
          Packit 90a5c9
                CustomHeaderName başlığına hangi değeri atayacaktır?
          Packit 90a5c9
              

          Packit 90a5c9
              
          <Directory "/">
          Packit 90a5c9
              Header set CustomHeaderName bir
          Packit 90a5c9
              <FilesMatch ".*">
          Packit 90a5c9
                  Header set CustomHeaderName yedi
          Packit 90a5c9
              </FilesMatch>
          Packit 90a5c9
          </Directory>
          Packit 90a5c9
          Packit 90a5c9
          <Directory "/example">
          Packit 90a5c9
              Header set CustomHeaderName iki
          Packit 90a5c9
          </Directory>
          Packit 90a5c9
              
          Packit 90a5c9
              
            Packit 90a5c9
                    
          • Directory "/" eşleşir ve ilk yapılandırma
          • Packit 90a5c9
                      olarak CustomHeaderName başlığı bir 
            Packit 90a5c9
                      değeriyle oluşturulur.
            Packit 90a5c9
                    
            Packit 90a5c9
                    
          • Directory "/example" eşleşir ve
          • Packit 90a5c9
                      mod_headers modülünün koduna göre bir katıştırma 
            Packit 90a5c9
                      durumundan yeni değer eskiyi geçersiz kılacağından yeni bir 
            Packit 90a5c9
                      yapılandırma ile CustomHeaderName başlığının değeri 
            Packit 90a5c9
                      iki yapılır.
            Packit 90a5c9
                    
            Packit 90a5c9
                    
          • FilesMatch ".*" eşleşir ve başka bir
          • Packit 90a5c9
                      katıştırma fırsatı doğar: CustomHeaderName başlığının 
            Packit 90a5c9
                      değeri yedi yapılır.
            Packit 90a5c9
                    
            Packit 90a5c9
                    
          • Neticede HHP isteğinin sonraki adımlarında
          • Packit 90a5c9
                      mod_headers çağrılıp yedi değeri 
            Packit 90a5c9
                      atanmış CustomHeaderName başlığını işleme sokması 
            Packit 90a5c9
                      istenecektir. mod_headers normalde işini yapmak 
            Packit 90a5c9
                      için bu yapılandırmayı kullanacaktır. Fakat bundan, bir yönergenin  
            Packit 90a5c9
                      gerekli olmaması veya kullanımdan kaldırılması ve benzeri nedenlerle 
            Packit 90a5c9
                      yapılandırmada iptal edilmesi gibi daha karmaşık bir eylemi bir 
            Packit 90a5c9
                      modülün gerçekleştiremeyeceği anlamı çıkarılmamalıdır.
            Packit 90a5c9
                
            Packit 90a5c9
            Packit 90a5c9
                

            Directory ile aynı katıştırma sırasından dolayı

            Packit 90a5c9
                  bu durum .htaccess için de geçerlidir. Burada anlaşılması gereken husus, 
            Packit 90a5c9
                  Directory ve FilesMatch 
            Packit 90a5c9
                  gibi yapılandırma bölümlerinin Header veya RewriteRule gibi modüle özgü 
            Packit 90a5c9
                  yönergelerle karşılaştırılmamasıdır, çünkü bunlar farklı seviyelerde 
            Packit 90a5c9
                  işlem görür.
            Packit 90a5c9
                

            Packit 90a5c9
              
            Packit 90a5c9
            Packit 90a5c9
              

            Bazı Örnekler

            Packit 90a5c9
            Packit 90a5c9
                

            Aşağıdaki yapay örnekte katıştırma sırası gösterilmiştir. Hepsinin aynı

            Packit 90a5c9
                  isteğe uygulandığı varsayımıyla, bu örnekteki yönergeler A > B > C
            Packit 90a5c9
                  > D > E sırasıyla uygulanacaktır.

            Packit 90a5c9
            Packit 90a5c9
                
            <Location "/">
            Packit 90a5c9
                E
            Packit 90a5c9
            </Location>
            Packit 90a5c9
            Packit 90a5c9
            <Files "f.html">
            Packit 90a5c9
                D
            Packit 90a5c9
            </Files>
            Packit 90a5c9
            Packit 90a5c9
            <VirtualHost *>
            Packit 90a5c9
                <Directory "/a/b">
            Packit 90a5c9
                    B
            Packit 90a5c9
                </Directory>
            Packit 90a5c9
            </VirtualHost>
            Packit 90a5c9
            Packit 90a5c9
            <DirectoryMatch "^.*b$">
            Packit 90a5c9
                C
            Packit 90a5c9
            </DirectoryMatch>
            Packit 90a5c9
            Packit 90a5c9
            <Directory "/a/b">
            Packit 90a5c9
                A
            Packit 90a5c9
            </Directory>
            Packit 90a5c9
            Packit 90a5c9
            Packit 90a5c9
                

            Daha somut bir örnek olarak aşağıdakini ele alalım.

            Packit 90a5c9
                  <Directory>
            Packit 90a5c9
                  bölümlerindeki erişim sınırlamaları ne olursa olsun <Location> bölümü son olarak
            Packit 90a5c9
                  değerlendirmeye alınacak ve sunucuya sınırsız erişim verecektir.
            Packit 90a5c9
                  Başka bir deyişle, katıştırma sırası önemlidir, bu nedenle dikkatli
            Packit 90a5c9
                  olmalısınız!

            Packit 90a5c9
            Packit 90a5c9
                
            <Location "/">
            Packit 90a5c9
                Require all granted
            Packit 90a5c9
            </Location>
            Packit 90a5c9
            Packit 90a5c9
            # Alooo!  Bu <Directory> bölümünün hiçbir hükmü yok.
            Packit 90a5c9
            <Directory "/">
            Packit 90a5c9
                <RequireAll>
            Packit 90a5c9
                    Require all granted
            Packit 90a5c9
                    Require not host kkadam.example.com
            Packit 90a5c9
                </RequireAll>
            Packit 90a5c9
            </Directory>
            Packit 90a5c9
            Packit 90a5c9
            Packit 90a5c9
              
            Packit 90a5c9
            Packit 90a5c9
            Packit 90a5c9
            Packit 90a5c9

            Mevcut Diller:  en  |

            Packit 90a5c9
             fr  |
            Packit 90a5c9
             ja  |
            Packit 90a5c9
             ko  |
            Packit 90a5c9
             tr 

            Packit 90a5c9
            top

            Yorum

            Notice:
            This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
            Packit 90a5c9
            <script type="text/javascript">
            Packit 90a5c9
            var comments_shortname = 'httpd';
            Packit 90a5c9
            var comments_identifier = 'http://httpd.apache.org/docs/2.4/sections.html';
            Packit 90a5c9
            (function(w, d) {
            Packit 90a5c9
                if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
            Packit 90a5c9
                    d.write('
            <\/div>');
            Packit 90a5c9
                    var s = d.createElement('script');
            Packit 90a5c9
                    s.type = 'text/javascript';
            Packit 90a5c9
                    s.async = true;
            Packit 90a5c9
                    s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
            Packit 90a5c9
                    (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
            Packit 90a5c9
                }
            Packit 90a5c9
                else { 
            Packit 90a5c9
                    d.write('
            Comments are disabled for this page at the moment.<\/div>');
            Packit 90a5c9
                }
            Packit 90a5c9
            })(window, document);
            Packit 90a5c9
            //--></script>
            Packit 90a5c9

            Copyright 2018 The Apache Software Foundation.
            Apache License, Version 2.0 altında lisanslıdır.

            Packit 90a5c9

            Modüller | Yönergeler | SSS | Terimler | Site Haritası

            <script type="text/javascript">
            Packit 90a5c9
            if (typeof(prettyPrint) !== 'undefined') {
            Packit 90a5c9
                prettyPrint();
            Packit 90a5c9
            }
            Packit 90a5c9
            //--></script>
            Packit 90a5c9
            </body></html>