From 6beeb1b708550be0d4a53b272283e17e5e35fe17 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 17:01:30 +0200 Subject: Adding upstream version 2.4.57. Signed-off-by: Daniel Baumann --- docs/manual/vhosts/examples.html.tr.utf8 | 562 +++++++++++++++++++++++++++++++ 1 file changed, 562 insertions(+) create mode 100644 docs/manual/vhosts/examples.html.tr.utf8 (limited to 'docs/manual/vhosts/examples.html.tr.utf8') diff --git a/docs/manual/vhosts/examples.html.tr.utf8 b/docs/manual/vhosts/examples.html.tr.utf8 new file mode 100644 index 0000000..d5c620d --- /dev/null +++ b/docs/manual/vhosts/examples.html.tr.utf8 @@ -0,0 +1,562 @@ + + + + + +Sanal Konak Örnekleri - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Sanal Konak Örnekleri

+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
+ + +

Bu belgede sanal konaklarla ile ilgili olarak + karşılaşılması olası tüm senaryolara yer verilmeye çalışılmıştır. + Buradaki senaryolar, tek bir sunucu üzerinde isme dayalı veya IP’ye dayalı + sanal konaklar aracılığıyla çok sayıda sitenin sunumu ile ilgilidir. +

+ +
+ +
top
+
+

Tek bir IP ile çok sayıda isme dayalı site

+ + +

Bu örnekte, makinenizin tek bir IP adresine çözümlenen çok sayıda konak + adına sahip olduğunu, example.com ve + example.org gibi farklı isimlere farklı yanıtlar vermek + istediğinizi varsayalım.

+ +

Bilginize

Apache sunucusu üzerinde sanal konakları + yapılandırmakla bu konak isimleri için sihirli bir şekilde DNS + kayıtlarının da oluşturulmasını sağlamış olmazsınız. Bu isimler için + ilgili DNS kayıtlarında sizin IP adresinize çözümlenen A kayıtlarının + olması gerekir, yoksa sitenize kimse erişemez. Sitelere erişimi yerel + olarak denemek isterseniz, bu girdileri hosts dosyanıza + yazabilirsiniz. Fakat bu sadece sizin makinenizde çalışır. Yerel + ağınızdaki her makinenin hosts dosyasına bu girdileri + yazarak yerel ağdan erişimi bu yolla sağlayabilirsiniz ama dış ağdan + gelecek ziyaretçileriniz için DNS kayıtlarınızın olması şarttır.

+
+ +
# Apache’nin 80. portu dinlediğinden emin olalım
+Listen 80
+<VirtualHost *:80>
+  DocumentRoot "/siteler/ecom"
+  ServerName example.com
+
+  # Diğer yönergeler, burada ...
+</VirtualHost>
+
+<VirtualHost *:80>
+  DocumentRoot "/siteler/eorg"
+  ServerName example.org
+
+  # Diğer yönergeler, burada ...
+</VirtualHost>
+ + +

Yıldız imleri tüm adreslerle eşleşmeyi sağladığından ana sunucu + (yapılandırma dosyası genelindeki yapılandırma - sunucu geneli) + erişilebilir olmayacaktır. Yapılandırma + dosyasındaki ServerName example.com yönergeli konak, ilk + sanal konak olduğundan en yüksek önceliğe sahiptir ve + öntanımlı veya baskın site olarak davranır. + Yani, hiçbir ServerName yönergesi + ile eşleşmeyen bir istek alındığında bu istek ilk <VirtualHost> yapılandırması ile + karşılanır.

+ +

Yukarıdaki yapılandırmayı hemen hemen tüm isme dayalı sanal konaklar + için kullanabilirsiniz. Bu yapılandırmanın çalışmayacağı tek durum, + farklı içerikleri farklı IP adres veya portlardan sunma gereğiyle + karşılaşmaktır.

+ +

Bilginize

+

