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/mass.html.tr.utf8 | 334 +++++++++++++++++++++++++++++++++++ 1 file changed, 334 insertions(+) create mode 100644 docs/manual/vhosts/mass.html.tr.utf8 (limited to 'docs/manual/vhosts/mass.html.tr.utf8') diff --git a/docs/manual/vhosts/mass.html.tr.utf8 b/docs/manual/vhosts/mass.html.tr.utf8 new file mode 100644 index 0000000..bfac687 --- /dev/null +++ b/docs/manual/vhosts/mass.html.tr.utf8 @@ -0,0 +1,334 @@ + + + + + +Devingen olarak Yapılandırılan Kitlesel Sanal Barındırma - Apache HTTP Sunucusu Sürüm 2.4 + + + + + + + +
<-
+

Devingen olarak Yapılandırılan Kitlesel Sanal Barındırma

+
+

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

+
+ + +

Bu belgede sanal konakların sonu belirsiz bir şekilde artışı karşısında + Apache HTTP Sunucusunun nasıl daha verimli kullanılacağı açıklanmıştır. + Devingen kitlesel konakları oluşturmak için mod_rewrite + modülünün kullanımını açıklayan ayrı bir + belge de mevcuttur. +

+ +
+ +
top
+
+

Amaç

+ +

Burada açıklanan teknikler, httpd.conf dosyanızın + örnekteki gibi, aslında hemen hemen birbirinin aynı çok sayıda + <VirtualHost> bölümü içereceği zaman yapılacaklar ile + ilgilidir.

+ +
<VirtualHost 111.22.33.44>
+    ServerName                 musteri-1.example.com
+    DocumentRoot        "/siteler/musteri-1/belgeler"
+    ScriptAlias  "/cgi-bin/"  "/siteler/musteri-1/cgi-bin"
+</VirtualHost>
+
+<VirtualHost 111.22.33.44>
+    ServerName                 musteri-2.example.com
+    DocumentRoot        "/siteler/musteri-2/belgeler"
+    ScriptAlias   "/cgi-bin/"   "/siteler/musteri-2/cgi-bin"
+</VirtualHost>
+
+<VirtualHost 111.22.33.44>
+    ServerName                 musteri-N.example.com
+    DocumentRoot          "/siteler/musteri-N/belgeler"
+    ScriptAlias   "/cgi-bin/"  "/siteler/musteri-N/cgi-bin"
+</VirtualHost>
+ + +

İsteğimiz çok sayıda <VirtualHost> bölümünü devingen + olarak çalışan tek bir <VirtualHost> bölümüyle + değiştirmektir. Bunun elbette bazı getirileri olacaktır:

+ +
    +
  1. Yapılandırma dosyanız küçüleceği için Apache daha çabuk + 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.
  2. + +
  3. Yeni sanal konakların eklenmesi, DNS’de yeni girdiler oluşturmak ve + dosya sisteminde bununla ilgili dizinleri açmak dışında biraz daha + basit olacaktır; en azından Apache’yi yeniden yapılandırmak ve yeniden + başlatmak zorunda kalmayacaksınız.
  4. +
+ +

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. Böyle bir + işlemle ilgili bir örneği split-logfile aracının belgesinde bulabilirsiniz.

+ +
top
+
+

Genel Bakış

+ +

Bir sanal konak iki bilgiye bakarak belirlenir: IP adresi ve HTTP + isteğindeki Host: 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 httpd + ile mod_vhost_alias modülünü kullanarak oldukça kolay + yapılabileceği gibi mod_rewrite modülü + de kullanılabilir.

+ +

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.

+ +

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 + ServerName yönergesi ile yapılandırılır ve CGI’ler + tarafından SERVER_NAME ortam değişkeni üzerinden + kullanılır. Çalışma anındaki asıl değer UseCanonicalName yönergesi tarafından denetlenir. + UseCanonicalName Off olduğunda sunucu ismi isteğin + Host: başlık alanından elde edilir. UseCanonicalName + DNS 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 httpd, istekte Host: başlığının olmayışı + veya DNS sorgusunun başarısız olması sebebiyle sunucu ismini elde + edemezse son çare olarak ServerName yönergesinde yazılı + değeri kullanır.

+ +

Saptanan bilgilerden biri de DocumentRoot + yönergesi ile yapılandırılan belge kök dizini olup CGI’ler tarafından + DOCUMENT_ROOT ortam değişkeni üzerinden kullanılır. Normal + yapılandırmada core 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 (mod_vhost_alias veya + mod_rewrite). DOCUMENT_ROOT ortam + değişkenine değerini atamaktan sorumlu olan bu iki modülden biri + kullanılmazsa CGI veya SSI belgeleri yanlış değerlerle üretilirler.

+ +
top
+
+

mod_vhost_alias ile Kitlesel Sanal Konaklar

+ +

Yukarıda Amaç bölümünde özetlenen sanal konak + düzenlemesinin mod_vhost_alias kullanarak gerçekleştirilmiş + halini içeren httpd.conf bölümü aşağıdadır.

+ +
# sunucu ismini Host: başlığından elde edelim
+UseCanonicalName Off
+
+# Bu günlükleme biçiminde split-logfile aracı kullanılarak
+# sanal konak günlükleri ilk alana göre ayrıştırılabilir
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog "logs/access_log vcommon"
+
+# istekleri yerine getirmek için kullanılacak
+# dosya isimlerine sunucu ismini ekleyelim
+VirtualDocumentRoot "/siteler/%0/belgeler"
+VirtualScriptAlias  "/siteler/%0/cgi-bin"
+ + +

