summaryrefslogtreecommitdiff
path: root/docs/manual/vhosts
diff options
context:
space:
mode:
authorNilgun Belma Buguner <nilgun@apache.org>2012-04-03 11:38:36 +0000
committerNilgun Belma Buguner <nilgun@apache.org>2012-04-03 11:38:36 +0000
commit4ea7e37d021081234c115dcc1b2f6484b46c0963 (patch)
tree9f8377a54eee29ffa9c52cb18071904f16da5c5b /docs/manual/vhosts
parenta49296303c2a21e2bdaded18e3f8c946800431bf (diff)
downloadhttpd-4ea7e37d021081234c115dcc1b2f6484b46c0963.tar.gz
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/branches/2.4.x@1308826 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'docs/manual/vhosts')
-rw-r--r--docs/manual/vhosts/mass.xml.tr307
-rw-r--r--docs/manual/vhosts/name-based.xml.tr259
2 files changed, 199 insertions, 367 deletions
diff --git a/docs/manual/vhosts/mass.xml.tr b/docs/manual/vhosts/mass.xml.tr
index 6cea9a8c0e..ccac65010c 100644
--- a/docs/manual/vhosts/mass.xml.tr
+++ b/docs/manual/vhosts/mass.xml.tr
@@ -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: 659902:1174747 (outdated) -->
+<!-- English Revision: 1174747 -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
@@ -31,7 +31,10 @@
<summary>
<p>Bu belgede sanal konakların sonu belirsiz bir şekilde artışı karşısında
- Apache httpd sunucusunun nasıl daha verimli kullanılacağı açıklanmıştır.
+ Apache HTTP Sunucusunun nasıl daha verimli kullanılacağı açıklanmıştır.
+ Devingen kitlesel konakları oluşturmak için <module>mod_rewrite</module>
+ modülünün kullanımını açıklayan <a href="../rewrite/vhosts.html">ayrı bir
+ belge</a> de mevcuttur.
</p>
</summary>
@@ -43,40 +46,35 @@
<code>&lt;VirtualHost&gt;</code> bölümü içereceği zaman yapılacaklar ile
ilgilidir.</p>
-<example>
-NameVirtualHost 111.22.33.44<br />
-&lt;VirtualHost 111.22.33.44&gt;<br />
-<indent>
- ServerName musteri-1.dom<br />
- DocumentRoot /siteler/musteri-1.dom/belgeler<br />
- ScriptAlias /cgi-bin/ /siteler/musteri-1.dom/cgi-bin<br />
-</indent>
-&lt;/VirtualHost&gt;<br />
-&lt;VirtualHost 111.22.33.44&gt;<br />
-<indent>
- ServerName musteri-2.dom<br />
- DocumentRoot /siteler/musteri-2.dom/belgeler<br />
- ScriptAlias /cgi-bin/ /siteler/musteri-2.dom/cgi-bin<br />
-</indent>
-&lt;/VirtualHost&gt;<br />
-# blah blah blah<br />
-&lt;VirtualHost 111.22.33.44&gt;<br />
-<indent>
- ServerName musteri-N.dom<br />
- DocumentRoot /siteler/musteri-N.dom/belgeler<br />
- ScriptAlias /cgi-bin/ /siteler/musteri-N.dom/cgi-bin<br />
-</indent>
+<pre>
+&lt;VirtualHost 111.22.33.44&gt;
+ ServerName musteri-1.example.com
+ DocumentRoot /siteler/musteri-1/belgeler
+ ScriptAlias /cgi-bin/ /siteler/musteri-1/cgi-bin
&lt;/VirtualHost&gt;
-</example>
- <p>Ana fikir, tüm durağan <code>&lt;VirtualHost&gt;</code>
- yapılandırmalarını devingen olarak çalışan tek bir
- <code>&lt;VirtualHost&gt;</code> bölümüyle değiştirmektir. Bunun elbette
- bazı getirileri olacaktır:</p>
+&lt;VirtualHost 111.22.33.44&gt;
+ ServerName musteri-2.example.com
+ DocumentRoot /siteler/musteri-2/belgeler
+ ScriptAlias /cgi-bin/ /siteler/musteri-2/cgi-bin
+&lt;/VirtualHost&gt;
+
+&lt;VirtualHost 111.22.33.44&gt;
+ ServerName musteri-N.example.com
+ DocumentRoot /siteler/musteri-N/belgeler
+ ScriptAlias /cgi-bin/ /siteler/musteri-N/cgi-bin
+&lt;/VirtualHost&gt;
+</pre>
+
+ <p>İsteğimiz çok sayıda <code>&lt;VirtualHost&gt;</code> bölümünü devingen
+ olarak çalışan tek bir <code>&lt;VirtualHost&gt;</code> bölümüyle
+ değiştirmektir. Bunun elbette bazı getirileri olacaktır:</p>
<ol>
<li>Yapılandırma dosyanız küçüleceği için Apache daha çabuk
- başlatılabilecek ve daha az bellek harcayacaktır.</li>
+ başlatılabilecek ve daha az bellek harcayacaktır. Muhtemelen daha da
+ önemlisi, küçülmüş bir yapılandırmanın bakımı da kolaylaşacağı için
+ hatalar da azalacaktır.</li>
<li>Yeni sanal konakların eklenmesi, DNS’de yeni girdiler oluşturmak ve
dosya sisteminde bununla ilgili dizinleri açmak dışında biraz daha
@@ -85,11 +83,13 @@ NameVirtualHost 111.22.33.44<br />
</ol>
<p>Ana götürüsü ise her sanal konak için ayrı birer günlük dosyasına sahip
- olamayacak olmanızdır. Öte yandan, dosya tanıtıcılarının sınırlı olması
- nedeniyle bunu yapmayı zaten istemezsiniz. Günlük kayıtları için bir
- fifo veya bir boru hattı oluşturmak ve diğer uçta çalışan bir süreç
- vasıtasıyla günlükleri müşterilere paylaştırmak daha iyidir (ayrıca, bu,
- istatistikleri toplamanızı da kolaylaştırır).</p>
+ olamayacak olmanızdır. Öte yandan, <a href="fd-limits.html">dosya
+ tanıtıcılarının sınırlı olması</a> nedeniyle bunu yapmayı zaten
+ istemezsiniz. Günlük kayıtları için bir <a href="../logs.html#piped">fifo
+ veya bir boru hattı</a> oluşturmak ve diğer uçta çalışan bir süreç
+ vasıtasıyla günlükleri müşterilere paylaştırmak daha iyidir. Böyle bir
+ işlemle ilgili bir örneği <a href="../programs/other.html#split-logfile"
+ >split-logfile</a> aracının belgesinde bulabilirsiniz.</p>
</section>
@@ -98,16 +98,18 @@ NameVirtualHost 111.22.33.44<br />
<p>Bir sanal konak iki bilgiye bakarak belirlenir: IP adresi ve HTTP
isteğindeki <code>Host:</code> başlığının içeriği. Devingen sanal
barındırma tekniği, isteği yerine getirmek için kullanılacak dosya
- yoluna bu bilgiyi kendiliğinden girmek esasına dayanır. Bu, Apache 2.0
- ile <module>mod_vhost_alias</module> kullanarak oldukça kolay
- yapılabileceği gibi <module>mod_rewrite</module> da kullanılabilir. Bu
- modüllerin her ikisi de öntanımlı olarak devre dışıdır. Bu tekniği
- kullanmak isterseniz Apache’yi yeniden yapılandırıp derleyerek bu iki
- modülü etkin duruma getirmeniz gerekir.</p>
-
- <p>Devingen sanal konağı normal bir sanal konak gibi göstermek için bazı
- şeyleri ’göstermelik’ olarak yapmak gerekir. Bunlardan en önemlisi,
- Apache tarafından göreli URL’lerden normal URL’leri ve benzerlerini
+ yoluna bu bilgiyi kendiliğinden girmek esasına dayanır. Bu, Apache httpd
+ ile <module>mod_vhost_alias</module> modülünü kullanarak oldukça kolay
+ yapılabileceği gibi <a href="../rewrite/vhosts.html">mod_rewrite modülü
+ de kullanılabilir</a>.</p>
+
+ <p>Bu modüllerin her ikisi de öntanımlı olarak devre dışıdır. Bu tekniği
+ kullanmak isterseniz Apache httpd'yi yeniden yapılandırıp derleyerek bu
+ iki modülü etkin duruma getirmeniz gerekir.</p>
+
+ <p>Devingen sanal konağı normal bir sanal konak gibi göstermek için
+ bazı bilgileri istekten saptamak gerekir. Bunlardan en önemlisi,
+ httpd tarafından göreli URL’lerden normal URL’leri ve benzerlerini
üretmek için kullanılan sunucu ismidir. Sunucu ismi
<code>ServerName</code> yönergesi ile yapılandırılır ve CGI’ler
tarafından <code>SERVER_NAME</code> ortam değişkeni üzerinden
@@ -118,37 +120,36 @@ NameVirtualHost 111.22.33.44<br />
DNS</code> belirtilmişse, sunucu ismi, sanal konağın IP adresinden
tersine DNS sorgusu yapılarak elde edilir. Birincisi isme dayalı sanal
konaklar tarafından ikincisi ise IP’ye dayalı sanal konaklar tarafından
- kullanılır. Eğer Apache, istekte <code>Host:</code> başlığının olmayışı
+ kullanılır. Eğer httpd, istekte <code>Host:</code> başlığının olmayışı
veya DNS sorgusunun başarısız olması sebebiyle sunucu ismini elde
edemezse son çare olarak <code>ServerName</code> yönergesinde yazılı
değeri kullanır.</p>
- <p>‘Göstermelik’ yapılan şeylerden biri de <code>DocumentRoot</code>
+ <p>Saptanan bilgilerden biri de <code>DocumentRoot</code>
yönergesi ile yapılandırılan belge kök dizini olup CGI’ler tarafından
<code>DOCUMENT_ROOT</code> ortam değişkeni üzerinden kullanılır. Normal
yapılandırmada <module>core</module> modülü tarafından dosya isimlerini
URI’lere eşlerken kullanılır. Fakat sunucu devingen sanal konakları
kullanmak üzere yapılandırıldığında, eşleştirmeyi farklı yollardan yapan
- başka bir modül devreye girer (<code>mod_vhost_alias</code> veya
- <code>mod_rewrite</code>). <code>DOCUMENT_ROOT</code> ortam değişkenine
- değerini atamaktan sorumlu olan bu iki modülden biri kullanılmazsa CGI
- veya SSI belgeleri yanlış değerlerle üretilirler.</p>
+ başka bir modül devreye girer (<module>mod_vhost_alias</module> veya
+ <module>mod_rewrite</module>). <code>DOCUMENT_ROOT</code> ortam
+ değişkenine değerini atamaktan sorumlu olan bu iki modülden biri
+ kullanılmazsa CGI veya SSI belgeleri yanlış değerlerle üretilirler.</p>
</section>
-<section id="simple"><title>Basit Devingen Sanal Konaklar</title>
+<section id="simple"><title>mod_vhost_alias ile Kitlesel Sanal Konaklar</title>
<p>Yukarıda <a href="#motivation">Amaç</a> bölümünde özetlenen sanal konak
- düzenlemesinin <code>mod_vhost_alias</code> kullanarak daha soysal bir
- tarzda gerçekleştirilmiş halini içeren <code>httpd.conf</code> bölümü
- aşağıdadır.</p>
+ düzenlemesinin <code>mod_vhost_alias</code> kullanarak gerçekleştirilmiş
+ halini içeren <code>httpd.conf</code> bölümü aşağıdadır.</p>
<example>
# sunucu ismini Host: başlığından elde edelim<br />
UseCanonicalName Off<br />
<br />
-# Bu günlükleme biçiminde ilk alana bakarak<br />
-# sanal konak günlükleri ayrıştırılabilir<br />
+# Bu günlükleme biçiminde split-logfile aracı kullanılarak<br />
+# ilk alana dayalı sanal konak günlükleri ayrıştırılabilir<br />
LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br />
CustomLog logs/access_log vcommon<br />
<br />
@@ -161,27 +162,37 @@ VirtualScriptAlias /siteler/%0/cgi-bin
<p>Bu yapılandırmayı IP’ye dayalı sanal konaklar için kullanmak isterseniz
<code>UseCanonicalName Off</code> yerine <code>UseCanonicalName
DNS</code> yazmanız yeterlidir. Böylece dosya ismine eklenecek konak
- ismi sanal konağın IP adresinden türetilir.</p>
+ ismi sanal konağın IP adresinden türetilir. <code>%0</code> değişkeni,
+ <code>Host:</code> başlığı ile belirlenen istekteki sunucu isminin
+ ifadesidir.</p>
-</section>
+ <p>Kullanım örnekleri için <module>mod_vhost_alias</module>modülünün
+ belgesine bakınız.</p>
-<section id="homepages"><title>Sanal Kişisel Sayfalar Sistemi</title>
+</section>
- <p>Bu sistem, yukarıdaki yapılandırmanın bir ISS’nin kişisel sayfalar
- sunucusuna uyarlanmasından başka bir şey değildir. Biraz daha karmaşık
- bir yapılandırma ile dosya isimlerine <code>/home/kullanıcı/</code>
- dizinlerini ekleyebiliriz. Farklı olarak her sanal konak için bir tane
- değil hepsi için bir tane <code>cgi-bin</code> olacaktır.</p>
-
-<example>
-# Son bölüm hariç yukarıdaki yapılandırma, burada...<br />
-<br />
-# sunucu ismine eklenecek dosya isimlerini oluşturalım<br />
-VirtualDocumentRoot /siteler/%2/belgeler<br />
-<br />
-# ortak cgi-bin dizini<br />
-ScriptAlias /cgi-bin/ /siteler/std-cgi/<br />
-</example>
+<section id="homepages"><title>Basitleştirilmiş Kitlesel Sanal Konaklar</title>
+
+ <p>Bu sistem, yukarıdaki yapılandırmanın bir ISS’nin sunucusuna
+ uyarlanmasından başka bir şey değildir. <code>%2</code> değişkenini
+ kullanarak, dosya isminde kullanmak üzere sunucu isminin alt dizgelerini
+ seçebiliriz, böylece, örneğin <code>www.user.example.com</code> belgeleri
+ <code>/home/user/www</code> dizininde bulunabilir. Farklı olarak her
+ sanal konak için bir tane değil hepsi için bir tane <code>cgi-bin</code>
+ olacaktır.</p>
+
+ <example>
+ UseCanonicalName Off<br />
+ <br />
+ LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br />
+ CustomLog logs/access_log vcommon<br />
+ <br />
+ # sunucu ismini içerecek dosya isimlerini oluşturalım<br />
+ VirtualDocumentRoot /home/%2/www<br />
+ <br />
+ # ortak cgi-bin dizini<br />
+ ScriptAlias /cgi-bin/ /siteler/std-cgi/<br />
+ </example>
<p><module>mod_vhost_alias</module> belgesinde daha karmaşık
<code>VirtualDocumentRoot</code> örnekleri vardır.</p>
@@ -190,7 +201,7 @@ ScriptAlias /cgi-bin/ /siteler/std-cgi/<br />
<section id="combinations"><title>Aynı Sunucuda Kişisel ve Kurumsal Sanal Konaklar</title>
- <p>Daha karmaşık ayarlamalar yaparak Apache’inin normal
+ <p>Daha karmaşık ayarlamalar yaparak httpd’nin normal
<code>&lt;VirtualHost&gt;</code> bölümlerini farklı kitlesel sanal konak
yapılandırmaları için kullanabilirsiniz. Örneğin, bireysel
müşterileriniz için bir IP adresiniz, kurumsal müşterileriniz için de
@@ -218,7 +229,7 @@ LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br />
<br />
&lt;VirtualHost 111.22.33.44&gt;<br />
<indent>
- ServerName kurumsal.iss.dom<br />
+ ServerName kurumsal.example.com<br />
<br />
CustomLog logs/access_log.kurumsal vcommon<br />
<br />
@@ -229,7 +240,7 @@ LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br />
<br />
&lt;VirtualHost 111.22.33.45&gt;<br />
<indent>
- ServerName bireysel.iss.dom<br />
+ ServerName bireysel.example.com<br />
<br />
CustomLog logs/access_log.bireysel vcommon<br />
<br />
@@ -244,13 +255,14 @@ LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon<br />
module="core">ServerName</directive> yönergesi içermezse ilgili IP
için ters DNS sorgusu yapılır. Eğer sorgudan elde edilen isim
sunucunun ismi değilse bu istenmeyen duruma bir çözüm olarak bir
- bilgilendirme bölümü (<code>ServerName isimsiz.iss.dom</code>)
+ bilgilendirme bölümü (örn, <code>ServerName bilgi.example.com</code>)
eklenebilir.</p>
</note>
</section>
-<section id="ipbased"><title>IP’ye dayalı sanal konakları daha verimli kılmak</title>
+<section id="ipbased">
+ <title>IP’ye dayalı sanal konakları daha verimli kılmak</title>
<p><a href="#simple">İlk örnekte</a> IP’ye dayalı sanal konaklar için
kullanılmak istenirse yapılandırmada neyin nasıl değiştirileceği
@@ -275,131 +287,18 @@ VirtualScriptAliasIP /siteler/%0/cgi-bin<br />
</section>
-<section id="simple.rewrite"><title><code>mod_rewrite</code> ile Kurumsal Müşteriler Sistemi</title>
-
- <p>Buradaki <code>httpd.conf</code> bölümü de <a href="#simple">ilk
- örnekteki</a> gibi elde edilmiştir. İlk yarı, bazı değişiklikler dışında
- yukarıdaki örneğe çok benzer. Bu değişiklikler yapılandırmanın
- <code>mod_rewrite</code> bölümünün düzgün çalışması ve geriye doğru
- uyumluluk için gereklidir. İkinci yarı, asıl işi yapan
- <code>mod_rewrite</code> yapılandırmasını içerir.</p>
+<section id="simple.rewrite">
+ <title><code>mod_rewrite</code> ile Kitlesel Sanal Konaklar</title>
- <p>Biraz uzmanlık gerektiren bazı kısımlar var: Öntanımlı olarak
- <code>mod_rewrite</code> diğer (<code>mod_alias</code>, vs. gibi) URI
- dönüşüm modüllerinden önce çalışır. Dolayısıyla bu modülleri kullanmak
- isterseniz, <code>mod_rewrite</code>’ı bunlara izin verecek şekilde
- yapılandırmalısınız. Ayrıca her devingen sanal konağa eşdeğer bir
- <code>ScriptAlias</code> yapmak için de biraz büyü yapmak gerekir.</p>
-
-<example>
-# Sunucu ismini Host: başlığınıdan alalım.<br />
-UseCanonicalName Off<br />
-<br />
-# Günlük dosyasından bilgileri ayıklayabilelim.<br />
-LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon<br />
-CustomLog logs/access_log vcommon<br />
-<br />
-&lt;Directory /siteler/hosts&gt;<br />
-<indent>
- # ScriptAlias için yaptıklarımızla CGI betiklerini<br />
- # çalışmaya zorlayamayacağımızdan ExecCGI burada gerekli.<br />
- Options FollowSymLinks ExecCGI<br />
-</indent>
-&lt;/Directory&gt;<br />
-<br />
-# İşin zor yanına geldik.<br />
-<br />
-RewriteEngine On<br />
-<br />
-# Host: başlığından elde edilen sunucu isminde harf<br />
-# büyüklükleri çeşitli olabilir. Hepsini küçük harf yapalım.<br />
-RewriteMap lowercase int:tolower<br />
-<br />
-## önce normal belgelerle anlaşalım:<br />
-# Alias /icons/ çalışsın - diğer rumuzlar için yineleyelim<br />
-RewriteCond %{REQUEST_URI} !^/icons/<br />
-# CGI’ler de çalışsın.<br />
-RewriteCond %{REQUEST_URI} !^/cgi-bin/<br />
-# Biraz da büyü yapalım.<br />
-RewriteRule ^/(.*)$ /siteler/${lowercase:%{SERVER_NAME}}/belgeler/$1<br />
-<br />
-## Artık CGI’lerle anlaşabiliriz. - Bir eylemci isteyelim.<br />
-RewriteCond %{REQUEST_URI} ^/cgi-bin/<br />
-RewriteRule ^/(.*)$ /siteler/${lowercase:%{SERVER_NAME}}/cgi-bin/$1 [H=cgi-script]<br />
-<br />
-# Bu kadar!
-</example>
-
-</section>
-
-<section id="homepages.rewrite"><title><code>mod_rewrite</code> ile Kişisel Sayfalar Sistemi</title>
-
- <p>Burada da <a href="#homepages">ikinci örnekte</a> yaptıklarımızı
- yapıyoruz.</p>
-
-<example>
-RewriteEngine on<br />
-<br />
-RewriteMap lowercase int:tolower<br />
-<br />
-# CGI’ler çalışsın.<br />
-RewriteCond %{REQUEST_URI} !^/cgi-bin/<br />
-<br />
-# konak ismi doğru mu bakalım yoksa RewriteRule çalışmaz.<br />
-RewriteCond ${lowercase:%{SERVER_NAME}} ^www\.[a-z-]+\.isp\.dom$<br />
-<br />
-# URI’nin başına sanal konak ismini ekleyelim.<br />
-# [C], bunu bitirdikten sonra, sonraki rewrite ile devam et demek.<br />
-RewriteRule ^(.+) ${lowercase:%{SERVER_NAME}}$1 [C]<br />
-<br />
-# Artık asıl dosya ismini oluşturabiliriz.<br />
-RewriteRule ^www\.([a-z-]+)\.isp\.dom/(.*) /home/$1/$2<br />
-<br />
-# Ortak CGI dizinini tanımlayalım.<br />
-ScriptAlias /cgi-bin/ /siteler/std-cgi/
-</example>
+ <p>Kitlesel sanal barındırma <module>mod_rewrite</module> modülü kullanarak
+ da gerçeklenebilir. Ya basitçe <directive module="mod_rewrite"
+ >RewriteRule</directive> yönergelerini kullanırsınız ya da daha karmaşık
+ olarak sanal konak tanımlarınızı harici bir yerde tutar ve bunlara
+ <directive module="mod_rewrite">RewriteMap</directive> yönergesini
+ kullanarak erişirsiniz. Bu teknikler ayrıntılı olarak
+ <a href="../rewrite/vhosts.html">rewrite belgelerinde</a>
+ açıklanmıştır.</p>
</section>
-<section id="xtra-conf"><title>Sanal konaklar için ayrı bir yapılandırma dosyası kullanmak</title>
-
- <p>Burada, sanal konak isimlerinden belge kök dizini elde ederken
- <module>mod_rewrite</module> modülünün daha gelişkin özelliklerinden
- yararlanarak isimleri ayrı bir dosyadan okutacağız. Bu, esnekliği
- artırır ama daha karmaşık bir yapılandırma gerekir.</p>
-
- <p>Aşağıdaki içeriğe sahip bir <code>vhost.map</code>dosyamız olsun:</p>
-
-<example>
-musteri-1.dom /siteler/kurumsal/1<br />
-musteri-2.dom /siteler/kurumsal/2<br />
-# ...<br />
-musteri-N.dom /siteler/kurumsal/N<br />
-</example>
-
- <p><code>httpd.conf</code> dosyamız da şunları içerecektir:</p>
-
-<example>
-RewriteEngine on<br />
-<br />
-RewriteMap lowercase int:tolower<br />
-<br />
-# Eşlem dosyasını tanımlayalım<br />
-RewriteMap vhost txt:/siteler/conf/vhost.map<br />
-<br />
-# Rumuzları yukarıdaki gibi halledelim.<br />
-RewriteCond %{REQUEST_URI} !^/icons/<br />
-RewriteCond %{REQUEST_URI} !^/cgi-bin/<br />
-RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$<br />
-# Eşlemeyi dosyalar için de yapalım.<br />
-RewriteCond ${vhost:%1} ^(/.*)$<br />
-RewriteRule ^/(.*)$ %1/belgeler/$1<br />
-<br />
-RewriteCond %{REQUEST_URI} ^/cgi-bin/<br />
-RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$<br />
-RewriteCond ${vhost:%1} ^(/.*)$<br />
-RewriteRule ^/(.*)$ %1/cgi-bin/$1 [H=cgi-script]
-</example>
-
-</section>
</manualpage>
diff --git a/docs/manual/vhosts/name-based.xml.tr b/docs/manual/vhosts/name-based.xml.tr
index 85cdb68490..868d0a6104 100644
--- a/docs/manual/vhosts/name-based.xml.tr
+++ b/docs/manual/vhosts/name-based.xml.tr
@@ -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: 659902:1301400 (outdated) -->
+<!-- English Revision: 1301400 -->
<!-- =====================================================
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
Reviewed by: Orhan Berent <berent belgeler.org>
@@ -40,47 +40,61 @@
Barındırma</a></seealso>
<seealso><a href="examples.html">Çok kullanılan sanal konak yapılandırma
örnekleri</a></seealso>
-<seealso><a href="examples.html#serverpath">ServerPath yapılandırma örneği</a>
-</seealso>
<section id="namevip"><title>İsme dayalı ve IP’ye dayalı Sanal Konaklar</title>
- <p>IP’ye dayalı sanal konaklarda sunulacak sanal konağı doğru tespit
- edebilmek için bağlantının yapıldığı IP adresine bakılır. Bu bakımdan her
- konak için ayrı bir IP adresine gereksinim vardır. İsme dayalı sanal
- konaklarda ise sunucu, istemcinin HTTP başlığının bir parçası olarak
- gönderdiği konak adını kullanır. Bu teknikte aynı IP adresini çok sayıda
- farklı konak kullanabilir.</p>
+ <p><a href="ip-based.html">IP’ye dayalı sanal konaklar</a>da sunulacak
+ sanal konağı doğru tespit edebilmek için bağlantının yapıldığı IP
+ adresine bakılır. Bu bakımdan her konak için ayrı bir IP adresine
+ gereksinim vardır.</p>
+
+ <p>İsme dayalı sanal konaklarda ise sunucu, istemcinin HTTP başlığının bir
+ parçası olarak gönderdiği konak adını kullanır. Bu teknikte aynı IP
+ adresini çok sayıda farklı konak kullanabilir.</p>
<p>İsme dayalı sanal barındırma nispeten daha kolaydır, çünkü her konak
ismini doğru IP adresiyle eşlemek için DNS sunucunuzu yapılandırdıktan
sonra Apache HTTP sunucusunu farklı konak isimlerini tanıyacak şekilde
yapılandırmanız yeterli olur. İsme dayalı sanal barındırma ayrıca zaten
kıt olan IP adreslerine talebi de azaltır. Bu nedenle, IP’ye dayalı sanal
- konakları kullanmanızı gerektirecek çok özel bir sebep olmadıkça isme
- dayalı sanal konaklar kullanmalısınız. IP’ye dayalı sanal konakların
- kullanımını gerektirebilecek bazı durumlar:</p>
-
- <ul>
- <li>Bazı tarihi istemciler isme dayalı sanal konaklarla uyumlu değildir.
- İsme dayalı sanal konakların çalışması için istemcinin HTTP Host
- başlığı göndermesi gerekir. Bu da HTTP/1.1 desteği gerektirir.
- Günümüzdeki HTTP/1.0 istemcileri bir eklenti olarak HTTP/1.1’i de
- desteklemektedir. Tarihi eser haline gelmiş HTTP/1.1 desteği
- bulurmayan eski istemcileri hala isme dayalı sanal konaklarla
- desteklemek isterseniz bu belgenin sonunda bunu mümkün kılabilecek bir
- tekniğe yer verilmiştir.</li>
-
- <li>İsme dayalı sanal konaklar SSL portokolünün doğası gereğince SSL’li
- güvenli sunucular için kullanılamazlar.</li>
-
- <li>Bazı işletim sistemlerinin ve ağ donanımlarının gerçekleştirdiği
- band genişliği yönetim teknikleri IP adresleri farklı olmadığı sürece
- konaklar arasında ayrım yapamazlar.</li>
- </ul>
+ konakları kullanmanızı gerektiren donanım kullanmadıkça isme dayalı
+ sanal konaklar kullanmalısınız. İstemci uyumuna bağlı IP’ye dayalı
+ sanal barındırma için eskiden varolan sebepler genel amaçlı bir HTTP
+ sunucusu için artık uygulanabilir değildir.</p>
+
+ <p>İsme dayalı sanal barındırma, IP'ye dayalı sanal barındırma seçim
+ algoritmasını kullanmaz, yani uygun sunucu ismini arama işlemi sadece en
+ iyi IP'ye dayalı adrese sahip sanal konaklar arasında gerçekleşir.</p>
</section>
+<section id="alg">
+ <title>Sunucu isme dayalı sanal konaklardan uygun olanını nasıl seçer</title>
+
+ <p>İsme dayalı sanal konak çözümlemesinin ilk adımının IP'ye dayalı
+ çözümleme olduğunun anlaşılması çok önemlidir. İsme dayalı sanal konak
+ çözümlemesi en uygun isme dayalı sanal konağı seçerken önce en iyi IP'ye
+ dayalı eşleşme adaylarının sayısını azaltır, sonra bunlar arasından en
+ uygununu seçer. Tüm <code>VirtualHost</code> yönergelerinde IP adresi
+ yerine joker kullanımı bu IP'ye dayalı eşlemeyi yersiz kılar.</p>
+
+ <p>Bir istek geldiğinde, sunucu, istekte kullanılan IP adresi ve portu ile
+ en iyi eşleşen <directive type="section" module="core"
+ >VirtualHost</directive> bileşenini bulur. Bu IP adresi ve port çifti ile
+ eşleşen birden fazla sanal konak varsa, Apache httpd istekte kullanılan
+ sunucu ismini <directive module="core" >ServerName</directive> ve
+ <directive module="core">ServerAlias</directive> yönergelerindeki
+ isimlerle karşılaştırır.</p>
+
+ <section id="defaultvhost">
+ <title>Bir IP adresi ve port çifti için öntanımlı isme dayalı sankon</title>
+ <p><directive module="core" >ServerName</directive> ve
+ <directive module="core">ServerAlias</directive> yönergelerinde bir
+ eşleşme bulunamazsa, Apache httpd bu çift ile eşleşen <strong>sanal
+ konaklar listesindeki ilk sanal konağı</strong> kullanır.</p>
+ </section>
+</section>
+
<section id="using"><title>İsme Dayalı Sanal Konakların Kullanımı</title>
<related>
@@ -89,85 +103,69 @@ Barındırma</a></seealso>
</modulelist>
<directivelist>
- <directive module="core">DocumentRoot</directive>
- <directive module="core">NameVirtualHost</directive>
- <directive module="core">ServerAlias</directive>
- <directive module="core">ServerName</directive>
- <directive module="core">ServerPath</directive>
- <directive module="core" type="section">VirtualHost</directive>
+ <directive module="core">DocumentRoot</directive>
+ <directive module="core">ServerAlias</directive>
+ <directive module="core">ServerName</directive>
+ <directive module="core" type="section">VirtualHost</directive>
</directivelist>
</related>
- <p>İsme dayalı sanal konakları kullanmak için, bu konaklar için istekleri
- kabul edecek sunucuya IP adresini (ve muhtemelen portu da)
- belirtmelisiniz. Bu işlem <directive
- module="core">NameVirtualHost</directive> yönergesiyle yapılır. Normal
- şartlar altında sunucu üzerinde bütün IP adreslerinin kullanılması
- gerekir; bunun için <directive module="core">NameVirtualHost</directive>
- yönergesine argüman olarak <code>*</code> belirtebilirsiniz. Çok sayıda
- port kullanmayı planlıyorsanız (SSL çalıştırmak gibi), argümana
- <code>*:80</code> şeklinde port ekleyebilirsiniz. Yalnız, <directive
- module="core">NameVirtualHost</directive> yönergesinde bir IP adresi
- belirtmiş olmakla sunucunun kendiliğinden o IP adresini dinlemeyeceğine
- dikkat ediniz. Bu konuda ayrıntılı bilgi edinmek için <a
- href="../bind.html">Apache’nin kullanacağı adreslerin ve portların
- ayarlanması</a> belgesine bakınız. Ayrıca, sunucuda, burada belirttiğiniz
- IP adresine sahip bir ağ arabirimi olmalıdır.</p>
-
- <p>Sonraki adım sunacağınız her konak için ayrı bir <directive
- type="section" module="core">VirtualHost</directive> bölümü oluşturmaktır.
- <directive type="section" module="core">VirtualHost</directive>
- yönergesinin argümanı ile eşleşen bir <directive
- module="core">NameVirtualHost</directive> yönergesi tanımlanmış olmalıdır
- (değer normalde "*:80" olacaktır). Her <directive type="section"
- module="core">VirtualHost</directive> bölümü içinde sunulan konağı
- belirtmek üzere en azından bir adet <directive
- module="core">ServerName</directive> yönergesine ve konak içeriğinin dosya
- sisteminde bulunduğu yeri gösteren bir <directive
- module="core">DocumentRoot</directive> yönergesine
- ihtiyacınız olacaktır.</p>
+ <p>İlk adım sunacağınız her konak için ayrı bir <directive type="section"
+ module="core">VirtualHost</directive> bölümü oluşturmaktır. Her
+ <directive type="section" module="core" >VirtualHost</directive> bölümü
+ içinde sunulan konağı belirtmek üzere en azından bir adet <directive
+ module="core">ServerName</directive> yönergesine ve konak içeriğinin
+ dosya sisteminde bulunduğu yeri gösteren bir <directive
+ module="core">DocumentRoot</directive> yönergesine ihtiyacınız
+ olacaktır.</p>
<note><title>Ana konağı unutmayın</title>
- <p>Mevcut sitenize sanal konaklar eklerseniz, mevcut siteniz için de bir
- <directive type="section" module="core">VirtualHost</directive> bölümü
- oluşturmalısınız. Bu sanal konak bölümü içinde kullanacağınız
- <directive module="core">ServerName</directive> ve <directive
- module="core">DocumentRoot</directive> yönergelerinin argümanları, bu
- yönergelerin sunucu geneli için belirttiğiniz değerlerini
- içermelidir. Bu sanal konağı yapılandırma dosyanızdaki ilk sanal konak
- yapın ki, öntanımlı konak olsun.</p>
+ <p>Any request that doesn't match an existing Mevcut <directive
+ type="section" module="core">VirtualHost</directive> yönergelerinin
+ hiçbiriyle eşleşmeyen bir istekiçin, sunucu veya konak ismine
+ bakılmaksızın genel sunucu yapılandırmanız kullanılır.</p>
+
+ <p>Mevcut sitenize isme dayalı bir sanal konak eklerseniz ve bu sanal
+ konak ana sunucunun IP adresi ve portuna sahipse, ana sunucuya yapılan
+ istekler için bu sanal konak kullanılır. Bu bakımdan, <directive
+ module="core">ServerName</directive> yönergesi ana sunucununki ile aynı
+ olan bir <a href="#defaultvhost">öntanımlı sanal konak</a> oluşturmak
+ akıllıca olacaktır. Aynı arayüz ve portu kullanan fakat farklı
+ yapılandırmalara sahip diğer alan isimlerinin sanal konakları (yani
+ öntanımlı olmayanlar) bu öntanımlı sanal konağın sonrasına
+ yerleştirilmelidir.</p>
</note>
- <p>Örnek olarak, <code>www.biralan.tld</code> adresinden sitenizi sunmakta
- olduğunuzu ve bunun yanına aynı IP adresini kullanan
- <code>www.digeralan.tld</code> sanal konağını eklemek istediğinizi
+ <p>Örnek olarak, <code>site1.example.com</code> adresinden sitenizi
+ sunmakta olduğunuzu ve bunun yanına aynı IP adresini kullanan
+ <code>site2.example.com</code> sanal konağını eklemek istediğinizi
varsayalım. Bunun için <code>httpd.conf</code> dosyanıza basitçe şu
satırları ekleyebilirsiniz:</p>
<example>
- NameVirtualHost *:80<br />
- <br />
&lt;VirtualHost *:80&gt;<br />
<indent>
- ServerName www.biralan.tld<br />
- ServerAlias biralan.tld *.biralan.tld<br />
- DocumentRoot /siteler/biralan<br />
+ #İlk sanal konak aynı zamanda *:80 için de öntanımlıdır.
+ ServerName site1.example.com<br />
+ ServerAlias example.com<br />
+ DocumentRoot /siteler/site1<br />
</indent>
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost *:80&gt;<br />
- <indent>ServerName www.digeralan.tld<br />
- DocumentRoot /siteler/digeralan<br />
+ <indent>
+ ServerName site2.example.com<br />
+ DocumentRoot /siteler/site2<br />
</indent>
&lt;/VirtualHost&gt;<br />
</example>
- <p>İsterseniz, <directive module="core">NameVirtualHost</directive> ve
- <directive type="section" module="core">VirtualHost</directive>
- yönergelerinde argüman olarak <code>*</code> yerine doğrudan bir IP adresi
- belirtebilirsiniz. Hatta, daha sonra, isme dayalı sanal konakları bir IP
- adresinden ve IP’ye dayalı olanları veya isme dayalı diğer bir sanal konak
- grubunu diğer IP adreslerinden sunmak isteyebilirsiniz.</p>
+ <p>İsterseniz,<directive type="section" module="core"
+ >VirtualHost</directive> yönergesinde argüman olarak <code>*</code>
+ yerine doğrudan bir IP adresi belirtebilirsiniz. Hatta, daha sonra, isme
+ dayalı sanal konakları bir IP adresinden ve IP’ye dayalı olanları veya
+ isme dayalı diğer bir sanal konak grubunu diğer IP adreslerinden sunmak
+ isteyebilirsiniz.</p>
<p>Çoğu sunucunun birden fazla isim ile erişilebilir olması istenir. Bu,
<directive type="section" module="core">VirtualHost</directive> bölümü
@@ -177,19 +175,26 @@ Barındırma</a></seealso>
için bölüm içine şu satırı ekleyebilirsiniz:</p>
<example>
- ServerAlias biralan.tld *.biralan.tld
+ ServerAlias example.com *.example.com
</example>
<p>Böylece <code>biralan.tld</code> alanındaki tüm konaklar için gelen
isteklere <code>www.biralan.tld</code> sanal konağından hizmet sunulmuş
olur. Konak isimleriyle eşleşmek üzere dosya ismi kalıp karakterleri
- <code>*</code> ve <code>?</code> kullanılabilir. Şüphesiz bu isimleri sırf
- <directive module="core">ServerName</directive> veya
+ <code>*</code> ve <code>?</code> kullanılabilir. Şüphesiz bu isimleri
+ sırf <directive module="core">ServerName</directive> veya
<code>ServerAlias</code> yönergesinde belirtmiş olmakla bu isimleri
erişilebilir kılamazsınız. Öncelikle, bu isimleri sunucunuzdaki IP
adresleriyle eşlemek üzere yapılandıracağınız bir DNS sunucunuz
olmalıdır.</p>
+ <p>İsme dayalı sanal konaklardan en iyi eşleşme kümesinde olanlar
+ yapılandırmada göründükleri sıraya göre işleme sokulur. Joker
+ kullanımları arasında fark gözetilmeksizin <directive module="core"
+ >ServerName</directive> veya <directive module="core"
+ >ServerAlias</directive> yönergesi eşleşen ilk sanal konak
+ kullanılır.</p>
+
<p>Son olarak, sanal konak yapılandırmanıza, <directive type="section"
module="core">VirtualHost</directive> bölümlerinin içine başka yönergeler
yerleştirerek ince ayar çekebilirsiniz. Çoğu yönerge bu bölümlere
@@ -202,78 +207,6 @@ Barındırma</a></seealso>
yapılandırma yönergelerinden sadece sanal konak bölümlerinde geçersiz
kılınmamış olanlar kullanılacaktır.</p>
- <p>Sunucuya bir istek geldiğinde, sunucu önce IP adresiyle eşleşmesi olası
- <directive module="core">NameVirtualHost</directive> bölümleri var mı diye
- bakar. Varsa, IP adresini eşleştirmek için <directive
- module="core">NameVirtualHost</directive> bölümlerine tek tek bakar ve
- istenen konak ismi ile eşleşen bir <directive module="core"
- >ServerName</directive> veya <code>ServerAlias</code> yönergesi bulmaya
- çalışır. Bir tane bulduğunda, sunucu için onun yapılandırmasını kullanır.
- İsimle eşleşen bir sanal konak bulamazsa IP adresiyle eşleşen <strong>ilk
- sanal konağın</strong> yapılandırmasını kullanır.</p>
-
- <p>Bir önkabul olarak yapılandırma dosyasında rastlanan ilk sanal konak
- <em>öntanımlı</em> sanal konaktır. IP adresi bir sanal konakla eşleştiği
- takdirde <em>ana sunucunun</em> <directive module="core"
- >DocumentRoot</directive> değeri <strong>asla</strong> kullanılmayacaktır.
- Sanal konaklardan hiçbiriyle eşleşmeyen istekler için özel bir
- yapılandırmanız olsun isterseniz, bu yapılandırmayı yapılandırma
- dosyanızdaki ilk <directive type="section"
- module="core">VirtualHost</directive> bölümüne yerleştirmeniz
- yetecektir.</p>
-
</section>
-<section id="compat"><title>Artık Tarihe Karışmış Tarayıcılarla Uyumluluk</title>
-
- <p>Evvelce de bahsedildiği gibi, isme dayalı sanal konakların gerektiği gibi
- çalışması için gerekli veriyi göndermeyen bazı istemciler vardır. Bu
- istemcilere daima o IP adresinin yapılandırma dosyasındaki ilk sanal
- konağının (isme dayalı <cite>başat</cite> sanal konak) sayfaları
- gönderilir.</p>
-
- <note><title>Ne kadar eski?</title>
- <p>Lütfen dikkat edin, eski deyince gerçekten de antika demek istiyoruz.
- Günümüzde bu tür tarayıcılara rastlamanız neredeyse imkansızdır. Günümüz
- tarayıcılarının hepsi isme dayalı sanal konakların gerektirdiği
- <code>Host</code> başlığını gönderirler.</p>
- </note>
-
- <p>Olayı fazla germeden <directive module="core">ServerPath</directive>
- yönergesini kullanarak sorunun çevresinden dolanmak mümkündür:</p>
-
- <p>Örnek yapılandırma:</p>
-
- <example>
- NameVirtualHost 111.22.33.44<br />
- <br />
- &lt;VirtualHost 111.22.33.44&gt;<br />
- <indent>
- ServerName www.biralan.tld<br />
- ServerPath /biralan<br />
- DocumentRoot /siteler/biralan<br />
- </indent>
- &lt;/VirtualHost&gt;<br />
- </example>
-
- <p>Bu ne anlama geliyor? Anlamı, "<code>/biralan</code>" ile başlayan her
- URI isteği <code>www.biralan.tld</code> sanal konağı tarafından sunulacak,
- demektir. Yani, tüm istemcilerin
- <code>http://www.biralan.tld/biralan/</code> olarak eriştiği yere
- <code>Host:</code> başlığı gönderen istemciler
- <code>http://www.biralan.tld/</code> olarak erişirler.</p>
-
- <p>Bunu gerçekleştirebilmek için başat sanal konağın baş sayfasına
- <code>http://www.biralan.tld/biralan/</code> için bir bağ koyduktan sonra
- sanal konağın sayfalarında ya tamamen göreli bağlar
- ("<code>dosya.html</code>", "<code>../simgeler/resim.png</code>" gibi)
- veya <code>/biralan/</code> ile öncelenmiş bağlar
- ("<code>http://www.biralan.tld/biralan/muht/dosya.html</code>" veya
- "<code>/biralan/muht/dosya.html</code>" gibi) kullanın.</p>
-
- <p>Bu işlem biraz disiplin gerektirse de bu yazılanlara sıkı sıkıya bağlı
- kalarak hem eski hem de yeni tarayıcıların sayfalarınızı doğru
- görüntülemesini sağlamış olursunuz.</p>
-
-</section>
</manualpage>