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 apache2.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.
Yönergelerdeki değiştirgeler boşluklarla ayrılır. Eğer bir değiştirge kendi içinde boşluklar içeriyorsa tırnak içine alını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ırlara açıklama yerleştirilemez. Yönerge isminden önce yer alan boşluklar yoksayılır; bu özellik, okunabilirliği sağlamak için yönergelerin girintilenebilmesi olanağını verir. Ayrıca, boş satırlar da yoksayılır.
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 apache2ctl 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. Ancak, çıktı yinelenen yönergeler için katıştırılan veya geçersiz kılınanları yansıtmayacaktır.
Modüller
İlgili Modüller
İlgili Yönergeler
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ı
İlgili Modüller
İlgili Yönergeler
<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ı
İlgili Modüller
İlgili Yönergeler
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.
Mevcut Diller: de | en | fr | ja | ko | tr
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.