* yerine sisteminizdeki belli bir IP adresini + yazabilirsiniz. Böyle sanal konaklar sadece, HTTP isteklerinin sadece + belirtilen IP adreslerinden alınması için kullanilabilir.

+ +
NameVirtualHost 192.168.1.22
+
+<VirtualHost 192.168.1.22>
+  # vs. ...
+</VirtualHost>
+ + +

Bununla birlikte, IP adresinin önceden kestirilebilir olmadığı + sistemlerde, örneğin, hizmet sağlayıcınıza çevirmeli ağ ile bağlanıyor + ve onun rasgele atadığı bir IP adresi için bir devingen DNS çözümü + kullanıyorsanız, IP adresi değil de * kullanmak daha çok + işinize yarayacaktır. Yıldız imi her IP adresi ile eşleşeceğinden IP + adresiniz değişse bile bu yapılandırmayı değiştirmeden + kullanabilirsiniz.

+
+ +
top
+
+

IP adresleri farklı çok sayıda isme dayalı site

+ + +

Bilginize

+

Burada açıklanan teknikler istendiği kadar çok IP adresine + genişletilebilir.

+
+ +

Sunucunun iki IP adresi olsun. Birinden "ana sunucu" + (192.168.1.2) diğerinden example.com + 192.168.2.2 hizmet versin. Bu arada başka sanal konakları + da sunabilelim istiyoruz.

+ +
Listen 80
+
+# Bu, 192.168.1.2 adresindeki "ana sunucu" olsun
+ServerName sunucu.example.com
+DocumentRoot "/siteler/anasunucu"
+
+<VirtualHost 192.168.1.20>
+    DocumentRoot "/siteler/ecom"
+    ServerName example.com
+
+    # Diğer yönergeler, burada ...
+</VirtualHost>
+
+<VirtualHost 192.168.1.20>
+    DocumentRoot "/siteler/eorg"
+    ServerName example.org
+
+    # Diğer yönergeler, burada ...
+</VirtualHost>
+ + +

192.168.1.20 adresinden gelmeyen tüm isteklere ana sunucu + (sunucu.example.com), 192.168.1.20 adresinden + gelen sunucu ismi belirtmeyenler ile Host: başlığı + belirtmeyenlere ise example.com hizmet verecektir.

+ +
top
+
+

Aynı içeriği farklı IP adresleriyle sunmak + (örn., dahili ve harici ağlara)

+ +

Sunucu makine iki IP adresine sahip olsun. Biri iç ağa + (192.168.1.1) diğeri dış ağa (172.20.30.40) + bakıyor olsun. sunucu.example.com ismi dış ağda dış ağa + bakan IP’ye, iç ağda ise iç ağa bakan IP’ye çözümleniyor olsun.

+ +

Bu durumda, sunucu hem iç hem de dış ağdan gelen isteklere aynı içerik, + dolayısıyla aynı <VirtualHost> bölümü ile hizmet verebilir.

+ +
<VirtualHost 192.168.1.1 172.20.30.40>
+    DocumentRoot "/siteler/sunucu"
+    ServerName sunucu.example.com
+    ServerAlias sunucu
+</VirtualHost>
+ + +

Artık, hem iç hem de dış ağdan gelen isteklere aynı + <VirtualHost> + bölümünden hizmet sunulacaktır.

+ +

Bilginize:

+

İç ağdan istek yapan biri, tam nitelenmiş konak ismi + sunucu.example.com yerine makine ismini + (sunucu) kullanabilir (ServerAlias sunucu + satırına dikkat).

+ +

Ayrıca, yukarıdaki gibi iki ayrı IP adresi belirtmek yerine sadece + * belirtmekle sunucunun tüm IP adreslerine yine aynı + içerikle yanıt vereceğine dikkat ediniz.

+
+ +
top
+
+

Farklı portlarla farklı siteler

+ +

