Apache HTTP Sunucusu Sürüm 2.4
Apache HTTPd’nin başlatılması
Apache normal olarak, Windows'ta bir hizmet olarak çalışır. Ayrıntılı bilgi için Apache HTTPD’nin bir hizmet olarak çalıştırılması bölümüne bakınız.
Unix’te ise artalanda isteklere yanıt vermek için sürekli çalışan bir
artalan sürecidir. Bu belgede httpd
’nin nasıl
çalıştırılacağı açıklanmaktadır.
Apache Nasıl Başlatılır?
Yapılandırma dosyasında Listen
yönergesi ile öntanımlı olan port
80 (veya 1024’ten küçük herhangi bir port) belirtilmişse Apache HTTP
Sunucusunu başlatmak için root yetkileri gerekecektir. Sunucu başlatılıp
günlük dosyalarını açmak gibi bazı ön hazırlık etkinliklerinde
bulunduktan sonra istemcilerden gelen istekleri dinlemek ve yanıt vermek
için çeşitli çocuk süreçler başlatır. Ana
httpd
süreci root kullanıcısının aidiyetinde
çalışmasını sürdürürken çocuk süreçler daha az yetkili bir kullanıcının
aidiyetinde çalışır. Bu işlem seçilen Çok Süreçlilik
Modülü tarafından denetlenir.
httpd
’yi çalıştırmak için önerilen yöntem
apachectl
betiğini kullanmaktır. Bu betik,
httpd
’nin bazı işletim sistemlerinde işlevini
gerektiği gibi yerine getirebilmesi için gereken belli ortam
değişkenlerini ayarlar ve httpd
’yi çalıştırır.
apachectl
, komut satırı argümanlarını
httpd
’ye aktarabildiğinden gerekli
httpd
seçenekleri apachectl
betiğine komut satırı seçenekleri olarak belirtilebilir. Ayrıca,
apachectl
betiğinin içeriğini doğrudan düzenlemek
suretiyle betiğin başlangıç satırlarındaki HTTPD
değişkenine httpd
çalıştırılabilir dosyasının doğru
yerini ve daima mevcut olmasını istediğiniz komut satırı
seçeneklerini belirtebilirsiniz.
httpd
çalıştırıldığında yaptığı ilk şey yapılandırma dosyası
httpd.conf
’u bulup okumaktır. Bu dosyanın yeri derleme
sırasında belirtilmekteyse de -f
komut satırı seçeneği
kullanılarak çalıştırma sırasında belirtmek de mümkündür:
/usr/local/apache2/bin/apachectl -f
/usr/local/apache2/conf/httpd.conf
Başlatma sırasında herşey yolunda giderse sunucu kendini uçbirimden
ayıracak ve hemen ardından uçbirim, komut istemine düşecektir. Bu,
sunucunun etkin ve çalışmakta olduğunu gösterir. Artık tarayıcınızı
kullanarak sunucuya bağlanabilir ve DocumentRoot
dizinindeki deneme sayfasını
görebilirsiniz.
Başlatma Sırasındaki Hatalar
Apache başlatma sırasında ölümcül bir sorunla karşılaşacak olursa
çıkmadan önce sorunu açıklayan bir iletiyi konsola veya ErrorLog
yönergesi ile belirtilen hata
günlüğüne yazacaktır. En çok karşılaşılan hata iletilerinden biri
"Unable to bind to Port ...
" dizgesidir. Bu iletiye
genellikle şu iki durumdan biri sebep olur:
- Sunucunun, root yetkileri gerektiren bir portu kullanmak üzere root kullanıcısı tarafından çalıştırılmamış olması.
- Aynı portu kullanan başka bir Apache Sunucusunun veya başka bir HTTP sunucusunun zaten çalışmakta oluşu.
Bu ve diğer sorun çözme talimatları için Apache SSS’sini inceleyiniz.
Sistem Açılışında Başlatma
Sunucunuzun sistem yeniden başlatıldıktan sonra çalışmasına devam
etmesini istiyorsanız sistem başlatma betiklerinize (genellikle ya
rc.local
dosyasıdır ya da bir rc.N
dizininde
bir dosyadır) apachectl
betiği için bir çağrı
eklemelisiniz. Bu, Apache sunucunuzu root yetkileriyle başlatacaktır.
Bunu yapmadan önce sunucunuzun güvenlik ve erişim kısıtlamaları
bakımından gerektiği gibi yapılandırıldığından emin olunuz.
apachectl
betiği, bir standart SysV init betiği gibi
davranacak şekilde tasarlanmıştır. start
,
restart
ve stop
argümanlarını kabul edebilir
ve bunları httpd
’ye uygun sinyallere dönüştürebilir.
Bu bakımdan, çoğunlukla uygun init dizinlerinden birine
apachectl
betiği için basitçe bir bağ
yerleştirebilirsiniz. Fakat bunu yapmadan önce betiğin sisteminizin
gereklerini yerine getirdiğinden emin olunuz.
Ek Bilgiler
httpd
, apachectl
ve sunucuyla
gelen diğer destek programlarının komut satırı seçenekleri hakkında ek
bilgi Sunucu ve Destek Programları sayfasında
bulunabilir. Ayrıca, Apache dağıtımında bulunan tüm modüller ve bunlarla sağlanan yönergeler hakkında da belgeler
vardır.