blob: 57f67dc6c1c482e1edb3622fb8132e74250dbc23 [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: 1784326 -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.gen.tr>
Reviewed by: Orhan Berent <berent belgeler.gen.tr>
========================================================== -->
<!--
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="ip-based.xml.meta">
<parentdocument href="./">Sanal Konaklar</parentdocument>
<title>IP’ye Dayalı Sanal Konak Desteği</title>
<seealso>
<a href="name-based.html">İsme Dayalı Sanal Konak Desteği</a>
</seealso>
<section id="explanation"><title>IP'ye dayalı sanal konak desteği nedir</title>
<p>IP'ye dayalı sanal konak desteği, bir isteğin alındığı IP adresi ve
porta bağlı olarak farklı yönergeleri uygulamak için bir yoldur. Özetle,
farklı siteleri farklı portlardan ve arayüzlerden sunmakta
kullanılır.</p>
<p>Çoğu durumda, <a href="name-based.html">isme dayalı sanal konaklar</a>
birçok sanal konağın tek bir IP adresi/port çiftini paylaşmasını
sağladığından daha kullanışlıdır. Neyi kullanacağınıza karar vermek için
<a href="name-based.html#namevip">İsme dayalı ve IP’ye dayalı Sanal
Konaklar</a> bölümüne bakınız.</p>
</section>
<section id="requirements"><title>Sistem gereksinimleri</title>
<p><cite>IP’ye dayalı</cite> deyince, sunucunun <strong>her IP’ye dayalı
sanal konak için ayrı bir IP adresi/port çifti</strong>ne sahip olduğunu
anlıyoruz. Bunun olması için, makine ya çok sayıda ağ bağlantısına
sahiptir ya da makinede, günümüzde çoğu işletim sistemi tarafından
desteklenen sanal arabirimler ve/veya çok sayıda port kullanılıyordur.
(Sanal arabirimlerle ilgili ayrıntılar için sistem belgelerinize bakınız;
bu konu genellikle IP rumuzları (ip aliases) olarak geçer ve ayarlamak
için genellikle "ifconfig" komutu kullanılır.)</p>
<p>Apache HTTP Sunucusu terminolojisinde, tek bir IP adresinin çok sayıda
TCP portuyla kullanımı IP'ye dayalı sanal konak desteği olarak
bilinir.</p>
</section>
<section id="howto"><title>Apache nasıl ayarlanır?</title>
<p>Çok sayıda konağı desteklemek üzere Apache iki şekilde
yapılandırılabilir. Ya her konak için ayrı bir <program>httpd</program>
süreci çalıştırırsınız ya da tüm sanal konakları destekleyen tek bir
süreciniz olur.</p>
<p>Çok sayıda süreç kullanıyorsanız:</p>
<ul>
<li>Güvenli bölgeler oluşturmanız gerekiyordur. Örneğin, şirket2’deki hiç
kimse dosya sistemi üzerinden şirket1’e ait verileri okuyamasın, sadece
herkes gibi tarayıcı kullanarak okuyabilsin istenebilir. Bu durumda,
<directive module="mod_unixd">User</directive>,
<directive module="mod_unixd">Group</directive>,
<directive module="mpm_common">Listen</directive> ve
<directive module="core">ServerRoot</directive> yönergeleri farklı
değerlerle yapılandırılmış iki ayrı süreç çalıştırmanız gerekir.</li>
<li>Makine üzerindeki her IP adresini dinlemek için gereken dosya tanıtıcı
ve bellek miktarını makul bir seviyede tutabilirsiniz. Bu sadece belli
adresleri dinleyerek veya çok sayıda adresle eşleşen adres kalıpları
kullanarak mümükün olabilir. Zaten, bir sebeple belli bir adresi dinleme
ihtiyacı duyarsanız, diğer tüm adresleri de ayrı ayrı dinlemeniz
gerekir. (Bir <program>httpd</program> programı N-1 adresi dinlerken
diğerleri kalan adresleri dinleyebilir.)</li>
</ul>
<p>Tek bir süreç kullanıyorsanız:</p>
<ul>
<li><program>httpd</program> yapılandırmasının sanal konaklar arasında
paylaşılmasına izin veriliyor demektir.</li>
<li>Makine çok büyük miktarda isteği karşılayabilir ve ayrı ayrı
süreçlerin çalışmasından kaynaklanan önemli başarım kayıpları
yaşanmaz.</li>
</ul>
</section>
<section id="multiple"><title>Çok sayıda sürecin yapılandırılması</title>
<p>Her sanal konak için ayrı bir <program>httpd</program> yapılandırması
oluşturulur. Her yapılandırmada, o süreç tarafından sunulacak IP adresi
(veya sanal konak) için <directive module="mpm_common">Listen</directive>
yönergesi kullanılır. Örnek:</p>
<highlight language="config">
Listen 192.0.2.100:80
</highlight>
<p>Burada konak ismi yerine IP adresi kullanmanız önerilir (ayrıntılar için
<a href="../dns-caveats.html">DNS ile ilgili konular</a> belgesine
bakınız).</p>
</section>
<section id="single"><title>Sanal konaklar tek bir sürecin yapılandırılması</title>
<p>Bu durum için, ana sunucu ve sanal konakların tümüne gelen istekler tek
bir <program>httpd</program> süreci tarafından karşılanır. Yapılandırma
dosyasında, her sanal konak için, farklı değerlere sahip <directive
module="core">ServerAdmin</directive>, <directive
module="core">ServerName</directive>, <directive
module="core">DocumentRoot</directive>, <directive
module="core">ErrorLog</directive>ve<directive
module="mod_log_config">TransferLog</directive>
veya <directive module="mod_log_config">CustomLog</directive> yönergeleri
içeren ayrı birer <directive module="core">VirtualHost</directive> bölümü
oluşturulur. Örnek:</p>
<highlight language="config">
&lt;VirtualHost 192.168.1.10:80&gt;
ServerAdmin bilgi@example.com
DocumentRoot "/siteler/belgeler/ecom"
ServerName example.com
ErrorLog "/siteler/gunlukler/ecom/hatalar.log"
CustomLog "/siteler/gunlukler/ecom/erisim.log" combined
&lt;/VirtualHost&gt;
&lt;VirtualHost 192.168.1.20:80&gt;
ServerAdmin bilgi@example.org
DocumentRoot "/siteler/belgeler/eorg"
ServerName example.org
ErrorLog "/siteler/gunlukler/eorg/hatalar.log"
CustomLog "/siteler/gunlukler/eorg/erisim.log" combined
&lt;/VirtualHost&gt;
</highlight>
<p>&lt;VirtualHost&gt; yönergesinde konak ismi yerine
IP adresi kullanmanız önerilir (ayrıntılar için
<a href="../dns-caveats.html">DNS ile ilgili konular</a>
belgesine bakınız).</p>
<p>Belli bir IP adresi veya port kullanımı bunların joker eşdeğerlerine
göre daha yüksek öncelik sağlar ve eşleşen bir sanal konak da genel
sunucuya göre öncelik alır.</p>
<p>Süreç oluşturmayı denetleyen yönergeler ve bir kaç başka yönerge dışında
hemen hemen tüm yapılandırma yönergeleri <directive
module="core">VirtualHost</directive> bölümleri içinde kullanılabilir.
Bir yönergenin <directive module="core">VirtualHost</directive>
bölümlerinde kullanılıp kullanılmayacağını öğrenmek için <a
href="../mod/quickreference.html">yönerge dizinini</a> kullanarak yönergenin
<a href="../mod/directive-dict.html#Context">Bağlam</a>’ına bakınız.</p>
<p><a href="../suexec.html">suEXEC sarmalayıcısı</a> kullanıldığı takdirde
<directive module="mod_suexec">SuexecUserGroup</directive> yönergesi de
bir <directive module="core">VirtualHost</directive> bölümü içinde
kullanılabilir.</p>
<p><em>GÜVENLİK:</em>Günlük dosyalarının yazılacağı yeri belirlerken,
Apache’yi başlatan kullanıcıdan başka kimsenin yazamayacağı bir yerin
seçilmesi bazı güvenlik risklerini ortadan kaldırmak bakımından
önemlidir. Ayrıntılar için <a href="../misc/security_tips.html">güvenlik
ipuçları</a> belgesine bakınız.</p>
</section>
</manualpage>