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 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 Apache
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
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.
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.
Kabuk ortam değişkenlerinin değerleri yapılandırma dosyası içinde
${ENVVAR} sözdizimi ile kullanılabilir. "ENVVAR" geçerli bir
ortam değişkeninin adı olduğu takdirde, yapılandırma dosyasında görüldüğü
yerlerde değişkenin değeri yazılmış gibi işlem yapılır. (ENVVAR diye bir
değişken yoksa yapılandırma dosyasının işlenmesinin sonraki aşamalarında
kullanılmak üzere "${ENVVAR}" karakterleri oldukları gibi bırakılır.)
Yapılandırma dosyasındaki bir satırı uzunluğu, ortam değişkenlerinin
değerleri yerleştirildikten, devam satırları birleştirilip satırın önündeki
ve ardındaki boşluk karakterleri temizlendikten sonra en fazla 8192
karakter olabilir.
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.
Modüller
mod_so
IfModule
LoadModule
Apache modüler yapıda bir sunucudur. Bu, çekirdek sunucunun sadece en
temel işlevselliği içermesi demektir. Ek özellikler, Apache’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
Apache’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.
Sunucunun içinde derlenmiş modüllerin listesini görmek için
-l komut satırı seçeneğini kullanabilirsiniz.
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.
Apache, ç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 siteden 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
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
.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.