blob: 1bcf6ab4b275faa0f8c01fe6532a92817155ef8d [file] [log] [blame]
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
<!-- English Revision: 1213338:1673947 (outdated) -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manualpage metafile="configuring.xml.meta">
<title>Yapılandırma Dosyaları</title>
<summary>
<p>Bu belgede Apache HTTP Sunucusunu yapılandırmakta kullanılan dosyalar
açıklanmıştır.</p>
</summary>
<section id="main">
<title>Ana Yapılandırma Dosyaları</title>
<related>
<modulelist>
<module>mod_mime</module>
</modulelist>
<directivelist>
<directive module="core" type="section">IfDefine</directive>
<directive module="core">Include</directive>
<directive module="mod_mime">TypesConfig</directive>
</directivelist>
</related>
<p>Apache HTTP Sunucusu düz metin yapılandırma dosyalarına <a
href="mod/directives.html">yönergeler</a> yerleştirilerek yapılandırılır.
Ana yapılandırma dosyasının ismi normalde <code>httpd.conf</code>’tur.
Bu dosyanın yeri derleme sırasında belirlenir, ancak çalıştırma
sırasında <code>-f</code> komut satırı seçeneği ile başka bir yer
belirtilebilir. Ayrıca, <directive module="core">Include</directive>
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.</p>
<p>Sunucu ayrıca MIME belge türlerini içeren bir dosya daha okur;
dosya ismi öntanımlı olarak <code>mime.types</code> olup <directive
module="mod_mime">TypesConfig</directive> yönergesi ile başka bir dosya
belirtilebilir.</p>
</section>
<section id="syntax">
<title>Yapılandırma Dosyalarının Sözdizimi</title>
<p>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.</p>
<p>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.</p>
<p><directive module="core">Define</directive> 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 <code>${VAR}</code> 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.
<directive module="core">Define</directive> ile tanımlanmış değişkenler
kabuğun ortam değişkenlerinden önceliklidir. "VAR" diye bir değişken yoksa
<code>${VAR}</code> içindeki karakterler değişmeden kalır ve günlüğe bir
uyarı çıktılanır. <directive module="mod_rewrite">RewriteMap</directive>
sözdizimi ile olası bir karışıklığı önlemek için, değişken isimleri iki
nokta imini (":") içeremez.</p>
<p>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,
<directive module="mod_env">SetEnv</directive> ile), yapılandırma
dosyasındaki işlemlerde çok daha sonra yer alır.</p>
<p>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. <a
href="configuring.xml#htaccess">.htaccess dosyalarında</a> azami uzunluk
8190 karakterdir.</p>
<p>Sunucuyu başlatmadan önce <code>apachectl configtest</code> ile veya
<code>-t</code> komut satırı seçeneği ile yapılandırma dosyalarınızı
sözdizimi hatalarına karşı sınayabilirsiniz.</p>
<p>Eşleşmeyen <directive module="core" type="section">IfDefine</directive>
ve <directive module="core" type="section">IfModule</directive> 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
<module>mod_info</module>'nun <code>-DDUMP_CONFIG</code> seçeneğini
kullanabilirsiniz.</p>
</section>
<section id="modules">
<title>Modüller</title>
<related>
<modulelist>
<module>mod_so</module>
</modulelist>
<directivelist>
<directive module="core" type="section">IfModule</directive>
<directive module="mod_so">LoadModule</directive>
</directivelist>
</related>
<p>httpd modüler yapıda bir sunucudur. Bu, çekirdek sunucunun sadece en
temel işlevselliği içermesi demektir. Ek özellikler, httpd’ye <a
href="mod/">modüller</a> halinde yüklenebilir. Öntanımlı olarak, derleme
sırasında sunucunun <a href="mod/module-dict.html#Status">temel</a> bir
modül kümesi içermesi sağlanır. Eğer sunucu <a href="dso.html">devingen
yüklenen</a> modülleri kullanmak üzere yapılandırılarak derlenirse modüller
ayrı olarak derlenip gerektiği zaman <directive module="mod_so">
LoadModule</directive> 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 <directive module="core" type="section">IfModule</directive>
bloku içine alınmak suretiyle sunucuya koşullu olarak eklenebilir. Ancak,
<directive module="core" type="section">IfModule</directive> yönergeleri
gerekli değildir, önemli bir modülün yokluğu gibi durumlarda
maskelenebilir.</p>
<p>Sunucunun içinde derlenmiş modüllerin listesini görmek için
<code>-l</code> komut satırı seçeneğini kullanabilirsiniz. Ayrıca,
<code>-M</code> komut satırı seçeneği ile hangi modüllerin devingen olarak
yüklendiğini görebilirsiniz.</p>
</section>
<section id="scope">
<title>Yönergelerin Etki Alanı</title>
<related>
<directivelist>
<directive module="core" type="section">Directory</directive>
<directive module="core" type="section">DirectoryMatch</directive>
<directive module="core" type="section">Files</directive>
<directive module="core" type="section">FilesMatch</directive>
<directive module="core" type="section">Location</directive>
<directive module="core" type="section">LocationMatch</directive>
<directive module="core" type="section">VirtualHost</directive>
</directivelist>
</related>
<p>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 <directive module="core"
type="section">Directory</directive>, <directive module="core"
type="section">DirectoryMatch</directive>, <directive module="core"
type="section">Files</directive>, <directive module="core"
type="section">FilesMatch</directive>, <directive module="core"
type="section">Location</directive> ve <directive module="core"
type="section">LocationMatch</directive> 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.</p>
<p>httpd, çok sayıda farklı siteyi aynı anda sunabilecek yetenektedir.
Buna <a href="vhosts/">Sanal Konaklık</a> adı verilir. Yönergelerin etki
alanları ayrıca <directive module="core" type="section">VirtualHost</directive>
bölümleri içine konarak da değiştirilebilir. Böylece belli bir siteye gelen
isteklere farklı bir uygulama yapılabilir.</p>
<p>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 <a
href="mod/directive-dict.html#Context">bağlamına</a> bakınız. Bu konuda daha
ayrıntılı bilgi edinmek için: <a href="sections.html">Directory, Location ve
Files Bölümleri Nasıl Çalışır</a>.</p>
</section>
<section id="htaccess">
<title>.htaccess Dosyaları</title>
<related>
<directivelist>
<directive module="core">AccessFileName</directive>
<directive module="core">AllowOverride</directive>
</directivelist>
</related>
<p>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
<code>.htaccess</code> dosyaları olmakla birlikte <directive module="core"
>AccessFileName</directive> yönergesi kullanılarak rasgele bir isim
belirtilebilir. <code>.htaccess</code> dosyalarına yerleştirilen yönergeler
sadece dosyanın bulunduğu dizine ve alt dizinlerine uygulanır.
<code>.htaccess</code> dosyalarında da ana yapılandırma dosyalarında geçerli
sözdizimi kullanılır. <code>.htaccess</code> dosyaları her istek gelişinde
yeniden okunduğundan bu dosyalarda yapılan değişiklikler hemen etkisini
gösterir.</p>
<p><code>.htaccess</code> dosyalarına hangi yönergelerin
yerleştirilebileceğini bulmak için yönerge <a
href="mod/directive-dict.html#Context">bağlamına</a> bakınız.
Sunucunun yöneticisi <code>.htaccess</code> dosyalarına hangi yönergelerin
yerleştirilebileceğini ana yapılandırma dosyalarında
<directive module="core">AllowOverride</directive> yönergesini kullanarak
belirleyebilir.</p>
<p><code>.htaccess</code> dosyaları hakkında daha ayrıntılı bilgi edinmek
için <a href="howto/htaccess.html">.htaccess öğreticisi</a>ne bakabilirsiniz.</p>
</section>
</manualpage>