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.
flock<:/dosya/yolu/kilit.dosyası>flock(2) sistem çağrısı kullanılır.
Ayrıca, önerilmiyor olsa bile kilit dosyasının yerini belirtmek için
fcntl<:/dosya/yolu/kilit.dosyası>fcntl(2) sistem çağrısı
kullanılır. Ayrıca, önerilmiyor olsa bile kilit dosyasının yerini
belirtmek için file<:/dosya/yolu/kilit.dosyası>fcntl ve flock
arasında "en iyi" dosya kilitleme gerçeklenimini seçip kullanmasını
söyler. Sadece bu işlevleri içeren ve posixsemsysvsemsempthreadSisteminiz 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.
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.
Bu yönergenin kullanılması önerilmemektedir. Kilit dosyasının yerini
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.
Boştaki azami evre sayısı. Her MPM bu yönerge karşısında farklı davranır.
MaxSpareThreads 10
öntanımlıdır. Bu MPM, boştaki evrelerin sayısını çocuk süreç başına
boştaki evre sayısı olarak izler. Bir çocukta çok fazla boşta evre
varsa sunucu sadece o çocuğun boştaki evrelerini öldürür.
MaxSpareThreads 250
öntanımlıdır. Bu MPM’ler 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 5
öntanımlıdır ve çocuk süreç başına boştaki evre sayısını izler. Bir
çocuk için yeterince boşta evre yoksa sunucu bu çocuk için yeni evreler
oluşturmaya başlar. Nitekim, 10 ve
5 atarsanız
sisteminizdeki boştaki evre sayısı en az 50 olur.
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.
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 5 öntanımlı
olup bu yönerge sunucunun başlatılması sırasında oluşturulan süreç
başına evre sayısıyla bağlantısını sürdürür.
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.
Sanal konakları farklı kullanıcı kimliklerle çalıştırmak üzere
tasarlanan
Özel bilgi: Bu yönergenin
Bu yönerge httpd 2.2.9(?) ve sonrasında mevcuttur ve sunucuya başlatıldıktan sonra ağdan gelen istekleri kabul etmeden önce belirtilen dizine chroot(8) yapmasını söyler.
Sunucuyu chroot altında çalıştırmanın basit bir işlem olmadığına ve özellikle CGI veya PHP gibi betikler çalıştırıyorsanız ek ayarlamalar yapmanız gerektiğine dikkat ediniz. Lütfen, bu özelliği kullanmaya çalışmadan önce chroot işlemleri hakkında gerektiği kadar bilgi sahibi olduğunuzdan emin olunuz.