update for sync with English docs.

Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by:  Orhan Berent <berent belgeler.org>

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1076002 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nilgun Belma Buguner
2011-03-01 19:56:49 +00:00
parent e7e30d8231
commit b40fad3fd5
6 changed files with 188 additions and 203 deletions

View File

@ -1,7 +1,7 @@
<?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: 947280:1070889 (outdated) -->
<!-- English Revision: 1070889 -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
@ -26,7 +26,7 @@
<manualpage metafile="bind.xml.meta">
<title>Dinleme</title>
<title>Adresleri ve Portları Dinleme</title>
<summary>
<p>Apache HTTPD sunucusunun belli adresleri ve portları dinlemek üzere
@ -72,10 +72,6 @@
böyle bir durumda belirtilen bütün adres ve portlardan gelen isteklere
yanıt verecektir.</p>
<p>Bir <directive module="mpm_common">Listen</directive> yönergesinin
aynısının tekrarı sunucunun başlatılmasını engelleyen ölümcül bir hatayla
sonuçlanacaktır.</p>
<p>Örneğin, sunucunun hem 80 portundan hem de 8000 portundan gelen
bağlantıları kabul etmesini sağlamak için,</p>
@ -99,7 +95,18 @@
<example>
Listen [2001:db8::a00:20ff:fea7:ccea]:80
</example>
</section>
<note type="warning">
<p>Bir <directive module="mpm_common">Listen</directive> yönergesinin
aynısının tekrarı sunucunun başlatılmasını engelleyen ölümcül bir hatayla
sonuçlanacaktır.</p>
<example>
(48)Address already in use: make_sock: could not bind to address [::]:80
</example>
</note>
</section>
<section id="ipv6">
<title>IPv6 Adreslerin Durumu</title>
@ -146,6 +153,25 @@
seçenek FreeBSD, NetBSD ve OpenBSDde öntanımlıdır.</p>
</section>
<section id="protocol">
<title>Protokolü Listen ile Belirtme</title>
<p><directive module="mpm_common">Listen</directive> yönergesinin isteğe
bağlı ikinci değiştirgesi <var>protokol</var> çoğu yapılandırmada gerekli
olmaz. Belirtilmediği takdirde, <code>https</code> için 443,
<code>http</code> için ise diğer bütün portlar öntanımlıdır. Protokol,
isteğin hangi modül tarafından işleneceğini ve <directive
module="core">AcceptFilter</directive> yönergesi ile uygulanacak
protokole özgü en iyilemeleri belirlemekte kullanılır.</p>
<p>Sadece standartdışı bir port kullanmak isterseniz protokolü belirtmeniz
gerekir. Örneğin, bir<code>https</code> sitesini port 8443 üzerinde
çalıştırmak isterseniz:</p>
<example>
Listen 192.170.2.1:8443 https
</example>
</section>
<section id="virtualhost">
<title>Sanal Konaklarla Nasıl Çalışır?</title>

View File

@ -1,7 +1,7 @@
<?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: 922237:1058639 (outdated) -->
<!-- English Revision: 1058639 -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>

View File

@ -1,7 +1,7 @@
<?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: 830237:1061758 (outdated) -->
<!-- English Revision: 1061758 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
@ -25,7 +25,8 @@
<title>Yapılandırma Dosyaları</title>
<summary>
<p>Bu belgede Apache HTTP sunucusunu yapılandırmakta kullanılan dosyalarıklanmıştır.</p>
<p>Bu belgede Apache HTTP Sunucusunu yapılandırmakta kullanılan dosyalar
ıklanmıştır.</p>
</summary>
<section id="main">
@ -41,7 +42,7 @@
</directivelist>
</related>
<p>Apache düz metin yapılandırma dosyalarına <a
<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
@ -51,7 +52,7 @@
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
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;
@ -63,7 +64,7 @@
<section id="syntax">
<title>Yapılandırma Dosyalarının Sözdizimi</title>
<p>Apache yapılandırma dosyalarının her satırında sadece bir yönerge
<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ü
@ -77,9 +78,29 @@
ve boş satırlar yok sayılır; bu özellik, okunabilirliği sağlamak için
yönergelerin girintilenebilmesi olanağını verir.</p>
<p>Yapılandırma dosyasındaki bir satırın uzunluğu, devam satırları
eklenip satır başındaki ve sonundaki boşluk karakterleri atıldıktan sonra
en fazla 8192 karakter olabilir.</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ı eklenip satır başındaki ve sonundaki boşluk
karakterleri atıldıktan sonra en fazla 8192 karakter olabilir.</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ı
@ -99,21 +120,26 @@
</directivelist>
</related>
<p>Apache modüler yapıda bir sunucudur. Bu, çekirdek sunucunun sadece en
temel işlevselliği içermesi demektir. Ek özellikler, Apacheye <a
<p>httpd modüler yapıda bir sunucudur. Bu, çekirdek sunucunun sadece en
temel işlevselliği içermesi demektir. Ek özellikler, httpdye <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 Apachenin yeniden
ek modülleri yükleyebilmek veya kaldırabilmek için httpdnin 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.</p>
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.</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">
@ -145,7 +171,7 @@
Yerine göre daha hassas ayarlamalar yapmak için bu bölgeler iç içe de
kullanılabilir.</p>
<p>Apache, çok sayıda farklı siteyi aynı anda sunabilecek yetenektedir.
<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
@ -170,7 +196,7 @@
</directivelist>
</related>
<p>Apache yapılandırma sorumluluğunu dağıtmak için site ağaçları içine özel
<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