Aynı IP adresine sahip çok sayıda konak ismine sahip olduğunuzu ve + bunların bazılarının farklı portları kullanmasını istediğinizi + varsayalım. Aşağıdaki örnekte, isim eşleşmesinin, en iyi eşleşen IP + adresi ve port çifti saptandıktan sonra yer alması gösterilmiştir.

+ +
Listen 80
+Listen 8080
+
+<VirtualHost 172.20.30.40:80>
+    ServerName example.com
+    DocumentRoot "/siteler/ecom-80"
+</VirtualHost>
+
+<VirtualHost 172.20.30.40:8080>
+    ServerName example.com
+    DocumentRoot "/siteler/ecom-8080"
+</VirtualHost>
+
+<VirtualHost 172.20.30.40:80>
+    ServerName example.org
+    DocumentRoot "/siteler/eorg-80"
+</VirtualHost>
+
+<VirtualHost 172.20.30.40:8080>
+    ServerName example.org
+    DocumentRoot "/siteler/eorg-8080"
+</VirtualHost>
+ + +
top
+
+

IP’ye dayalı sanal konaklar

+ +

Sunucu makinenin, biri example.com adından çözümlenen + 172.20.30.40, diğeri example.org adından + çözümlenen 172.20.30.50 diye iki IP adresi olsun.

+ +
Listen 80
+
+<VirtualHost 172.20.30.40>
+    DocumentRoot "/siteler/ecom"
+    ServerName example.com
+</VirtualHost>
+
+<VirtualHost 172.20.30.50>
+    DocumentRoot "/siteler/eorg"
+    ServerName example.org
+</VirtualHost>
+ + +

<VirtualHost> yönergelerinde belirtilmeyen + adreslerle yapılan isteklere (örneğin, localhost) sunucu + genelindeki yapılandırma ile ana sunucu yanıt verecektir.

+
top
+
+

Hem IP’ye hem de porta dayalı sanal konaklar

+ + +

Sunucu makinenin, biri example.com adından çözümlenen + 172.20.30.40, diğeri example.org adından + çözümlenen 172.20.30.50 diye iki IP adresi olsun ve iki + konak da hem 80 hem de 8080 portlarında çalışsınlar istiyoruz.

+ +
Listen 172.20.30.40:80
+Listen 172.20.30.40:8080
+Listen 172.20.30.50:80
+Listen 172.20.30.50:8080
+
+<VirtualHost 172.20.30.40:80>
+    DocumentRoot "/siteler/ecom-80"
+    ServerName example.com
+</VirtualHost>
+
+<VirtualHost 172.20.30.40:8080>
+    DocumentRoot "/siteler/ecom-8080"
+    ServerName example.com
+</VirtualHost>
+
+<VirtualHost 172.20.30.50:80>
+    DocumentRoot "/siteler/eorg-80"
+    ServerName example.org
+</VirtualHost>
+
+<VirtualHost 172.20.30.50:8080>
+    DocumentRoot "/siteler/eorg-8080"
+    ServerName example.org
+</VirtualHost>
+ + +
top
+
+

Hem isme hem de IP‘ye dayalı sanal konaklar

+ + +

Bir VirtualHost yönergesinde belirtilen bir IP adresi başka + bir sanal konakta görünmüyorsa bu sankon kesinlikle IP'ye dayalı bir + sanal konaktır.

+ +
Listen 80
+
+<VirtualHost 172.20.30.40>
+    DocumentRoot "/siteler/ecom"
+    ServerName example.com
+</VirtualHost>
+
+<VirtualHost 172.20.30.40>
+    DocumentRoot "/siteler/eorg"
+    ServerName example.org
+</VirtualHost>
+
+<VirtualHost 172.20.30.40>
+    DocumentRoot "/siteler/enet"
+    ServerName example.net
+</VirtualHost>
+
+# IP'ye dayalı
+<VirtualHost 172.20.30.50>
+    DocumentRoot "/siteler/eedu"
+    ServerName example.edu
+</VirtualHost>
+
+<VirtualHost 172.20.30.60>
+    DocumentRoot "/siteler/egov"
+    ServerName example.gov
+</VirtualHost>
+ + +
top
+
+

