Apache HTTP Sunucusu Sürüm 2.2

Apache > HTTP Sunucusu > Belgeleme > Sürüm 2.2

# Yapılandırma Dosyaları

Mevcut Diller: de | en | fr | ja | ko | tr

Bu belgede Apache HTTP sunucusunu yapılandırmakta kullanılan dosyalar açıklanmıştır.

## Ana Yapılandırma Dosyaları

İlgili Modüller | İlgili Yönergeler
--- | ---

- `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

İlgili Modüller | İlgili Yönergeler
--- | ---

- `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ı

İ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.

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ı

İlgili Modüller | İlgili Yönergeler
--- | ---

- `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.

Mevcut Diller: de | en | fr | ja | ko | tr