View File

@ -1,7 +1,7 @@
<?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: 675610:1029134 (outdated) -->
<!-- English Revision: 1029134 -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
@ -30,7 +30,7 @@
<summary>
<p>Apache, içerik uzlaşımını HTTP/1.1 belirtiminde bahsedildiği şekliyle
<p>Apache HTTPD, içerik uzlaşımını HTTP/1.1 belirtiminde bahsedildiği şekliyle
destekler. Bir özkaynağın en iyi gösterimini, tarayıcının sağladığı
karakter kodlaması, karakter kümesi, dil, ortam türü gibi kullanıcı
tercihlerine bağlı olarak seçebilir. Ayrıca, tarayıcının kullanıcı
@ -73,11 +73,11 @@
q=0.6, image/*; q=0.5, */*; q=0.1
</example>
<p>Apache, HTTP/1.1 belirtiminde tanımlanan şekliyle sunucu yönetiminde
<p>httpd, HTTP/1.1 belirtiminde tanımlanan şekliyle sunucu yönetiminde
içerik uzlaşımını destekler. <code>Accept</code>,
<code>Accept-Language</code>, <code>Accept-Charset</code> ve
<code>Accept-Encoding</code> istek başlıklarını tamamen destekler.
Apache ayrıca, RFC 2295 ve RFC 2296da tanımlanan bir deneysel uzlaşım
httpd ayrıca, RFC 2295 ve RFC 2296da tanımlanan bir deneysel uzlaşım
olarak şeffaf içerik uzlaşımını da destekler. Fakat özellik
uzlaşımını bu RFClerde tanımlandığı gibi desteklemez.</p>
@ -93,7 +93,7 @@
kaynaklandığından bahsedilebilir.</p>
</section>
<section id="negotiation"><title>Apachede İçerik Uzlaşımı</title>
<section id="negotiation"><title>httpdde İçerik Uzlaşımı</title>
<p>Bir özkaynak üzerinde uzlaşılırken gösterim çeşitlerinin her biri
hakkında sunucuya bilgi verilmesi gerekir. Bu iki yolla yapılabilir:</p>
@ -111,7 +111,7 @@
<section id="type-map"><title>Bir türeşlem dosyası kullanmak</title>
<p>Bir türeşlem dosyası, <code>type-map</code> eylemcisi ile ilişkili bir
belgedir (ya da eski Apache yapılandırmaları ile geriye uyumluluk için,
belgedir (ya da eski httpd yapılandırmaları ile geriye uyumluluk için,
<code>application/x-type-map</code> <glossary>MIME türü</glossary>nde
bir belgedir). Bu özelliği kullanmak için, yapılandırmada bir tür
eşleyici olarak her dosya ismi uzantısı için bir <code>type-map</code>
@ -175,7 +175,7 @@
doğasına bakarak belirlenir.</p>
<p>Tanınan başlıkların tam listesini <a
href="mod/mod_negotiation.html#typemaps" >mod_negotation</a> modülünün
href="mod/mod_negotiation.html#typemaps" >mod_negotiation</a> modülünün
belgesinde bulabilirsiniz.</p>
</section>
@ -226,10 +226,10 @@
<section id="methods"><title>Uzlaşım Yöntemleri</title>
<p>Apachenin, bir türeşlem dosyası veya dizin içindeki bir dosya
<p>httpdnin, bir türeşlem dosyası veya dizin içindeki bir dosya
sayesinde belli bir özkaynağın gösterim çeşitlerinin bir listesini elde
ettikten sonra en uygun gösterime karar vermek için kullanabileceği
iki yöntem vardır. Apachenin içerik uzlaşım özelliklerinin kullanımı
iki yöntem vardır. httpdnin içerik uzlaşım özelliklerinin kullanımı
sırasında uzlaşımın nasıl yerine getirileceği ile ilgili ayrıntıları
bilmek aslında gerekli değildir. Bununla birlikte belgenin kalanında bu
konu açıklanmaya çalışılmıştır.</p>
@ -237,11 +237,11 @@
<p>İki uzlaşım yöntemi vardır:</p>
<ol>
<li>Normal durumda <strong>sunucu yönetiminde Apache uzlaşım
<li>Normal durumda <strong>sunucu yönetiminde httpd uzlaşım
algoritması</strong> kullanılır. Bu algoritma aşağıda ayrıntılı olarak
ıklanmıştır. Bu algoritma kullanıldığı zaman, Apache, en iyi sonuca
ıklanmıştır. Bu algoritma kullanıldığı zaman, httpd, en iyi sonuca
ulaşmak için bazen belli boyutların üstünlük katsayılarıyla oynar.
Apachenin bu katsayılarla oynama işini nasıl yaptığı aşağıda daha
httpdnin bu katsayılarla oynama işini nasıl yaptığı aşağıda daha
ayrıntılııklanmıştır.</li>
<li>İstemci bu işlem için özellikle RFC 2295te tanımlanan mekanizmanın
@ -251,7 +251,7 @@
tarayıcının bu işlem için kullandığı algoritmanın başarısına bağlıdır.
Şeffaf uzlaşım sürecinin bir parçası olarak, tarayıcı, RFC 2296da
tanımlanan gösterim çeşidini uzaktan seçme algoritmasının
çalıştırılmasını Apacheden isteyebilir.</li>
çalıştırılmasını httpdden isteyebilir.</li>
</ol>
<section id="dimensions"><title>Uzlaşımın Boyutları</title>
@ -301,9 +301,9 @@
</table>
</section>
<section id="algorithm"><title>Apache Uzlaşım Algoritması</title>
<section id="algorithm"><title>httpd Uzlaşım Algoritması</title>
<p>Apache, tarayıcıya döndürülecek en uygun gösterim çeşidini (varsa)
<p>httpd, tarayıcıya döndürülecek en uygun gösterim çeşidini (varsa)
seçmek için aşağıdaki algoritmayı kullanabilir. Bu algoritma pek de
yapılandırılabilir değildir. Şöyle çalışır:</p>
@ -383,13 +383,13 @@
<section id="better"><title>Üstünlük Değerleriyle Oynamak</title>
<p>Apache bazen yukarıdaki Apache uzlaşım algoritmasının kesin sonucunun
<p>httpd bazen yukarıdaki httpd uzlaşım algoritmasının kesin sonucunun
beklenenden farklı olması için üstünlük değerleriyle oynar. Bunu tam ve
doğru bilgi göndermeyen tarayıcılar için algoritmadan en iyi sonucu elde
etmek amacıyla yapar. Bazen günümüzün en tanınmış tarayıcıları bile çoğu
durumda yanlış bir seçimle sonuçlanmayacaksa <code>Accept</code> başlık
bilgilerini göndermemektedir. Eğer tarayıcı eksiksiz ve doğru bilgi
gönderirse Apache bu değerlerle oynamayacaktır.</p>
gönderirse httpd bu değerlerle oynamayacaktır.</p>
<section id="wildcards"><title>Ortam Türleri ve Dosyaismi Kalıpları</title>
@ -423,7 +423,7 @@
hiçbirinin bulunmaması halinde diğer türler eşleşecektir.</p>
<p>Eğer <code>Accept:</code> başlığı <em>hiçbir</em> <code>q</code>
katsayısı içermiyorsa ve başlıkta "*/*" belirtilmişse, Apache istenen
katsayısı içermiyorsa ve başlıkta "*/*" belirtilmişse, httpd istenen
davranışı taklit etmek için bu kalıba 0.01 katsayısını atar. Keza
"type/*" kalıbına da 0.02 katsayısını atar (yani, */* kalıbına göre
tercihli olur). Eğer <code>Accept:</code> alanındaki her ortam türü bir
@ -434,7 +434,7 @@
<section id="exceptions"><title>Dil Uzlaşımında İstisnalar</title>
<p>Apache 2.0dan itibaren, uzlaşım algoritmasına, bir eşleşme bulmak
<p>httpd 2.0dan itibaren, uzlaşım algoritmasına, bir eşleşme bulmak
konusunda algoritma başarılı olamadığı takdirde hoş bir son çareye izin
vermek için bazı istisnalar eklenmiştir.</p>
@ -442,7 +442,7 @@
gönderilen <code>Accept-language</code> başlığıyla eşleşen tek bir sayfa
bulamadığı takdirde istemciye ya “Kabul edilebilir bir gösterim çeşidi
yok” ya da “Çok sayıda seçim belirtilmiş” yanıtını döndürür. Bu hata
iletilerinden kaçınmak için bu gibi durumlarda Apache
iletilerinden kaçınmak için bu gibi durumlarda httpd
<code>Accept-language</code> başlığını yoksaymaya ayarlanabilir. Böylece
istemcinin isteğine tam olarak uymasa da bir belge sağlanır. Bu hata
iletilerinin birini veya her ikisini de geçersiz kılmak için <directive
@ -466,7 +466,7 @@
<directive module="mod_negotiation" >LanguagePriority</directive> son
çaresine ayarlanmışsa alt küme belirtimini yok sayacak ve
<code>en</code> belge isteklerine <code>en-GB</code> belgelerle yanıt
verecektir. Apache, lehçenin üyesi olduğu anadili, istemcinin kabul
verecektir. httpd, lehçenin üyesi olduğu anadili, istemcinin kabul
edilebilir diller listesine örtük olarak düşük bir üstünlük değeri ile
ekler. Yalnız şuna dikkat edin, eğer istemci tercihini "en-GB; q=0.9,
fr; q=0.8" olarak belirtirse ve sunucuda sadece "en" ve "fr" belgeleri
@ -475,7 +475,7 @@
gibi çalışabilmek için bu gereklidir.</p>
<p>Gelişmiş tekniklerin (çerezler, özel URL yolları gibi) desteklenmesi
sırasında, kullanıcının tercih ettiği dili saptamak için Apache 2.0.47
sırasında, kullanıcının tercih ettiği dili saptamak için httpd 2.0.47
sürümünden beri <module>mod_negotiation</module> modülü
<code>prefer-language</code> <a href="env.html">ortam değişkenini</a>
tanımaktadır. Değişken mevcutsa ve uygun bir dil yaftası içeriyorsa
@ -493,7 +493,7 @@
<section id="extensions">
<title>Şeffaf İçerik Uzlaşımının Genişletilmesi</title>
<p>Apache, şeffaf içerik uzlaşımı protokolünü (RFC 2295) şöyle genişletir:
<p>httpd, şeffaf içerik uzlaşımı protokolünü (RFC 2295) şöyle genişletir:
Sadece içerik kodlamasına özgü olmak üzere gösterim çeşidi listelerinde
gösterim çeşitlerini imlemek için yeni bir <code>{encoding ..}</code>
elemanı kullanılır. RVSA/1.0 algoritmasının (RFC 2296) gerçeklenimi,
@ -601,7 +601,7 @@
<p>Yukarıdaki tabloya bakarak hiperbağlarda bir dosya ismini uzantısız
olarak (<code>misal</code> gibi) kullanmanın daima mümkün olduğunu
farkedeceksiniz. Böylece br belgenin asıl türünü gizleyebilir ve
farkedeceksiniz. Böylece bir belgenin asıl türünü gizleyebilir ve
sonradan bir hiperbağ değişikliği yapmaksızın örneğin
<code>html</code>den <code>shtml</code> veya <code>cgi</code>ye
geçebilirsiniz.</p>
@ -617,9 +617,9 @@
Böylece, sonradan aynı URL için bir istek yapıldığında kaydettiği
gösterimi kullanabilir. Fakat özkaynak sunucuyla uzlaşılan türdeyse
arabelleğe ilk istenen çeşit saklanmış olacağından isteğe yanlış
gösterimle yanıt verilmiş olacaktır. Bunun olmaması için Apache, normal
gösterimle yanıt verilmiş olacaktır. Bunun olmaması için httpd, normal
olarak içerik uzlaşımının sonucu olarak döndürülen tüm yanıtları
HTTP/1.0 istemciler tarafından arabelleklenemez olarak imler. Apache
HTTP/1.0 istemciler tarafından arabelleklenemez olarak imler. httpd
ayrıca, uzlaşımlı yanıtların arabelleklenmesini mümkün kılan HTTP/1.1
protokolünü de destekler.</p>
@ -631,7 +631,7 @@
yapılandırılmasında kullanılabilir. Bunun HTTP/1.1 istemcilerinden gelen
isteklere bir etkisi yoktur.</p>
<p>HTTP/1.1 istemciler için, Apache, yanıtın uzlaşım boyutlarını göstermek
<p>HTTP/1.1 istemciler için, httpd, yanıtın uzlaşım boyutlarını göstermek
üzere bir <code>Vary</code> HTTP yanıt başlığı gönderir. Arabellekler bu
bilgiyi sonraki istekleri yerel kopyadan sunarken kullanabilirler. Bir
arabelleğin uzlaşım boyutlarına bakmaksızın yerel kopyasını kullanmaya

View File

@ -1,7 +1,7 @@
<?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: 788974:1040785 (outdated) -->
<!-- English Revision: 1040785 -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
@ -26,7 +26,7 @@
<manualpage metafile="dns-caveats.xml.meta">
<title>Apache ve DNS ile ilgili Konular</title>
<title>Apache HTTP Sunucusu ve DNS ile ilgili Konular</title>
<summary>
<p>Bu sayfanın konusu şöyle özetlenebilirdi: Yapılandırma dosyalarınızda
@ -34,7 +34,7 @@
yapılandırma dosyalarınızda DNS sorgusu yapılarak çözümlenebilecek
adresler bulunursa sunucunuz beklenmedik davranışlar (hiç
başlamayabilir) gösterebileceği gibi hizmet reddi veya hizmet
hırsızlığı (bazı kullanıcıların diğerlerine giden sayfaları çalma
hırsızlığı (bazı sanal konakların diğerlerine giden sayfaları çalma
olasılığı dahil) saldırılarına açık hale gelebilir.</p>
</summary>
@ -51,16 +51,15 @@
&lt;/VirtualHost&gt;
</example>
<p>Apachenin beklendiği gibi işlemesi için her sanal konak için iki
<p>httpdnin beklendiği gibi işlemesi için her sanal konak için iki
veriye mutlaka ihtiyacı vardır: <directive module="core"
>ServerName</directive> ve sunucunun bağlantı kabul edip hizmet
sunacağı en az bir IP adresi. Yukarıdaki örnekte IP adresi
bulunmamaktadır, dolayısıyla Apache, <code>falan.fesmekan.dom</code>
adresi için bir DNS sorgusu yapmak zorundadır. Eğer sunucu,
yapılandırma dosyasını çözümlediği sırada bir sebeple DNS sunucusuna
erişemezse bu sanal konak <em>yapılandırılmayacak</em> (hApache 1.2
öncesinde sunucu hiç başlatılmazdı) ve bu sanal konağa yapılan
isteklere yanıt verilemeyecektir.</p>
erişemezse bu sanal konak <em>yapılandırılmayacak</em> ve bu sanal konağa
yapılan isteklere yanıt verilemeyecektir.</p>
<p><code>falan.fesmekan.dom</code>un 192.168.2.1 IP adresine sahip
olduğunu varsayarsak yapılandırma şöyle olurdu:</p>
@ -76,12 +75,13 @@
</example>
<p>Ancak, bu sefer de bu sanal konağın sunucu ismini öğrenmek için
Apachenin bir ters DNS sorgusu yapması gerekecektir. Eğer bu sorgu
başarısız olursa kısmi bir yapılandırmaya gidilir (Apache 1.2 öncesinde
sunucu hiç başlatılmazdı). Eğer sanal konak isme dayalı ise sanal konak
httpdnin bir ters DNS sorgusu yapması gerekecektir. Eğer bu sorgu
başarısız olursa kısmi bir yapılandırmaya gidilir.
Eğer sanal konak isme dayalı ise sanal konak
kısmen bile yapılandırılmaz. IPye dayalı sanal konaklar büyük oranda
çalışır, fakat sunucu ismini içeren tam bir adres üretilmesini
gerektiren bir durumda, sunucu geçerli bir adres üretemez.</p>
çalışır, fakat (örneğin, bir Redirect varlığında olduğu gibi) sunucu ismini
içeren tam bir adres üretilmesini gerektiren bir durumda, sunucu geçerli
bir adres üretemez.</p>
<p>Her iki sorunu da çözen yapılandırma şöyle olurdu:</p>
@ -99,17 +99,7 @@
<section id="denial">
<title>Hizmet Reddi</title>
<p>Hizmet reddinin meydana gelebilecek (en az) iki türü vardır.
Apachenin 1.2 öncesi bir sürümünü kullanıyorsanız sanal
konaklarınızdan herhangi biri için yukarıdaki iki sorgudan biri
başarısız olursa sunucunuzu asla başlatamazsınız. Bazı durumlarda, DNS
sorgularından alınacak yanıtlar sizin denetiminizde olmayabilir;
örneğin <code>fesmekan.dom</code> müşterilerinizden birine aitse ve
kendi DNS sunucuları varsa <code>falan.fesmekan.dom</code> kaydını
silerek sunucunuzun hiç başlatılamamasına (1.2 öncesi) sebep
olabilirler.</p>
<p>Diğer türü biraz daha sinsidir. Şöyle bir yapılandırmanız olsun:</p>
<p>Şöyle bir yapılandırmanız olsun:</p>
<example>
&lt;VirtualHost falan.fesmekan.dom&gt;<br />
@ -150,12 +140,11 @@
<section id="main">
<title>"Ana Sunucu" Adresi</title>
<p>Apache 1.1de <a href="vhosts/name-based.html">isme dayalı sanal konak
desteği</a>ne ek olarak, Apachenin, <program>httpd</program>nin
çalıştığı makinenin IP adres(ler)ini de bilmeye ihtiyacı vardır. Bu
adresi elde etmek için sunucu, ya sunucu genelinde geçerli <directive
module="core">ServerName</directive> yönergesine bakar ya da bir C
işlevi olan <code>gethostname</code>i kullanır (işlev, komut
<p><a href="vhosts/name-based.html">İsme dayalı sanal konak
desteği</a>, httpdnin çalıştığı makinenin IP adres(ler)ini de bilmesini
gerektirir. Bu adresi elde etmek için sunucu, ya sunucu genelinde geçerli
<directive module="core">ServerName</directive> yönergesine bakar ya da bir
C işlevi olan <code>gethostname</code>i kullanır (işlev, komut
isteminden <code>hostname</code> komutuna dönen yanıtın aynısını
döndürür) ve ardından bu adresle ilgili olarak bir DNS sorgusu yapar.
Bu sorgudan kaçınmanın henüz bir yolu yoktur.</p>
@ -169,7 +158,7 @@
dosyasında bulunması gerekebilir.</p>
<p>Herhangi bir nedenle sunucunuz bir DNS sorgusu yapmıyorsa veya
yapmamalıysa, Apacheyi <code>HOSTRESORDER</code> ortam değişkenine
yapmamalıysa, httpdyi <code>HOSTRESORDER</code> ortam değişkenine
"<code>local</code>" değerini atadıktan sonra çalıştırabilirsiniz. Bu
tamamen işletim sistemine ve kullandığınız çözümleyici kütüphanelere
bağlıdır. Ayrıca, ortamı denetlemek için <module>mod_env</module>
@ -195,36 +184,4 @@
</ul>
</section>
<section id="appendix">
<title>Ek: Ufuk Turu</title>
<p>DNS ile ilgili durum hiç de arzu edildiği gibi değildir. Apache 1.2
için, DNS sorguları başarısız olsa bile sunucunun başlatılabilmesini
sağlamaya çalıştık, fakat belki yapabildiğimizden daha da iyisi
mümkündür. Günümüz Genel Ağında IP adresleri sık sık değiştiğinden
yapılandırma dosyasına doğrudan IP adresini yazma gerekliliği asla arzu
edilen davranış değildir.</p>
<p>Yukarıda nasıl yapıldığııklanan hizmet hırsızlığı saldırısına karşı
önlem olarak, normal sorgudan dönen IP adresine bir ters DNS sorgusu
yapıp bu iki sonucu karşılaştırmak ve eşleşmeme durumunda sanal konağı
iptal etmek bir çözüm olabilir. Fakat bunun mümkün olabilmesi için
uygun bir ters DNS kaydına ihtiyaç vardır. (FTP sunucuları ve TCP
sarmalayıcılar tarafından yapılan çifte ters DNS sorgusu kullanımından
dolayı çoğu ağ yöneticisi bu konuda zaten bilgi sahibidir.)</p>
<p>Her halükarda, IP adreslerinin kullanılmaması nedeniyle yapılan DNS
sorgularının başarısız olması durumunda sanal konaklı bir sunucuyu
düzgün bir şekilde başlatmak olası görünmektedir. Yapılandırmayı kısmen
iptal etmek gibi kısmi çözümler, sunucudan beklentinizin ne olduğuna
bağlı olarak sunucuyu hiç başlatmamaktan daha iyi olabilir.</p>
<p>HTTP/1.1de belirtildiği gibi <code>Host</code> başlığını göndererek
işlem yapabilen tarayıcılar ve vekiller IPye dayalı sanal konak
kullanımını tamamen ortadan kaldırmanın mümkün olabileceğini
göstermektedir. Bu durumda yapılandırmanın çözümlenmesi aşamasında DNS
sorgusu yapma gereği kalmayacaktır. Fakat 1997 Martından beri önemli
sunucular üzerinde bunların yeterince geniş bir uygulama alanı
bulmadığı görülmektedir.</p>
</section>
</manualpage>

View File

@ -1,7 +1,7 @@
<?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: 587444:1058587 (outdated) -->
<!-- English Revision: 1058587 -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Yücel Haluk Bugüner <haluk buguner.name.tr>
@ -30,14 +30,12 @@
<summary>
<p>Apache HTTP Sunucusu modüler bir program olup, yönetici sadece bir
grup modül seçerek sunucuya işlevsellik ekleyebilir. Modüller sunucunun
derlenmesi sırasında doğrudan <program>httpd</program> programının
içinde derlenebileceği gibi Devingen Paylaşımlı Nesneler (DSO - Dynamic
Shared Object) halinde <program>httpd</program> programından ayrı
olarak da derlenebilir. DSO modülleri sunucunun derlenmesi sırasında
derlenebileceği gibi ayrı olarak derlenip daha sonra Apache Eklenti
Aracı (Apache Extension Tool) <program>apxs</program> programı
kullanılarak sunucuya eklenebilir.</p>
grup modül seçerek sunucuya işlevsellik ekleyebilir. Modüller, Devingen
Paylaşımlı Nesneler (DSO - Dynamic Shared Object) halinde
<program>httpd</program> programından ayrı olarak derlenir. DSO modülleri
sunucunun derlenmesi sırasında derlenebileceği gibi ayrı olarak derlenip
daha sonra Apache Eklenti Aracı (Apache Extension Tool)
<program>apxs</program> programı kullanılarak da sunucuya eklenebilir.</p>
<p>Bu belgede DSO modüllerinin kullanımının yanında teorisine de
değinilecektir.</p>
@ -55,96 +53,91 @@
</directivelist>
</related>
<p>Apache modüllerini yüklemek için DSO desteği, Apache çekirdeğine
durağan olarak ilintilenerek derlenmiş olan <module>mod_so</module>
adında bir modül tarafından sağlanır. <module>core</module> modülünden
başka, bir DSO modülü olamayan tek modül <module>mod_so</module>
modülüdür. Hemen hemen tüm diğer Apache modülleri <a
href="install.html">kurulum belgesinde</a> de açıklandığı gibi
<program>configure</program> betiğinin
<code>--enable-<em>modül</em>=shared</code> seçeneği her modül için ayrı
ayrı belirtilerek birer DSO modülü olarak derlenebilir. Derlenmiş
<p>Apache httpd modüllerini yüklemek için DSO desteği, Apache httpd
çekirdeğine durağan olarak ilintilenerek derlenmiş olan
<module>mod_so</module> adında bir modül tarafından sağlanır.
<module>core</module> modülünden başka, bir DSO modülü olamayan tek modül
<module>mod_so</module> modülüdür. Apache ile dağıtılan hemen hemen tüm
diğer Apache modülleri bir DSO modülüne yerleştirilebilir. Derlenmiş
modüller <code>mod_filanca.so</code> biçeminde birer DSO ismi alırlar ve
her biri istenirse <code>httpd.conf</code> dosyasında
<module>mod_so</module> modülünün <directive module="mod_so"
>LoadModule</directive> yönergesiyle belirtilerek sunucu başlatılırken
veya yeniden başlatılırken sunucuya yüklenebilir.</p>
<p>Apache modülleri için (özellikle üçüncü parti modüller için) DSO
<p><a href="install.html">Kurulum belgesinde</a> açıklandığı gibi, her DSO
modülü <program>configure</program> programının
<code>--enable-mods-static</code> seçeneği ile devredışı bırakılabilir.</p>
<p>Apache httpd modülleri için (özellikle üçüncü parti modüller için) DSO
dosyası üretimini kolaylaştırmak amacıyla <program>apxs</program>
(<dfn>APache eXtenSion</dfn>) adında yeni bir destek programı
kullanılmaktadır. Bu program Apache modüllerini Apache kaynak ağacından
ayrı olarak derlemek için kullanılabilir. Fikir basittir: Apache
derlenirken DSO dosyalarını derlemek için platforma bağımlı
kullanılmaktadır. Bu program Apache httpd modüllerini Apache httpd kaynak
ağacından ayrı olarak derlemek için kullanılabilir. Fikir basittir: Apache
HTTP Sunucusu derlenirken DSO dosyalarını derlemek için platforma bağımlı
derleyici ve ilintileyici seçenekleri <program>apxs</program>
programının içine konur ve Apachenin <code>make install</code> ile
kurulumu sırasında Apache C başlık dosyaları da kurulur. Böylece
kullanıcı Apache dağıtımının kaynak ağacına ihtiyaç duymadan ve
programının içine konur ve <code>make install</code> ile kurulum sırasında
Apache httpd C başlık dosyaları da kurulur. Böylece
kullanıcı Apache httpd dağıtımının kaynak ağacına ihtiyaç duymadan ve
platforma bağımlı derleyici ve ilintileyici seçeneklerini bilmek zorunda
kalmadan istediği Apache modülünü <program>apxs</program> programını
kullanarak derleyebilir.</p>
kalmadan istediği Apache httpd modülünü <program>apxs</program>
programını kullanarak derleyebilir.</p>
</section>
<section id="usage"><title>Kullanıcı Özeti</title>
<section id="usage"><title>Kullanım Özeti</title>
<p>Apache 2.xin DSO özelliklerine bir giriş olarak burada kısaca bir
bilgi vermekle yetinilecektir:</p>
<p>Apache HTTP Sunucusu 2.xin DSO özelliklerine bir giriş olarak burada
kısaca bir bilgi vermekle yetinilecektir:</p>
<ol>
<li>Kaynak dosyası <code>mod_filanca.c</code> dosyasında dağıtılan bir
<em>özgün</em> Apache modülünü <code>mod_filanca.so</code> isminde bir
DSO modülü olarak derlemek ve kurmak için şöyle yapılır:
<li><p>Kaynak dosyası <code>mod_filanca.c</code> dosyasında dağıtılan bir
<em>özgün</em> Apache htpd modülünü <code>mod_filanca.so</code> isminde
bir DSO modülü olarak derlemek ve kurmak için şöyle yapılır:</p>
<example>
$ ./configure --prefix=/kurulum/yeri --enable-filanca=shared<br />
$ ./configure --prefix=/kurulum/yeri --enable-filanca<br />
$ make install
</example>
</li>
<li>Kaynak dosyası <code>mod_filanca.c</code> dosyasında dağıtılan bir
<em>üçüncü parti</em> Apache modülünü <code>mod_filanca.so</code>
isminde bir DSO modülü olarak derlemek ve kurmak için şöyle yapılır:
<li><p>Apache HTTP Sunucusunu tüm modüller etkin ve paylaşımlı nesneler
yüklü olarak derleyebilir. Daha sonra <code>httpd.conf</code> içindeki
<directive module="mod_so">LoadModule</directive> yönergelerinden
istemediklerinizi açıklama satırları haline getirerek bunları iptal
edebilirsiniz.</p>
<example>
$ ./configure --add-module=<var>modül-türü</var>:/bir/kurulum/yeri/mod_filanca.c \<br />
<indent>
--enable-filanca=shared<br />
</indent>
$ ./configure --enable-mods-shared=all<br />
$ make install
</example>
</li>
<li>Paylaşımlı modülleri <em>sonradan kurmak için</em> Apache şöyle
yapılandırılır:
<example>
$ ./configure --enable-so<br />
$ make install
</example>
</li>
<li>Kaynak dosyası <code>mod_filanca.c</code> dosyasında dağıtılan bir
<em>üçüncü parti</em> Apache modülü <code>mod_filanca.so</code>
isminde bir DSO modülü olarak Apache kaynak ağacının dışında
<li><p>Kaynak dosyası <code>mod_filanca.c</code> dosyasında dağıtılan bir
<em>üçüncü parti</em> Apache httpd modülü <code>mod_filanca.so</code>
isminde bir DSO modülü olarak Apache httpd kaynak ağacının dışında
<program>apxs</program> kullanarak derlemek ve kurmak için şöyle
yapılır:
yapılır:</p>
<example>
$ cd /bir/kurulum/yeri<br />
$ apxs -c mod_filanca.c<br />
$ apxs -i -a -n filanca mod_filanca.la
$ apxs -aci filanca mod_filanca.la
</example>
</li>
</ol>
<p>Tüm durumlarda derlenen paylaşımlı modülü Apachenin etkin kılabilmesi
için <code>httpd.conf</code> dosyasında o modül için bir <directive
module="mod_so">LoadModule</directive> yönergesi bulunmalıdır.</p>
<p>Tüm durumlarda derlenen paylaşımlı modülü Apache httpdnin etkin
kılabilmesi için <code>httpd.conf</code> dosyasında o modül için bir
<directive module="mod_so">LoadModule</directive> yönergesi
bulunmalıdır.</p>
<p>Ayrıntılı bilgi için <a href="programs/apxs.html">apxs belgelerine</a>
bakınız.</p>
</section>
<section id="background"><title>Artalan Bilgisi</title>
<p>Günümüzün Unix türevlerinde var olan şık bir mekanizma sayesinde
<p>Günümüzün Unix türevlerinde var olan bir mekanizma sayesinde
çalıştırılabilir bir programın adres uzayına çalışma anında yüklenmek
veya ilintilenmek üzere <em>Devingen Paylaşımlı Nesneler</em> (DSO -
Dynamic Shared Object) adı verilen, özel bir biçem kullanarak kodlanmış
@ -230,19 +223,7 @@ $ apxs -i -a -n filanca mod_filanca.la
<p>Paylaşımlı kütüphane yaklaşımı bu bakımdan türünün tek örneğidir,
çünkü DSO mekanizması özellikle bunun için tasarlanmıştır, dolayısıyla
işletim sisteminin sağladığı hemen hemen tüm kütüphaneler için
kullanılabilir. Diğer taraftan, bir programın işlevselliğini
genişletmek için paylaşımlı nesne kullanımı çoğu program tarafından
kullanılan bir şey değildir.</p>
<p>1998 itibariyle, DSO nesneleriyle çalışma anında çalıştırılabilir
program işlevselliğini genişleten başlıca birkaç yazılım paketi vardır:
Perl 5 (XS mekanizması ve DynaLoader modülü üzerinden), Netscape
Sunucusu, vd. 1.3 sürümünden itibaren Apache de bu gruba katıldı. Çünkü
Apache, modül kavramını zaten program işlevselliğini genişletmek için
kullanıyordu ve temel işlevselliğine dış modülleri ilintilemek için
dahili olarak dağıtım listesine dayalı bir yaklaşım kullanmaktaydı.
Dolayısıyla Apache, modüllerini çalışma anında yüklemek için DSO
kullanmaya baştan yazgılıydı.</p>
kullanılabilir.</p>
</section>
<section id="advantages"><title>Getiriler ve Götürüler</title>
@ -251,36 +232,31 @@ $ apxs -i -a -n filanca mod_filanca.la
şunlardır:</p>
<ul>
<li>Sunucu paketi çalışma anında daha esnektir çünkü, asıl sunucuyu
<li>Sunucu paketi çalışma anında daha esnektir çünkü, sunucuyu
oluşturan parçalar derleme sırasında <program>configure</program>
seçenekleriyle birleştirilmek yerine <code>httpd.conf</code> içinde
<directive module="mod_so">LoadModule</directive> yönergeleri
sayesinde çalışma anında birleştirilebilmektedir. Bu yolla, örneğin
tek bir Apache kurulumuyla birbirinden farklı yapılandırmalara sahip
çok sayıda sunucu çalıştırmak mümkündür. (standart veya SSL sürümü;
basitleştirilmiş veya güçlendirilmiş sürümü [mod_perl, PHP3],
vs.)</li>
basitleştirilmiş veya devingen sürümü [mod_perl, PHP3], vs.)</li>
<li>Sunucu paketi kurulumdan sonra bile üçüncü parti modüllerle kolayca
genişletilebilir. Bu özellikle, bir Apache temel paketinin yanında
PHP3, mod_perl, mod_fastcgi gibi ek paketler oluşturan paket
PHP, mod_perl, mod_security gibi ek paketler oluşturan paket
dağıtıcılarına büyük yarar sağlar.</li>
<li>Yeni Apache modülleri için daha kolay prototip geliştirilebilir:
Modül kaynak kodunu DSO/<program>apxs</program> çifti sayesinde
Apache kaynak ağacının dışında derleyip modülün yeni bir sürümünü bir
<code>apxs -i</code> komutunun ardından <code>apachectl
restart</code> yaparak çalışan bir Apache sunucusunda denemek daha
kolay hale getirilmiştir.</li>
<li>Yeni Apache httpd modülleri için daha kolay prototip
geliştirilebilir: Modül kaynak kodunu DSO/<program>apxs</program> çifti
sayesinde Apache httpd kaynak ağacının dışında derleyip modülün yeni
bir sürümünü bir <code>apxs -i</code> komutunun ardından
<code>apachectl restart</code> yaparak çalışan bir Apache HTTP
Sunucusunda denemek daha kolay hale getirilmiştir.</li>
</ul>
<p>DSO kullanımının götürüleri ise şunlardır:</p>
<ul>
<li>Her platformda hazır olarak desteklenmeme: Tüm işletim sistemleri
bir programa devingen olarak kod yükleme becerisine sahip
olmadığından DSO mekanizması her platformda kullanılamaz.</li>
<li>İlk yüklemede %20 yavaşlama: Unix yükleyicisi simgeleri çözümlemek
zorunda olduğundan sunucu ilk başlatılırken yaklaşık %20 daha yavaş
faaliyete geçer.</li>
@ -297,11 +273,11 @@ $ apxs -i -a -n filanca mod_filanca.la
kullanamazsınız (örneğin a.out temelli platformlar bu işlevselliği
ELF temelli platformlar kadar iyi sağlamaz). Başka bir deyişle, DSO
dosyaları olarak derlenmiş modüllerin kullanabileceği simgeler ya
Apache temel kodunda vardır ya Apache temel kodunun kullandığı C
kütüphanesinde (<code>libc</code>) ve diğer durağan ve devingen
kütüphanelerde vardır ya da konumdan bağımsız kodu içeren
Apache httpd temel kodunda vardır ya Apache httpd temel kodunun
kullandığı C kütüphanesinde (<code>libc</code>) ve diğer durağan ve
devingen kütüphanelerde vardır ya da konumdan bağımsız kodu içeren
durağan kütüphane arşivlerinde (<code>libfilanca.a</code>)
vardır. Diğer modülleri kullanmak için tek şansınız ya Apache
vardır. Diğer modülleri kullanmak için tek şansınız ya Apache httpd
çekirdeğinin modüle bir atıf içermesini sağlamak ya da modül kodunu
<code>dlopen()</code> vasıtasıyla yüklemektir.</li>
</ul>