Virtualhost ve + mod_proxy’nin birlikte kullanımı

+ +

Bu örnekte bir arabirimi dışarıya bakan bir makinede, başka bir + makinede çalışan bir sunucuya sanal konak olarak, bir vekil sunucu + çalıştırmak istediğimizi varsayıyoruz. 192.168.111.2 IP + adresli bir makinede aynı isimde bir sanal konak yapılandırılmış olsun. + Çok sayıda konak ismi için vekil olarak tek bir makine kullandığımızdan + ve konak isminin de aktarılmasını arzuladığımızdan ProxyPreserveHost + On yönergesini kullandık.

+ +
<VirtualHost *:*>
+    ProxyPreserveHost On
+    ProxyPass        "/" "http://192.168.111.2/"
+    ProxyPassReverse "/" "http://192.168.111.2/"
+    ServerName konak.example.com
+</VirtualHost>
+ + +
top
+
+

_default_ sanal konakları

+ +

Tüm portlar için _default_

+ + +

Bir IP adresi ve port belirtilmeyen veya hiçbir sanal konağın hiçbir + adresi/portu ile eşleşmeyen istekleri yakalamak istersek...

+ +
<VirtualHost _default_:*>
+    DocumentRoot "/siteler/default"
+</VirtualHost>
+ + +

Bütün portlarla eşleşen böyle bir öntanımlı sanal konağın kullanımı + hiçbir isteğin ana sunucuya gitmemesi sonucunu doğurur.

+ +

Bir öntanımlı sanal konak, asla, isme dayalı sanal konaklar için + kullanılmış bir adrese/porta gönderilmiş bir isteğe hizmet sunmaz. Eğer + istek bilinmeyen bir Host: başlığına sahipse veya hiç + Host: başlığı içermiyorsa isteğe daima ilk (yapılandırma + dosyasındaki ilk) isme dayalı sanal konak hizmet sunar.

+ +

Her isteği tek bir bilgilendirme sayfasına (veya betiğe) yönlendirmek + isterseniz AliasMatch veya + RewriteRule yönergesini + kullanabilirsiniz.

+ + +

Farklı portlardan _default_

+ + +

Önceki yapılandırmaya ek olarak 80. portta ayrı bir + _default_ sanal konağı kullanmak istersek...

+ +
<VirtualHost _default_:80>
+    DocumentRoot "/siteler/default80"
+    # ...
+</VirtualHost>
+
+<VirtualHost _default_:*>
+    DocumentRoot "/siteler/default"
+    # ...
+</VirtualHost>
+ + +

80. porttan hizmet sunan _default_ sanal konağı IP adresi + belirtilmeyen tüm istekleri yakalar, bunu yapabilmesi için yapılandırma + dosyasında tüm portlara hizmet sunan benzerinden önce yer almalıdır. Bu + durumda ana sunucu hiçbir isteğe yanıt vermeyecektir.

+ + +

Tek portluk _default_

+ + +

_default_ sanal konağının sadece 80. porttan hizmet + sunmasını istersek...

+ +
<VirtualHost _default_:80>
+    DocumentRoot "/siteler/default"
+    ...
+</VirtualHost>
+ + +

80. porttan gelen IP adresi belirtilmemiş isteklere + _default_ sanal konağı, diğer portlardan gelen adres + belirtilmemiş isteklere ise ana sunucu hizmet verecektir.

+ +

Bir sanal konak bildiriminde * kullanımı + _default_ kullanımından daha yüksek öncelik sağlar.

+ + +
top
+
+

Bir isme dayalı sanal konağı bir IP’ye dayalı + sanal konakla yansılamak

+ +

