From: Nilgun Belma Buguner
Açıklama: | Apache HTTP Sunucusunda daima mevcut olan çekirdek özellikler |
---|---|
Durum: | Ãekirdek |
Bu yönerge, çalıÅma zamanında deÄil, yapılandırma iÅlemi sırasında
+ deÄerlendirilir. Sonuç olarak, bu yönerge bir <If>
bölümü içine alınarak koÅullu olarak
+ deÄerlendirilemez.
Define
,
+ Include
ve Error
gibi
+ yapılandırma ayrıÅtırılırken etkili olan yönergeler, bir <If>
yapılandırma bölümü içine alınarak koÅullu
+ hale getirilemez. Bu bölümler, çalıÅma anında nasıl deÄerlendirildiklerine
+ bakılmaksızın, her zaman yapılandırmanın bir parçasıdır.
+ rotatelogs
, Apache'nin borulu günlük
dosyaları özelliÄi ile birlikte kullanmak için tasarlanmıŠbasit bir
@@ -109,6 +108,13 @@
Dosya ismine bir sonek eklenmez, ancak biçem dizgesi '%' karakteri
içeriyorsa buna uyulur.
+
-T
-v
- CustomLog "|bin/rotatelogs /var/log/logfile 86400" common
-
CustomLog "|bin/rotatelogs /var/log/logfile 86400" common+
nnnn, günlük kaydının baÅladıÄı sistem zamanı olmak üzere /var/log/logfile.nnnn dosyası oluÅturulur. Bu zaman, daima döngü @@ -201,36 +206,41 @@ kullanabilirsiniz. Her döngü süresinin sonunda (burada 24 saat sonra) yeni bir günlük dosyası açılır.
-
- CustomLog "|bin/rotatelogs -l /var/log/logfile.%Y.%m.%d 86400" common
-
CustomLog "|bin/rotatelogs -l /var/log/logfile.%Y.%m.%d 86400" common+
yyyy, yıl; mm, ay; dd, ayın gününü belirtmek üzere /var/log/logfile.yyyy.mm.dd dosyası oluÅturulur. Her gün yerel zamanla geceyarısı yeni bir günlük dosyasına geçilecektir.
-
- CustomLog "|bin/rotatelogs /var/log/logfile 5M" common
-
CustomLog "|bin/rotatelogs /var/log/logfile 5M" common+
Günlük dosyası 5 megabaytlık olunca yenisinin oluÅturulmasını saÄlar.
-
- ErrorLog "|bin/rotatelogs /var/log/errorlog.%Y-%m-%d-%H_%M_%S 5M"
-
ErrorLog "|bin/rotatelogs /var/log/errorlog.%Y-%m-%d-%H_%M_%S 5M"+
Hata günlüÄünün 5 megabaytta bir
errorlog.YYYY-mm-dd-HH_MM_SS
biçemli bir isimle
oluÅturulmasını saÄlar.
- CustomLog "|bin/rotatelogs -t /var/log/logfile 86400" common
-
CustomLog "|bin/rotatelogs -t /var/log/logfile 86400" common+
/var/log/logfile dosyasını oluÅturur, sunucu baÅlatılırken ve günde +
/var/log/logfile
dosyasını oluÅturur, sunucu baÅlatılırken ve günde
bir kere dosyanın tepesi kırpılır. Bu senaryoda ayrı bir sürecin (tail
gibi) dosyayı gerçek zamanlı iÅleyeceÄi umulur.
CustomLog "|bin/rotatelogs -T /var/log/logfile.%d 86400" common+
Sunucu ayın birinde baÅlatılırsa (veya yeniden baÅlatılırsa), bu,
+ /var/log/logfile.01
dosyasının sonuna eklenir. Ayın ikinci
+ günü bir günlük giriÅi yazıldıÄında, /var/log/logfile.02
+ kırpılır ve en üste yeni girdiler eklenir. Bu örnek, özel bir bakım
+ gerektirmeden yaklaÅık 1 aylık günlük tutar.
Yapılandırma dosyalarındaki yönergeler sunucunun tamamına uygulanacaÄı gibi sadece belli dizinler, @@ -349,9 +348,9 @@ ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofail
Bazı bölüm türleri baÅka bölüm türlerinin içinde olabilir. Bir yandan,
<Files>
bölümü
<Directory>
bölümünün
- içinde bulunabilirken diÄer yandan bir <If>
bölümü <Directory>
, <Location>
ve <Files>
bölümlerinde bulunabilir fakat
- baÅka bir <If>
bölümünün
- içinde bulunamaz. Bu bölümlerin düzenli ifadeli türevleri de benzer tarzda
+ içinde bulunabilirken diÄer yandan bir <If>
bölümü <Directory>
, <Location>
ve <Files>
bölümlerinde bulunabilir fakat
+ baÅka bir <If>
bölümünün
+ içinde bulunamaz. Bu bölümlerin düzenli ifadeli türevleri de benzer tarzda
davranır.
İç içe bölümler, aynı türdeki iç içe olmayan bölümlerin sonrasına
@@ -440,7 +439,9 @@ ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofail
ve <LocationMatch>
aynı anda iÅleme sokulur.
-
<If>
+ <If>
bölümleri,
+ önceki baÄlamlardan herhangi birinin içine alınmıŠolsalar bile.
+
<Directory>
bölümündekiler hariç, her grup, yapılandırma dosyasında bulundukları
- sıraya göre iÅleme sokulurlar. ÃrneÄin, 4. grupta /foo/bar için yapılan
- bir istek <Location "/foo/bar">
ve <Location
- "/foo">
bölümleriyle de eÅleÅir ve bunlar yapılandırma
+ sıraya göre iÅleme sokulurlar. ÃrneÄin, 4. grupta /foo/bar için yapılan
+ bir istek <Location "/foo/bar">
ve <Location
+ "/foo">
bölümleriyle de eÅleÅir ve bunlar yapılandırma
dosyalarında bulundukları sıraya göre deÄerlendirilir.<Directory>
bölümü en kısa dizin elemanından en uzun
- dizin elemanına doÄru iÅleme sokulur. Yani, örneÄin, <Directory
- "/var/web/dir">
bölümü <Directory
+
+ - Yukarıda 1. grup olan
<Directory>
bölümü en kısa dizin elemanından en uzun
+ dizin elemanına doÄru iÅleme sokulur. Yani, örneÄin, <Directory
+ "/var/web/dir">
bölümü <Directory
"/var/web/dir/subdir">
bölümünden önce iÅleme sokulacaktır.
-
- - EÄer aynı dizin için birden fazla
<Directory>
bölümü varsa bunlar yapılandırma
+
+ - EÄer aynı dizin için birden fazla
<Directory>
bölümü varsa bunlar yapılandırma
dosyasında bulundukları sıraya göre iÅleme sokulurlar.
-
- Include
yönergeleri ile
- yapılandırmaya dahil edilen dosyaların içerikleri Include
yönergesinin bulunduÄu yere konulduktan
+
+ Include
yönergeleri ile
+ yapılandırmaya dahil edilen dosyaların içerikleri Include
yönergesinin bulunduÄu yere konulduktan
sonra iÅleme sokulurlar.
<VirtualHost>
bölümlerinin içindeki bölümler, sanal konak tanımı dıÅındaki
- karÅılıklarından sonra uygulanırlar. Bu yöntemle ana sunucu
+ karÅılıklarından sonra uygulanırlar. Bu yöntemle ana sunucu
yapılandırmasındaki tanımlar geçersiz kılınabilir
- İstek
mod_proxy
tarafından sunulduÄu takdirde,
<Proxy>
taÅıyıcısı
iÅlem sırasında <Directory>
taÅıyıcısının yerini alır.
+
+ - katıÅtırma düzeni üzerindeki etkisi nedeniyle, ilgili yapılandırma
+ yönergelerini
<If>
'in
+ içinde ve dıÅında karıÅtırırken dikkatli olunmalıdır. DoÄrudan
+ <Else>
kullanımının
+ yardımı olabilir.
+
+ .htaccess
içinde <If>
kullanıldıÄında, üst dizindeki sarmalanmıÅ
+ yönergeler, alt dizinde sarmalanmamıŠyönergelerden sonra
+ birleÅtirilir.
Yapılandırma bölümlerini okurken örneÄin mod_rewrite
- gibi belli modüllerin yönergelerinin bu bölümlere nasıl katılacaÄı ve
- ne zaman nasıl iÅleneceÄi gibi sorular sıkça aklımızdan geçer. Bunun
- belli bir yanıtı yoktur ve biraz temel bilgi gerektirir. Her httpd
- modülü yapılandırmasını kendi yönetir ve httpd.conf içindeki
- yönergelerinin her biri belli bir baÄlamdaki bir yapılandırmayı
+
+
Yapılandırma bölümlerini okurken örneÄin mod_rewrite
+ gibi belli modüllerin yönergelerinin bu bölümlere nasıl katılacaÄı ve
+ ne zaman nasıl iÅleneceÄi gibi sorular sıkça aklımızdan geçer. Bunun
+ belli bir yanıtı yoktur ve biraz temel bilgi gerektirir. Her httpd
+ modülü yapılandırmasını kendi yönetir ve httpd.conf içindeki
+ yönergelerinin her biri belli bir baÄlamdaki bir yapılandırmayı
belirtir. httpd bir komutu okunduÄu sırada çalıÅtırmaz.
ÃalıÅma anında, httpd çekirdeÄi geçerli isteÄe hangilerinin - uygulanacaÄını belirlemek için yukarıda açıklanan sırada tanımlı - yapılandırma bölümlerini tekrar tekrar okur. EÅleÅen ilk bölümün bu - istek için geçerli yapılandırmayı içerdiÄi varsayılır. EÄer alt - bölümlerden biri de eÅleÅmiÅse bu bölümlerde yönergeleri bulunan her - modüle yapılandırmasını iki bölüm arasında katıÅtırma Åansı verilir. - Sonuç üçüncü bir yapılandırma olup iÅlem bütün yapılandırma bölümleri + +
ÃalıÅma anında, httpd çekirdeÄi geçerli isteÄe hangilerinin + uygulanacaÄını belirlemek için yukarıda açıklanan sırada tanımlı + yapılandırma bölümlerini tekrar tekrar okur. EÅleÅen ilk bölümün bu + istek için geçerli yapılandırmayı içerdiÄi varsayılır. EÄer alt + bölümlerden biri de eÅleÅmiÅse bu bölümlerde yönergeleri bulunan her + modüle yapılandırmasını iki bölüm arasında katıÅtırma Åansı verilir. + Sonuç üçüncü bir yapılandırma olup iÅlem bütün yapılandırma bölümleri deÄerlendirilene kadar sürer.
- -Yukarıdaki adımların ardından HTTP isteÄiyle ilgili "asıl" iÅlem - baÅlar: her modül ondan istenen görevleri gerçekleÅtirme Åansına sahip - olur. Nasıl davranacaklarını belirlemek için kendilerinin katıÅtırılmıŠ+ +
Yukarıdaki adımların ardından HTTP isteÄiyle ilgili "asıl" iÅlem + baÅlar: her modül ondan istenen görevleri gerçekleÅtirme Åansına sahip + olur. Nasıl davranacaklarını belirlemek için kendilerinin katıÅtırılmıŠson yapılandırmalarını http çekirdeÄinden alabilirler.
- -Sürecin tamamı bir örnekle görselleÅtirilebilir. AÅaÄıdaki örnekte
- belli bir HTTP baÅlıÄını ayarlamak için mod_headers
- modülünün Header
yönergesi
- kullanılmıÅtır. /example/index.html
isteÄi için httpd
+
+
Sürecin tamamı bir örnekle görselleÅtirilebilir. AÅaÄıdaki örnekte
+ belli bir HTTP baÅlıÄını ayarlamak için mod_headers
+ modülünün Header
yönergesi
+ kullanılmıÅtır. /example/index.html
isteÄi için httpd
CustomHeaderName
baÅlıÄına hangi deÄeri atayacaktır?
<Directory "/"> @@ -525,37 +536,37 @@ ProxyPass "/" "balancer://mycluster/" stickysession=JSESSIONID|jsessionid nofail <Directory "/example"> Header set CustomHeaderName iki </Directory>- +
Directory
"/" eÅleÅir ve ilk yapılandırma
- olarak CustomHeaderName
baÅlıÄı bir
+ Directory
"/" eÅleÅir ve ilk yapılandırma
+ olarak CustomHeaderName
baÅlıÄı bir
deÄeriyle oluÅturulur.Directory
"/example" eÅleÅir ve
- mod_headers
modülünün koduna göre bir katıÅtırma
- durumundan yeni deÄer eskiyi geçersiz kılacaÄından yeni bir
- yapılandırma ile CustomHeaderName
baÅlıÄının deÄeri
+
+ Directory
"/example" eÅleÅir ve
+ mod_headers
modülünün koduna göre bir katıÅtırma
+ durumundan yeni deÄer eskiyi geçersiz kılacaÄından yeni bir
+ yapılandırma ile CustomHeaderName
baÅlıÄının deÄeri
iki
yapılır.FilesMatch
".*" eÅleÅir ve baÅka bir
- katıÅtırma fırsatı doÄar: CustomHeaderName
baÅlıÄının
+
+ FilesMatch
".*" eÅleÅir ve baÅka bir
+ katıÅtırma fırsatı doÄar: CustomHeaderName
baÅlıÄının
deÄeri yedi
yapılır.mod_headers
çaÄrılıp yedi
deÄeri
- atanmıŠCustomHeaderName
baÅlıÄını iÅleme sokması
- istenecektir. mod_headers
normalde iÅini yapmak
- için bu yapılandırmayı kullanacaktır. Fakat bundan, bir yönergenin
- gerekli olmaması veya kullanımdan kaldırılması ve benzeri nedenlerle
- yapılandırmada iptal edilmesi gibi daha karmaÅık bir eylemi bir
+
+ mod_headers
çaÄrılıp yedi
deÄeri
+ atanmıŠCustomHeaderName
baÅlıÄını iÅleme sokması
+ istenecektir. mod_headers
normalde iÅini yapmak
+ için bu yapılandırmayı kullanacaktır. Fakat bundan, bir yönergenin
+ gerekli olmaması veya kullanımdan kaldırılması ve benzeri nedenlerle
+ yapılandırmada iptal edilmesi gibi daha karmaÅık bir eylemi bir
modülün gerçekleÅtiremeyeceÄi anlamı çıkarılmamalıdır.Directory
ile aynı katıÅtırma sırasından dolayı
- bu durum .htaccess için de geçerlidir. Burada anlaÅılması gereken husus,
- Directory
ve FilesMatch
- gibi yapılandırma bölümlerinin Header
veya RewriteRule
gibi modüle özgü
- yönergelerle karÅılaÅtırılmamasıdır, çünkü bunlar farklı seviyelerde
+
Directory
ile aynı katıÅtırma sırasından dolayı
+ bu durum .htaccess için de geçerlidir. Burada anlaÅılması gereken husus,
+ Directory
ve FilesMatch
+ gibi yapılandırma bölümlerinin Header
veya RewriteRule
gibi modüle özgü
+ yönergelerle karÅılaÅtırılmamasıdır, çünkü bunlar farklı seviyelerde
iÅlem görür.