mirror of
https://github.com/apache/httpd.git
synced 2025-08-16 17:04:42 +00:00
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:
@ -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 OpenBSD’de ö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>
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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 açıklanmıştır.</p>
|
||||
<p>Bu belgede Apache HTTP Sunucusunu yapılandırmakta kullanılan dosyalar
|
||||
açı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, Apache’ye <a
|
||||
<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 Apache’nin yeniden
|
||||
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.</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
|
||||
|
@ -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 2296’da tanımlanan bir deneysel uzlaşım
|
||||
httpd ayrıca, RFC 2295 ve RFC 2296’da tanımlanan bir deneysel uzlaşım
|
||||
olarak ‘şeffaf’ içerik uzlaşımını da destekler. Fakat ‘özellik
|
||||
uzlaşımını’ bu RFC’lerde tanımlandığı gibi desteklemez.</p>
|
||||
|
||||
@ -93,7 +93,7 @@
|
||||
kaynaklandığından bahsedilebilir.</p>
|
||||
</section>
|
||||
|
||||
<section id="negotiation"><title>Apache’de İçerik Uzlaşımı</title>
|
||||
<section id="negotiation"><title>httpd’de İç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>Apache’nin, bir türeşlem dosyası veya dizin içindeki bir dosya
|
||||
<p>httpd’nin, 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. Apache’nin içerik uzlaşım özelliklerinin kullanımı
|
||||
iki yöntem vardır. httpd’nin 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
|
||||
açıklanmıştır. Bu algoritma kullanıldığı zaman, Apache, en iyi sonuca
|
||||
açı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’.
|
||||
Apache’nin bu katsayılarla oynama işini nasıl yaptığı aşağıda daha
|
||||
httpd’nin bu katsayılarla oynama işini nasıl yaptığı aşağıda daha
|
||||
ayrıntılı açıklanmıştır.</li>
|
||||
|
||||
<li>İstemci bu işlem için özellikle RFC 2295’te 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 2296’da
|
||||
tanımlanan ‘gösterim çeşidini uzaktan seçme algoritması’nın
|
||||
çalıştırılmasını Apache’den isteyebilir.</li>
|
||||
çalıştırılmasını httpd’den 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.0’dan itibaren, uzlaşım algoritmasına, bir eşleşme bulmak
|
||||
<p>httpd 2.0’dan 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
|
||||
|
@ -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 @@
|
||||
</VirtualHost>
|
||||
</example>
|
||||
|
||||
<p>Apache’nin beklendiği gibi işlemesi için her sanal konak için iki
|
||||
<p>httpd’nin 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
|
||||
Apache’nin 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
|
||||
httpd’nin 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. IP’ye 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.
|
||||
Apache’nin 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>
|
||||
<VirtualHost falan.fesmekan.dom><br />
|
||||
@ -150,12 +140,11 @@
|
||||
<section id="main">
|
||||
<title>"Ana Sunucu" Adresi</title>
|
||||
|
||||
<p>Apache 1.1’de <a href="vhosts/name-based.html">isme dayalı sanal konak
|
||||
desteği</a>ne ek olarak, Apache’nin, <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>, httpd’nin ç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, Apache’yi <code>HOSTRESORDER</code> ortam değişkenine
|
||||
yapmamalıysa, httpd’yi <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ığı açı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.1’de belirtildiği gibi <code>Host</code> başlığını göndererek
|
||||
işlem yapabilen tarayıcılar ve vekiller IP’ye 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>
|
||||
|
@ -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 Apache’nin <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.x’in DSO özelliklerine bir giriş olarak burada kısaca bir
|
||||
bilgi vermekle yetinilecektir:</p>
|
||||
<p>Apache HTTP Sunucusu 2.x’in 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ü Apache’nin 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 httpd’nin 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>
|
||||
|
Reference in New Issue
Block a user