Bu yönergeye değer olarak Default belirtilmişse derleme
sırasında seçilen öntanımlı yöntem kullanılacaktır. Diğer olası yöntemler
aşağıda listelenmiştir. Tüm yöntemlerin tüm platformlarda mevcut
olmadığına dikkat ediniz. Eğer belirtilen yöntem mevcut değilse hata
günlüğüne mevcut yöntemlerin listesini içeren bir ileti yazılacaktır.
flockflock(2) sistem
çağrısı kullanılır.fcntlfcntl(2) sistem
çağrısı kullanılır.posixsempthreadsysvsemSisteminiz için derleme sırasında seçilmiş öntanımlı yöntemi öğrenmek
isterseniz debug değerini atayabilirsiniz. Öntanımlı
Çoğu sistemde, pthread seçeneği seçildiği takdirde,
AcceptCntl muteksi tutulurken bir çocuk süreç anormal
şekilde sonlanırsa, muteksi kurtarmak için sunucunun elle yeniden
başlatılması gerekecektir.
Solaris, bir muteks tutulurken, bir çocuk süreç anormal şekilde sonlandıktan sonra muteksin Apache tarafından kurtarılmasına imkan veren bir mekanizma sağlaması sebebiyle diğerlerinden ayrılır.
Sisteminiz pthread_mutexattr_setrobust_np() işlevini
gerçekliyorsa pthread seçeneğini gönül rahatlığıyla
kullanabilirsiniz.
core dosyasını dökümlemek üzere Apache’nin geçmeye
çalışacağı dizin.Bu yönerge core dosyasını dökümlemek üzere Apache’nin
geçmeye çalışacağı dizini belirler. core dosyası dökümlenmez. Hata ayıklama
amacıyla bir core dosyası dökümlemek isterseniz farklı bir
yer belirtmek için bu yönergeyi kullanabilirsiniz.
core dökümlemekApache root olarak başlatılıp başka bir kullanıcıya geçilirse Linux
çekirdeği süreç tarafından yazılabilir olsa bile core
dökümlemeyi iptal eder. Eğer
core dökümlemeyi yeniden
etkinleştirecektir.
core dökümlemekBSD-sistemlerde (FreeBSD gibi) suid-çalıştırılabilirlerinin
core dökümlemesini etkinleştirmek için
kern.sugid_coredump değişkenine 1 atayın.
Güvenlik sebebiyle bu yönerge sadece Apache
--enable-exception-hook seçeneği ile yapılandırılmışsa
kullanılabilir olacaktır. Bu, harici modüllerin eklenmesine ve bir çocuk
sürecin çöküşü sonrası bir şeyler yapmaya izin veren bir kancayı etkin
kılar.
Bu kancayı kullanan iki modül (mod_whatkilledus ve
mod_backtrace) zaten vardır. bunlar hakkında daha fazla bilgi
edinmek için Jeff Trawick'in EnableExceptionHook sitesine bakabilirsiniz.
Bu değerin 0 olarak belirtilmesi, sunucunun bekleyen bütün
isteklere hizmet sunumu tamamlanıncaya kadar (gerekirse sonsuza kadar)
bekleyebileceği anlamına gelir.
root olarak çalıştırılmış olması gerekir.
Sunucuyu root dışında bir kullanıcı başlattığı takdirde,
sunucu belirtilen gruba geçemez ve kullanıcının kendi grubunda
çalışmaya devam eder. unix-grubu şunlardan biri olabilir:
# ardından grup numarasıÇalışan sunucu için özellikle yeni bir grup atamanız önerilir. Bazı
sistem yöneticileri nobody grubunu kullanırlar fakat
bu her zaman mümkün olmadığı gibi arzulanan da değildir.
Ne yaptığınızı ve ne tehlikelere yol açacağınızı bilmiyorsanız
root atamayınız.
Özel bilgi: Bu yönergenin
Sunucuya sinyal gönderebilmek çoğunlukla işe yarar. Böylece
Günlük dosyasının yeri ve güvenlik ile ilgili
uyarılar
Apache 2’de sunucuyu (yeniden) başlatırken veya durdururken sadece
Çok sayıda IP adresi ve port belirtmek için çok sayıda
Örneğin sunucunun hem port 80 hem de port 8000’den istek kabul etmesini istiyorsanız bunu şöyle belirtebilirsiniz:
Sunucunun belirtilen iki ağ arabiriminden ve port numarasından gelen bağlantıları kabul etmesi için şu yapılandırmayı kullanabilirsiniz:
IPv6 adresleri belirtilirken örnekteki gibi köşeli ayraçlar arasına alınmalıdır:
İsteğe bağlı protocol argümanı çoğu yapılandırmada gerekli
değildir. Belirtilmediği takdirde. port 443 için https ve
tüm diğer portlar için http öntanımlıdır. Protokol, isteği
hangi modülün elde edeceğinin ve
Protokol belirtme ihtiyacını sadece standartdışı portlar
çalıştırıyorsanız duyarsınız. Örneğin, port 8443 üzerinde bir
https sitesi çalıştırmak istiyorsanız bunu şöyle
belirtebilirsiniz:
Address already
in use) hatasına yol açar.
Bekleyen bağlantılar kuyruğunun azami uzunluğu. Genellikle bu ayar ne
gerekir ne de istenir. Ancak bazı sistemlerde TCP SYN yüklenme
saldırılarına karşı bu değerin arttırılması gerekebilir.
kuyruk-uzunluğu parametresi için listen(2)
işlevinin açıklamasına bakınız.
Bu değer çoğunlukla işletim sistemi tarafından daha küçük bir sayıyla sınırlanır. Bu, işletim sistemine bağlı olarak değişiklik gösterir. Ayrıca, çoğu işletim sisteminin kuyruk-uzunluğu parametresi ile ne belirttiğinize bakmaksızın kendisi için atanmış değeri (fakat normal olarak daha büyüğünü) kullanacağına dikkat ediniz.
fcntl
veya flock değeri ile belirtildiği takdirde kullanılan
kilit dosyasının yerini belirler. Bu yönerge normalde öntanımlı
değeriyle bırakılır. Değişmesini gerektiren ana sebep, logs
dizininin ağ dosya sisteminde (NFS) yeralması halinde kilit
dosyasının bir yerel diskte saklanması gereğidir. Ana sürecin
süreç kimliği dosyaya kendiliğinden eklenir.
Bu dosyayı herkesin yazabildiği /var/tmp gibi bir dizine
koymaktan kaçınmak gerekir. Çünkü, bu takdirde, birileri sunucunun
hizmet sunmaya başlarken oluşturacağı kilit dosyası ile aynı isimde
bir dosya oluşturarak hizmet reddi saldırısı (DoS) başlatabilir.
Evreli olmayan sunucularda (
Çok evreli ve melez sunucularda (50 iken melez MPM’ler için
16 x
25). Bu bakımdan
free() çağrılmaksızın ana bellek ayırıcının
ayırmasına izin verilen azami bellek miktarını belirler.free()
çağrılmaksızın ana bellek ayırıcının ayırmasına izin verilen azami
bellek miktarını kB cinsinden belirler. Bir değerle belirtilmediğinde
veya 0 değeriyle belirtildiğinde eşik sınırsız
olacaktır.
0 belirtilmişse sürecin ömrü sonsuz olacaktır.
0’dır.
Öntanımlı (derleme sırasında atanan) değer (10000), yapılandırmada
hiçbir
Boştaki azami evre sayısı. Her MPM bu yönerge karşısında farklı davranır.
MaxSpareThreads 250
öntanımlıdır. Bu MPM boştaki evreleri sunucu genelinde izler. Eğer
sunucuda çok fazla boşta evre varsa, sunucu boştaki evrelerin sayısı bu
sınırın altına inene kadar çocuk süreçleri öldürür.
MaxSpareThreads 100
öntanımlıdır. Bu MPM tek bir süreç olarak çalıştığından boştaki evre
sayısı aynı zamanda sunucu genelinde boştaki evre sayısıdır.
MaxSpareThreads 50 öntanımlıyken 10’dur.
İsteklerin ani artışında devreye girecek boştaki evrelerin asgari sayısı. Her MPM bu yönerge karşısında farklı davranır.
MinSpareThreads 75
öntanımlıdır ve bu modüller boştaki evreleri sunucu genelinde
izler. Eğer sunucuda boştaki evre sayısı yetersizse, sunucu boştaki
evrelerin sayısı bu sınırın üstüne çıkana kadar çocuk süreç
oluşturur.
MinSpareThreads 10
öntanımlıdır ve tek süreç kendisi olduğundan izleme sunucu genelinde
yapılır.
MinSpareThreads 1 öntanımlı iken 5’tir.
Apache ana ve çocuk süreçler arasında iletişim için bir çetele tutar. Bazı mimariler bu iletişimi kolaylaştırmak için bir dosya gerektirir. Eğer yönerge belirtilmezse Apache çeteleyi önce tamamen bellekte oluşturmayı dener (anonim paylaşımlı bellek kullanarak); bunda başarılı olamazsa dosyayı diskte oluşturmaya çalışacaktır (paylaşımlı belleğe eşlemli dosya kullanarak). Bu yönergenin belirtilmesi Apache sunucusunun dosyayı daima diskte oluşturmasına sebep olur.
Paylaşımlı belleğe eşlemli dosya, çeteleye doğrudan erişmesi gereken üçüncü parti uygulamalar için yararlıdır.
Eğer
Sunucu TCP alım tamponu boyunu bayt-sayısı ile belirtilen bayta ayarlayacaktır.
0 değeri atarsanız sunucu işletim sistemi öntanımlısını
kullanacaktır.
Sunucu TCP gönderim tamponu boyunu bayt-sayısı ile belirtilen bayta ayarlayacaktır. Yüksek hızlı yüksek yataklık süresi için standart işletim sistemi öntanımlılarını arttırmak çok yararlıdır (örneğin, kıtalar arası hızlı borularda olduğu gibi 100 ms civarında).
0 değeri atarsanız sunucu işletim sistemi öntanımlısını
kullanacaktır.
Yüksek hızlı yüksek yataklık süreli bağlantılarda daha iyi başarım elde etmek için işletim sisteminizde bazı yapılandırmalara gitmeniz gerekebilir.
Bazı işletim sistemlerinde daha büyük bir
Bu yönergenin kullanılması özel bir dikkat gerektirir. Eğer
Bu yönergeyi
Sunucu içinde derlenmiş olarak ServerLimit 20000
şeklinde bir zorlayıcı sınır vardır (
Öntanımlı değer MPM’den MPM’e fark eder. Öntanımlı değer
3 iken
5 ve
2’dir.
StartThreads 50
öntanımlı olup, sadece tek bir süreç olduğundan, sunucunun başlatılması
sırasında oluşturulan evrelerin toplam sayısı 50’dir.
StartThreads 10 öntanımlı olup
sunucunun başlatılması sırasında oluşturulan evrelerin toplam sayısı
10’dur.
Bu yönerge, Apache sürecinin ömrü boyunca
Bu yönergenin kullanılması özel bir dikkat gerektirir. Eğer
1920, diğerleri için
64’tür.
Sunucu içinde derlenmiş olarak ThreadLimit 20000
şeklinde bir zorlayıcı sınır vardır (
Bu yönerge, her çocuk süreç tarafından oluşturulan evrelerin sayısını
belirler. Çocuk süreçler bu evreleri başlatıldıklarında oluştururlar ve
bundan daha fazlasını asla oluşturmazlar.
64 diğerleri
için 25’tir.
root olarak çalıştırılmış olması gerekir.
Sunucuyu root dışında bir kullanıcı başlattığı takdirde,
sunucu belirtilen kullanıcıya geçemez ve mevcut kullanıcıyla çalışmaya
devam eder. Eğer sunucuyu root olarak başlatmışsanız ana
süreç root olarak çalışmaya devam edecektir. unix-kullanıcısı
şunlardan biri olabilir:
# ardından kullanıcı numarasıBu yönergede belirtilecek kullanıcının, başkaları tarafından üzerinde
değişiklik yapılabilecek dosyalardan başkasına erişemeyen bir kullanıcı
olmaması gerektiği gibi, HTTP isteklerini işlemek dışında işlemler de
yapabilen bir kullanıcı olmamalıdır.
Çalışan sunucu için özellikle yeni bir grup atamanız önerilir. Bazı
sistem yöneticileri nobody kullanıcısını kullanırlar fakat
nobody kullanıcısı sistemde başka amaçlarla
kullanılabildiğinden bu her zaman mümkün olmadığı gibi arzulanan da
değildir.
Ne yaptığınızı ve ne tehlikelere yol açacağınızı bilmiyorsanız
root atamayınız.
Özel bilgi: Bu yönergenin
Bu yönerge sunucu başlatıldıktan sonra istekleri kabul etmeye
başlamadan önce sunucunun belirtilen dizine chroot(8)
yapmasını söyler.
Sunucuyu chroot altında çalıştırmanın basit bir işlem olmadığını ve özellikle CGI veya PHP gibi betikler çalıştırıyorsanız bazı ek ayarlamaların yapılması gerektiğini unutmayınız. Bu özelliği kullanmaya çalışmadan önce chroot işlemi hakkında yeterli bilgiye sahip olduğunuzdan emin olmalısınız.