İsme dayalı sanal konak örneklerinin 2. sinde adı + geçen example.org bu örnekte kendi IP adresinden hizmet + veriyor olsun. İsme dayalı sanal konağı eski IP adresiyle kaydetmiş + vekiller ve isim sunucularından kaynaklanacak olası sorunlardan kaçınmak + için yansılama sırasında sanal konağı hem eski hem de yeni IP adresiyle + sunmamız lazım.

+ +

Çözüm kolay, çünkü yapacağımız sadece VirtualHost + yönergesine yeni IP adresini (192.168.1.2) eklemek + olacak.

+ +
Listen 80
+ServerName example.com
+DocumentRoot "/siteler/ecom"
+
+<VirtualHost 192.168.1.20 192.168.1.2>
+    DocumentRoot "/siteler/eorg"
+    ServerName example.org
+    # ...
+</VirtualHost>
+
+<VirtualHost 192.168.1.20>
+    DocumentRoot "/siteler/enet"
+    ServerName example.enet
+    ServerAlias *.example.net
+    # ...
+</VirtualHost>
+ + +

Böylece sanal konağa hem yeni (bir IP’ye dayalı sanal konak olarak) + hem de eski adresinden (bir isme dayalı sanal konak olarak) + erişilebilecektir.

+ +
top
+
+

ServerPath yönergesinin kullanımı

+ + +

İsme dayalı iki sanal konağı olan bir sunucumuz olsun. Doğru sanal + konağa erişebilmek için istemcinin doğru Host: başlığı + göndermesi gerekir. Eski HTTP/1.0 istemcileri böyle bir başlık + göndermedikleri için Apache istemcinin hangi sanal konağa erişmek + istediğini bilemez (ve isteğe ilk sanal konaktan hizmet sunar). Daha iyi + bir geriye uyumluluk sağlamak için isme dayalı sanal konağa bir önek + bağlantısı içeren bir bilgilendirme sayfası sunmak üzere yeni bir sanal + konak oluşturabiliriz.

+ +
<VirtualHost 172.20.30.40>
+    # ilk sanal konak
+    DocumentRoot "/siteler/baska"
+    RewriteEngine On
+    RewriteRule "." "/siteler/baska/index.html"
+    # ...
+</VirtualHost>
+
+<VirtualHost 172.20.30.40>
+    DocumentRoot /siteler/baska/bir
+    ServerName "bir.baska.tld"
+    ServerPath "/bir/"
+    RewriteEngine On
+    RewriteRule "^(/bir/.*) /siteler/baska$1"
+    # ...
+</VirtualHost>
+
+<VirtualHost 172.20.30.40>
+    DocumentRoot "/siteler/baska/iki"
+    ServerName iki.baska.tld
+    ServerPath "/iki/"
+    RewriteEngine On
+    RewriteRule "^(/iki/.*)" "/siteler/baska$1"
+    # ...
+</VirtualHost>
+ + +

ServerPath yönergesinden dolayı + http://bir.baska.tld/bir/ şeklinde yapılan isteklere + daima “bir” sanal konağı hizmet sunacaktır.

+ +

http://bir.baska.tld/ şeklinde yapılan isteklere ise + istemcinin doğru Host: başlığı göndermesi şartıyla + “bir” sanal konağı hizmet sunacaktır. İstemci, bir + Host: başlığı göndermediği takdirde ilk konaktan bir + bilgilendirme sayfası alacaktır.

+ +

Yalnız buradaki bir tuhaflığa dikkat edin: Eğer istemci bir + Host: başlığı göndermeden + http://iki.baska.tld/bir/ şeklinde bir istek yaparsa bu + isteğe de “bir” sanal konağı hizmet sunacaktır.

+ +

RewriteRule yönergesi, bir + istemcinin, bir URL öneki belirtsin ya da belirtmesin doğru + Host: başlığı gönderdiğinden emin olmak için + kullanılmıştır.

+ +
+
+

Mevcut Diller:  en  | + fr  | + ja  | + ko  | + tr 

+
top

Yorumlar

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our mailing lists.
+
+ \ No newline at end of file -- cgit v1.2.3