1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
4 <!-- English Revision: 1301743:1673947 (outdated) -->
5 <!-- =====================================================
6 Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7 Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
11 Licensed to the Apache Software Foundation (ASF) under one or more
12 contributor license agreements. See the NOTICE file distributed with
13 this work for additional information regarding copyright ownership.
14 The ASF licenses this file to You under the Apache License, Version 2.0
15 (the "License"); you may not use this file except in compliance with
16 the License. You may obtain a copy of the License at
18 http://www.apache.org/licenses/LICENSE-2.0
20 Unless required by applicable law or agreed to in writing, software
21 distributed under the License is distributed on an "AS IS" BASIS,
22 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 See the License for the specific language governing permissions and
24 limitations under the License.
27 <manualpage metafile="bind.xml.meta">
29 <title>Adresleri ve Portları Dinleme</title>
32 <p>Apache HTTPD sunucusunun belli adresleri ve portları dinlemek üzere
36 <seealso><a href="vhosts/">Sanal Konaklar</a></seealso>
37 <seealso><a href="dns-caveats.html">DNS Konuları</a></seealso>
39 <section id="overview">
40 <title>Genel Bakış</title>
45 <module>mpm_common</module>
48 <directive module="core" type="section">VirtualHost</directive>
49 <directive module="mpm_common">Listen</directive>
54 <p>httpd başlatıldığında yerel makinedeki bazı adres ve portları kendine
55 bağlar ve gelecek istekleri bekler. Öntanımlı olarak makine üzerindeki
56 tüm adresleri dinler. Bununla birlikte, belli portları veya sadece
57 seçilmiş bazı adresleri ya da her ikisini de dinlemesi için bunun
58 belirtilmesi gerekebilir. Bu çoğunlukla, httpd’nin farklı IP
59 adreslerine, konak isimlerine ve portlarına nasıl yanıt vereceğinin
60 belirlendiği <a href="vhosts/">sanal konak</a> özelliği ile birlikte
63 <p><directive module="mpm_common">Listen</directive> yönergesi sunucuya
64 gelen istekleri sadece belli port(lar)dan veya belli adres ve port
65 birleşimlerinden kabul etmesini söyler. <directive
66 module="mpm_common">Listen</directive> yönergesinde sadece port
67 numarası belirtilmişse sunucu tüm arabirimlerin belirtilen portunu
68 dinleyecektir. Portla birlikte bir IP adresi de belirtilmişse sunucu
69 belirtilen portu ve arabirimi dinleyecektir. Çok sayıda adres ve portu
70 dinlemek için çok sayıda <directive
71 module="mpm_common">Listen</directive> yönergesi kullanılabilir. Sunucu
72 böyle bir durumda belirtilen bütün adres ve portlardan gelen isteklere
75 <p>Örneğin, sunucunun hem 80 portundan hem de 8000 portundan gelen
76 bağlantıları kabul etmesini sağlamak için,</p>
83 <p>yapılandırmasını kullanabilirsiniz. Sunucunun 80 portuna gelen
84 bağlantıları bir arabirimden 8000 portuna gelenleri ise başka bir
85 arabirimden kabul etmesini sağlamak için ise,</p>
88 Listen 192.0.2.1:80<br />
92 <p>yapılandırmasını kullanabilirsiniz. IPv6 adresleri aşağıdaki örnekteki
93 gibi köşeli ayraçlar içine alınarak belirtilmelidir:</p>
96 Listen [2001:db8::a00:20ff:fea7:ccea]:80
100 <p>Bir <directive module="mpm_common">Listen</directive> yönergesinin
101 aynısının tekrarı sunucunun başlatılmasını engelleyen ölümcül bir hatayla
105 (48)Address already in use: make_sock: could not bind to address [::]:80
112 <title>IPv6 Adreslerin Durumu</title>
114 <p>IPv6’yı gerçekleyen platformların sayısı giderek artmaktadır. Bu
115 platformların çoğunda <glossary>APR</glossary>, httpd’nin IPv6
116 soketleri ayırmasını mümkün kılarak IPv6’yı desteklemekte ve IPv6
117 üzerinden gönderilmiş istekleri elde etmektedir.</p>
119 <p>httpd yöneticilerinin kafasını karıştırıran tek şey IPv6 soketlerin
120 hem IPv4 hem de IPv6 bağlantılarını kabul edip etmeyeceğidir. IPv4
121 bağlantılarını kabul eden IPv6 soketleri IPv4 eşlemli IPv6 adresleri
122 kullanırlar. Bu çoğu sistemde öntanımlı olarak böyleyken, FreeBSD,
123 NetBSD ve OpenBSD’de sistem geneline uygulanan kurallar gereğince
124 öntanımlı olarak buna izin verilmez; bu sistemlerde özel bir
125 <program>configure</program> parametresi ile <code>httpd</code>’nin
126 davranışı değiştirilebilir.</p>
128 <p>Diğer taraftan, Linux ve Tru64 gibi bazı platformlarda hem IPv4 hem de
129 IPv6 adresleri kabul etmenin <strong>tek yolu</strong> eşlemli adresler
130 kullanmaktır. <code>httpd</code>’nin IPv4 ve IPv6 adresleri, IPv4 eşlemli
131 IPv6 adreslerin kullanımını gerektiren en az sayıda soketle kabul etmesini
132 istiyorsanız, <program>configure</program> betiğine
133 <code>--enable-v4-mapped</code> seçeneğini belirtiniz.</p>
135 <p><code>--enable-v4-mapped</code> seçeneği, FreeBSD, NetBSD ve OpenBSD
136 hariç tüm platformlarda öntanımlıdır. Muhtemelen siz de
137 <code>httpd</code>’nin böyle derlenmesini isterdiniz.</p>
139 <p>Platformunuzun ve APR’nin neyi desteklediğine bakmaksızın
140 <code>httpd</code>’nin sadece IPv4 adresleri kabul etmesini istiyorsanız,
141 tüm <directive module="mpm_common">Listen</directive> yönergelerinde
142 örnekteki gibi IPv4 adresleri belirtiniz:</p>
145 Listen 0.0.0.0:80<br />
149 <p>Platformunuz IPv4 ve IPv6 adresleri ayrı soketlerden kabul ediyorsa ve
150 <code>httpd</code>’nin de buna uygun davranmasını (yani IPv4 eşlemli IPv6
151 adreslerin iptalini) istiyorsanız <program>configure</program>
152 betiğine <code>--disable-v4-mapped</code> seçeneğini belirtiniz. Bu
153 seçenek FreeBSD, NetBSD ve OpenBSD’de öntanımlıdır.</p>
156 <section id="protocol">
157 <title>Protokolü Listen ile Belirtme</title>
158 <p><directive module="mpm_common">Listen</directive> yönergesinin isteğe
159 bağlı ikinci değiştirgesi <var>protokol</var> çoğu yapılandırmada gerekli
160 olmaz. Belirtilmediği takdirde, <code>https</code> için 443,
161 <code>http</code> için ise diğer bütün portlar öntanımlıdır. Protokol,
162 isteğin hangi modül tarafından işleneceğini ve <directive
163 module="core">AcceptFilter</directive> yönergesi ile uygulanacak
164 protokole özgü en iyilemeleri belirlemekte kullanılır.</p>
166 <p>Sadece standartdışı bir port kullanmak isterseniz protokolü belirtmeniz
167 gerekir. Örneğin, bir<code>https</code> sitesini port 8443 üzerinde
168 çalıştırmak isterseniz:</p>
171 Listen 192.170.2.1:8443 https
175 <section id="virtualhost">
176 <title>Sanal Konaklarla Nasıl Çalışır?</title>
178 <p><directive module="mpm_common">Listen</directive> yönergesi sanal
179 konaklar için gerçeklenmemiştir; sadece ana sunucuya hangi adresleri ve
180 portları dinleyeceğini söyler. Hiç <directive module="core"
181 type="section">VirtualHost</directive> yönergesi kullanılmamışsa sunucu
182 kabul edilen tüm isteklere aynı şekilde davranacaktır. Eğer bir veya
183 daha fazla adres ve port için farklı bir davranış belirtmek
184 istiyorsanız <directive module="core"
185 type="section">VirtualHost</directive> kullanabilirsiniz. Bir sanal
186 konağı gerçeklemek için önce sunucunun sanal konak için kullanacağı
187 adres ve portu dinleyeceğini belirtmek gerekir. Bundan sonra bu sanal
188 konağın davranışını ayarlamak üzere belirtilen adres ve port için bir
189 <directive module="core" type="section">VirtualHost</directive> bölümü
190 oluşturulmalıdır. Yalnız dikkat edin, eğer <directive module="core"
191 type="section">VirtualHost</directive> için belirtilen adres ve port
192 sunucu tarafından dinlenmiyorsa ona erişemezsiniz.</p>