Apache HTTP Sunucusu Sürüm 2.4

Apache > HTTP Sunucusu > Belgeleme > 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.

### Ayrıca bakınız:

- Durdurma ve Yeniden Başlatma
- `httpd`
- `apachectl`

## 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.