Yapılandırma Bölümleri
burası sadece 2.4.0 veya daha üstü sürümlerde
iş görür.
Alooo! Bu bölümünün hiçbir hükmü yok. Require all granted Require not host kkadam.example.com
İki temel taşıyıcı türü vardır. Taşıyıcıların çoğu her istek için değerlendirmeye alınır. Taşıyıcılardaki yönergeler ise sadece bu taşıyıcılarla eşleşen istekler için uygulanır. Diğer yandan,
taşıyıcıları sadece sunucu başlatılırken veya yeniden başlatılırken
değerlendirmeye alınır. Başlatma sırasında gerektirdikleri koşullar
sağlanıyorsa içerdikleri yönergeler tüm isteklere uygulanır. Aksi
takdirde, içerdikleri yönergeler yok sayılır.
komut satırında uygun parametreler tanımlanmışsa uygulanabilecek yönergeleri içerir. Örneğin, aşağıdaki yapılandırma ile tüm isteklerin diğer siteye yönlendirilebilmesi sadece sunucu httpdhttpd -DClosedForNow
komut satırı ile başlatıldığı takdirde mümkün olur:
yönergesi
sadece belli bir modülün sunucuda kullanılabilir durumda olması halinde
uygulanabilecek yönergeleri içerir. Modülün ya sunucuyla birlikte durağan
olarak derlenmiş olması ya da devingen olarak derlenmiş ve yapılandırma
dosyasında yönergeden önce o modüle ilişkin bir
satırının bulunması gerekir. Bu yönergeyi sadece belli bir modülün varlığının veya yokluğunun yapılandırma dosyanızın çalışmasını etkilememesini istediğiniz durumlarda kullanmalısınız. Eksik modüllerle ilgili hata iletilerini engellediğinden, taşıyıcı içine, her zaman çalışması istenen yönergeler konulmamalıdır.LoadModule
modülü mevcutsa uygulanacaktır.modmimemagic
yönergesi sunucunun belli bir sürümünün çalıştırılması halinde
uygulanabilecek yönergeleri içerebilmesi dışında
modülü farklı httpd sürümleri ve farklı yapılandırmalarla büyük ağlarda çalışmayı mümkün kılmak veya sürüm denemeleri yapabilmek amacıyla tasarlanmıştır.mod_version
yönergelerinin önüne "!" konularak olumsuz koşullar için uygulanabilir.
Ayrıca, bu bölümler daha karmaşık sınırlamalar elde etmek amacıyla bir
diğerinin içinde kullanılabilirler.
En sık kullanılan yapılandırma bölümü taşıyıcıları dosya sistemindeki veya site alanındaki belli yerlerin yapılandırmalarını değiştirmekte kullanılanlardır. Öncelikle, bu ikisi arasındaki farkları bilmek önemlidir. Dosya sistemi disklerinizin işletim sistemi tarafından size gösterilen halidir. Örneğin, öntanımlı kurulumda Apache httpd, Unix sistemlerinde /usr/local/apache2
altındayken Windows sistemlerinde "c:/Program Files/Apache Group/Apache2"
altındadır. (Bilgi: Windows için bile, Apache httpd yapılandırma dosyalarında dosya yolu belirtilirken tersbölü değil normal bölü karakterleri kullanılır.) Site alanı ise sunucu tarafından istemciye sunulan dizin ağacıdır. Yani, site alanı içindeki /dir/
dizini, Apache httpd’nin Unix üzerinde dosya sistemine öntanımlı olarak kurulduğu yer göz önüne alınarak, dosya sistemindeki /usr/local/apache2/htdocs/dir/
dizinine karşılıktır. Site sayfaları veritabanlarından veya başka yerlerden devingen olarak üretilebildiğinden site alanlarının doğrudan dosya sistemine eşlenmesi gerekli değildir.
dizini ve alt dizinlerinde dizin içeriğinin listelenmesi etkin kılınmaktadır.
Alias /foo/bar /srv/www/uncommon/bar Alias /foo /srv/www/common/foo
ProxyPass /special-area http://special.example.com smax=5 max=10 ProxyPass / balancer://mycluster/ stickysession=JSESSIONID|jsessionid nofailover=On
işlevindeki gibi kabuk tarzı dosya ismi kalıpları kullanılabilir. "" karakteri herhangi bir karakter dizisi ile eşleşirken "?" karakteri tek tek karakterlerle ve "[seq]" kalıbı ise seq* içindeki her karakterle eşleşir. "/" karakteri her hangi bir kalıp karakteri ile eşleşmez; açıkça belirtilmesi gerekir.
yönergelerinde gerekli
eşleşmeleri seçmek için perl uyumlu
Tüm kullanıcı dizinlerine ilişkin yapılandırmayı değiştirmek için dosya ismi kalıpları şöyle kullanılabilirdi:
Düzenli ifade bölümleri kullanarak çeşitli türlerdeki resim dosyalarına erişimi bir defada yasaklayabiliriz:
yönergesi isteğin
nasıl yapıldığına bakılmaksızın bu konumdan sunulan her türlü içeriğe
uygulanacaktı. (Dosya sistemi bağlarıyla bu da aşılabilir. Sembolik
bağlar kullanılarak aynı dizin dosya sisteminin bir çok yerine
yerleştirilebilir.
yönergesi dosya yolunu sıfırlamaksızın sembolik
bağları izleyecektir. Bu bakımdan, en yüksek seviyede güvenlik için uygun
yönergesi ile sembolik bağların izlenmesi devredışı bırakılabilir.)Options
Belki de siz sırf harf büyüklüğüne duyarlı bir dosya sistemi
kullanıyorsunuz diye böyle uygulamalara ihtiyacınız olmadığını düşünüyor
olabilirsiniz, fakat aynı site alanını çok sayıda dosya sistemi konumuna
eşleyecek daha bir sürü yol bulunduğunu unutmayınız. Bu bakımdan dosya
sisteminde yapacağınız kısıtlamalarda daima dosya sistemi taşıyıcılarını
kullanmalısınız. Bununla birlikte bu kuralın da bir istisnası vardır.
Yapılandırma kısıtlamalarının bir
bölümü içine koyulması, bu bölüme konan yönergelerin etki alanının belli bir URL ile sınırlı olmaması nedeniyle mükemmelen güvenlidir.
İç içe bölümler, aynı türdeki iç içe olmayan bölümlerin sonrasına yerleştirilir.
taşıyıcısının içinde belli bir konağa uygulanan yönergeler bulunur.
Aynı makinede çok sayıda konağı farklı yapılandırmalarla sunuyorsanız
bu taşıyıcı çok işinize yarar. Daha fazla bilgi için
vekil sunucusu üzerinden erişilen sitelere uygulanan yapılandırma yönergelerini bulundururlar. Örneğin aşağıdaki yapılandırma mod_proxyexample.com
sitesine erişim için vekil sunucunun kullanılmasını engelleyecektir.
Hangi yönergelere hangi yapılandırma bölümlerinde izin verildiğini öğrenmek için yönerge bağlamına bakınız.
bölümlerinde
izin verilen herşeye sözdizimsel olarak ayrıca
bölümlerinde de izin verilir. Yine de bazı istisnai durumlar
mevcuttur:
bölümlerinde kullanılamaz.Yapılandırma bölümleri belli bir sıra ile uygulanır. Yapılandırma yönergelerinin yorumlanışı üzerinde önemli etkilere sahip olabilmesi nedeniyle neyin ne zaman çalıştığını anlamak çok önemlidir.
Yapılandırma bölümlerinin katıştırılma sırası şöyledir:
aynı anda işleme sokulur (.htaccess
ile eğer izin verilmişse
bölümündekiler hariç, her grup, yapılandırma dosyasında bulundukları
sıraya göre işleme sokulurlar. Yukarıda 1. grup olan
bölümü en kısa dizin
elemanından en uzun dizin elemanına doğru işleme sokulur. Yani, örneğin,
bölümünden önce işleme sokulacaktır. Eğer aynı uzunlukta çok sayıda dizin varsa
yönergeleri ile yapılandırmaya dahil edilen dosyaların içerikleri Include
yönergesinin bulunduğu yere konulduktan sonra işleme sokulurlar.Include
bölümlerinin içindeki bölümler, sanal konak tanımı dışındaki
karşılıklarından
taşıyıcısı
işlem sırasında
taşıyıcısının yerini alır.
Sonraki bölümler öncekileri geçersiz kılmak üzere işleme alınırlarsa da her modül bu geçersiz kılmaya sebep olan formu yorumlamaktan sorumludur. Belli bir modülülün yönergeleri bulunan sonraki yapılandırma bölümleri, bazı yönergelerin, tüm yönergelerin veya modül yapılandırmasının tamamının sonraki bağlamda açıkça listelenmiş modül öntanımlıları ve yönergelerle bir kavramsal "katıştırmasına" sebep olabilir.
, URL’leri dosya isimlerine eşlemek için
kullanılırken) hemen önce uygulanan bir
dizisi vardır. Bu dizinin sonuçları isim dönüşüm aşaması tamamlandıktan sonra tamamen elden çıkarılır. Aşağıdaki yapay örnekte katıştırma sırası gösterilmiştir. Hepsinin aynı isteğe uygulandığı varsayımıyla, bu örnekteki yönergeler A > B > C > D > E sırasıyla uygulanacaktır.
Daha somut bir örnek olarak aşağıdakini ele alalım.
bölümlerindeki erişim sınırlamaları ne olursa olsun
bölümü son olarak değerlendirmeye alınacak ve sunucuya sınırsız erişim verecektir. Başka bir deyişle, katıştırma sırası önemlidir, bu nedenle dikkatli olmalısınız
Modüller | Yönergeler | SSS | Terimler | Site Haritası
Apache HTTP Sunucusu Sürüm 2.4
Yapılandırma Bölümleri
Mevcut Diller: en | fr | ja | ko | tr
Yapılandırma dosyalarındaki yönergeler sunucunun tamamına uygulanacağı gibi sadece belli dizinler, dosyalar, konaklar veya URL’lere uygulanmakla sınırlanabilir. Bu belgede, yapılandırma bölümü taşıyıcılarınının veya .htaccess dosyalarının, yapılandırma dosyalarındaki diğer yönergelerin etki alanlarını değiştirtirmek için nasıl kullanılacağı açıklanmıştır.
.htaccess
- Yapılandırma Bölümü Taşıyıcılarının Türleri
- Dosya Sistemi, Site Alanı ve Mantıksal İfadeler
- Sanal Konaklar
- Vekil
- Hangi Yönergelere İzin Veriliyor?
- Bölümler Nasıl Katıştırılır?
Yapılandırma Bölümü Taşıyıcılarının Türleri
İlgili Modüller
İlgili Yönergeler
coremod_versionmod_proxy
- core
- mod_version
- mod_proxy
core
mod_version
mod_proxy
Bir
Dosya sisteminin belli bir yerindeki belli dosyalarla ilgili yaptırımlar için
Dosya sistemi ile etkileşime girmeyen herşey için
Belli bölümler ve yönergeler değerlendirilirken çakışan iki URL bir URL olarak dikkate alınır.
Diğer yandan
ProxyPass
Aynısı ProxyPass yönergeleri için de geçerlidir:
Daha esnek bir eşleşmenin gerekli olduğu durumlar için her taşıyıcının bir düzenli ifade karşılığı vardır.
ifadelerin içinden
İsimli gruplar ve geriye başvurular içeren düzenli ifadeler ortama eklenirken ilgili isimler büyük harfli yapılır. Böylece, URL'lere ve dosya yolları elemanlarına ifadelerin içinden ve mod_rewrite gibi modüllerden başvurmak mümkün olur.
Dosya sistemi taşıyıcıları ile site alanı taşıyıcıları arasında seçim yapmak aslında oldukça kolaydır. Dosya sisteminde bulunan nesnelere uygulanacak yönergeler için daima
Dosya sistemindeki nesnelere erişimi kısıtlarken asla
http://siteniz.mesela.dom/dir/ için bir istek yapılmışsa bu doğru çalışacaktır. Fakat dosya sistemi harf büyüklüğüne duyarsızsa ne olacak? Kısıtlamanız, istek http://siteniz.mesela.dom/DIR/ şeklinde yapılarak kolayca geçersiz kılınabilir. Halbuki
Bazı bölüm türleri başka bölüm türlerinin içinde olabilir. Bir yandan,