Bu yapılandırmayı IP’ye dayalı sanal konaklar için kullanmak isterseniz + UseCanonicalName Off yerine UseCanonicalName + DNS yazmanız yeterlidir. Böylece dosya ismine eklenecek konak + ismi sanal konağın IP adresinden türetilir. %0 değişkeni, + Host: başlığı ile belirlenen istekteki sunucu isminin + ifadesidir.

+ +

Kullanım örnekleri için mod_vhost_aliasmodülünün + belgesine bakınız.

+ +
top
+
+

Basitleştirilmiş Kitlesel Sanal Konaklar

+ +

Bu sistem, yukarıdaki yapılandırmanın bir ISS’nin sunucusuna + uyarlanmasından başka bir şey değildir. %2 değişkenini + kullanarak, dosya isminde kullanmak üzere sunucu isminin alt dizgelerini + seçebiliriz, böylece, örneğin www.user.example.com belgeleri + /home/user/www dizininde bulunabilir. Farklı olarak her + sanal konak için bir tane değil hepsi için bir tane cgi-bin + olacaktır.

+ +
UseCanonicalName Off
+
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog "logs/access_log" vcommon
+
+# sunucu ismini içerecek dosya isimlerini oluşturalım
+VirtualDocumentRoot "/home/%2/www"
+
+# ortak cgi-bin dizini
+ScriptAlias  "/cgi-bin/"  "/siteler/std-cgi/"
+ + +

mod_vhost_alias belgesinde daha karmaşık + VirtualDocumentRoot örnekleri vardır.

+ +
top
+
+

Aynı Sunucuda Kişisel ve Kurumsal Sanal Konaklar

+ +

Daha karmaşık ayarlamalar yaparak httpd’nin normal + <VirtualHost> 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 + başka bir IP adresiniz olsun. Her biri için ayrı ayrı sanal konaklar + ayarlamak yerine aşağıdaki gibi bir yapılandırma kullanabilirsiniz:

+ +
UseCanonicalName Off
+
+LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
+
+<Directory "/siteler/kurumsal">
+    Options FollowSymLinks
+    AllowOverride All
+</Directory>
+
+<Directory "/siteler/bireysel">
+    Options FollowSymLinks
+    AllowOverride None
+</Directory>
+
+<VirtualHost 111.22.33.44>
+    ServerName kurumsal.example.com
+
+    CustomLog "logs/access_log.kurumsal" vcommon
+
+    VirtualDocumentRoot "/siteler/kurumsal/%0/belgeler"
+    VirtualScriptAlias  "/siteler/kurumsal/%0/cgi-bin"
+</VirtualHost>
+
+<VirtualHost 111.22.33.45>
+    ServerName bireysel.example.com
+
+    CustomLog "logs/access_log.bireysel" vcommon
+
+    VirtualDocumentRoot "/siteler/bireysel/%0/belgeler"
+    ScriptAlias         "/cgi-bin/" "/siteler/std-cgi/"
+</VirtualHost>
+ + +

Bilginize

+

Eğer ilk <VirtualHost> bölümü bir ServerName 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ü (örn, ServerName bilgi.example.com) + eklenebilir.

+
+ +
top
+
+

IP’ye dayalı sanal konakları daha verimli kılmak

+ + +

İlk örnekte IP’ye dayalı sanal konaklar için + kullanılmak istenirse yapılandırmada neyin nasıl değiştirileceği + belirtilmişti. Her istek için ayrı bir DNS sorgusu gerekeceğinden bu + başarım düşmesine yol açar. DNS sorgusu ihtiyacını ortadan kaldırmak + için, bir çözüm olarak dosya sistemi, konak isimleri yerine IP + adreslerine göre düzenlenebilir. Günlük kayıtları da IP adreslerine göre + ayrıştırılacak şekilde ayarlanabilir.

+ +
# Sunucu ismini IP adresinden ters DNS sorgusu ile elde edelim
+UseCanonicalName DNS
+
+# Günlük kayıtları IP adreslerine göre ayrıştırılabilsin
+LogFormat "%A %h %l %u %t \"%r\" %s %b" vcommon
+CustomLog "logs/access_log" vcommon
+
+# dosya isimleri IP adreslerini içersin
+VirtualDocumentRootIP "/siteler/%0/belgeler"
+VirtualScriptAliasIP  "/siteler/%0/cgi-bin"
+ + +
top
+
+

mod_rewrite ile Kitlesel Sanal Konaklar

+ + +

Kitlesel sanal barındırma mod_rewrite modülü kullanarak + da gerçeklenebilir. Ya basitçe RewriteRule yönergelerini kullanırsınız ya da daha karmaşık + olarak sanal konak tanımlarınızı harici bir yerde tutar ve bunlara + RewriteMap yönergesini + kullanarak erişirsiniz. Bu teknikler ayrıntılı olarak + rewrite belgelerinde + açıklanmıştır.

+ +
top
+
+

mod_macro ile Kitlesel Sanal Konaklar

+ + +

Devingen olarak üretilen sanal konaklar için diğer bir seçenek + mod_macro modülüdür. Bir sanal konak şablonu oluşturup + bunu çok sayıda konak ismi için çağırabilirsiniz. Modül belgelerinin + Kullanım bölümünde böyle bir örneğe yer verilmiştir.

+
+
+

Mevcut Diller:  en  | + fr  | + 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