Apache HTTP Sunucusu Sürüm 2.0
Derleme ve Kurulum
Bu belge Apache’nin sadece Unix ve Unix benzeri sistemlerde derlenmesini ve kurulmasını kapsar. Windows üzerinde derleme ve kurulum için Apache’nin Microsoft Windows ile kullanımı bölümüne bakınız. Diğer platformlar için ise platform belgelerine bakınız.
Apache 2.0’ın yapılandırma ve kurulum ortamı Apache 1.3’e göre tamamen değişmiştir. Apache 1.3, kurulumu kolaylaştırmak için özel bazı betikler kullanırdı. Apache 2.0 ise artık derleme ortamını oluşturmak için çoğu Açık Kaynak Kodlu projenin yaptığı gibi libtool
ve autoconf
kullanmaktadır.
Eğer sadece sürüm yükseltiyorsanız (2.0.50’den 2.0.51’e yükseltmek gibi) lütfen doğrudan Yükseltme bölümüne atlayınız.
Tez canlılar için genel bir bakış
İndirme | $ lynx http://httpd.apache.org/download.cgi
|
Paketi açma | $ gzip -d httpd-2_0_NN.tar.gz |
Yapılandırma | $ ./configure --prefix=ÖNEK
|
Derleme | $ make |
Kurulum | $ make install |
Kişiselleştirme | $ vi ÖNEK/conf/httpd.conf |
Deneme | $ ÖNEK/bin/apachectl start
|
NN yerine kuracağınız alt sürümü, ÖNEK
yerine de dosya sisteminde sunucunun altına kurulacağı dizin yolunu
yazınız. ÖNEK
belirtilmezse
/usr/local/apache2
öntanımlıdır.
Derleme ve kurulum işleminin her aşaması, Apache httpd’nin derlenmesi ve kurulması için gerekenler başta olmak üzere aşağıda ayrıntılı olarak açıklanmıştır.
Gereksinimler
Apache’yi derleyebilmek için şunlar mevcut olmalıdır:
- Disk Alanı
- Geçici olarak en azından 50 MB boş disk alanınız olduğundan emin olunuz. Kurulumdan sonra Apache yaklaşık 10 MB disk alanı kaplıyor olacaktır. Asıl disk alanı gereksinimi seçtiğiniz yapılandırma seçenekleri ve üçüncü parti modüllere göre değişiklik gösterecektir.
- ANSI-C Derleyici ve Derleme Sistemi
- Bir ANSI-C derleyicinin kurulu olduğundan emin olunuz. Free Software Foundation (FSF)
tarafından dağıtılan GNU C derleyicisini
(GCC) kullanmanız önerilir (2.7.2 sürümü uygundur). GCC yoksa en
azından satıcınızın derleyicisinin ANSI uyumlu olduğundan emin
olunuz. Ayrıca,
PATH
ortam değişkeninizin içerdiği yollardamake
gibi temel derleme araçları da bulunmalıdır. - Zamanın doğru belirlenmesi
- HTTP protokolünün elemanları sunuldukları tarih ve saate göre ifade
edilirler. Bu bakımdan sisteminizdeki zaman ayarlama oluşumunun
ayarlarını gözden geçirmenizin tam sırasıdır. Bu amaçla, Ağ Zaman
Protokolüne (NTP) göre çalışan
ntpdate
veyaxntpd
programları kullanılır. NTP yazılımları ve halka açık zaman sunucuları hakkında daha ayrıntılı bilgi için NTP sitesine ve Usenet comp.protocols.time.ntp haber grubuna bakınız. - Perl 5 [SEÇİMLİK]
- Perl ile yazılmış
apxs
veyadbmmanage
gibi bazı betikleri desteklemek için Perl 5 yorumlayıcısı gerekir (5.003 veya daha yeni sürümleri yeterlidir). Eğer sisteminizde birden fazla Perl yorumlayıcı kuruluysa (örneğin, sistem geneli için Perl 4, kendi kullanımızı için Perl 5 kurulu olabilir), doğru sürümün kullanılacağından emin olmak bunuconfigure
betiğine--with-perl
seçeneğini kullanarak belirtmeniz önerilir. Eğerconfigure
betiği sisteminizde Perl 5 yorumlayıcısı bulamazsa bu betikleri kullanamazsınız. Ancak, bu durum Apache 2.0’ın derlenip kurulmasına engel değildir.
İndirme
Apache HTTP Sunucusunu, çeşitli yansıların da listelendiği Apache HTTP Sunucusu
indirme sayfasından indirebilirsiniz. Unix benzeri sistemler
kullanan Apache kullanıcılarının kaynak paketlerinden birini indirip
derlemeleri daha iyi olacaktır. Derleme işlemi (aşağıda açıklanmıştır)
kolaydır ve sunucunuzu ihtiyaçlarınıza uygun olarak kişiselleştirmenize
imkan tanır. Ayrıca, hazır derlenmiş paketler çoğunlukla en son kaynak
sürüm kadar güncel değildirler. Eğer böyle bir paket indirmişseniz,
kurarken paketin içinde bulunan INSTALL.bindist
dosyasındaki talimatlara uyunuz.
İndirme işleminin ardından Apache HTTP Sunucusunun eksiksiz ve değişikliğe uğramamış olduğunun doğrulanması önemlidir. Bu indirilen tar paketinin PGP imzasına göre sınanması ile sağlanabilir. Bunun nasıl yapılacağı indirme sayfasında anlatıldığı gibi PGP kullanımının anlatıldığı daha geniş bir örnek de vardır.
Paketi açma
Apache HTTPD tar paketinden sıkıştırmayı kaldırdıktan sonra tar arşivinden dosyaları çıkarmak basit bir işlemdir:
$ gzip -d httpd-2_0_NN.tar.gz
$ tar xvf httpd-2_0_NN.tar
Bu işlem bulunduğunuz dizinin içinde dağıtımın kaynak dosyalarını
içeren yeni bir dizin oluşturacaktır. Sunucuyu derleme işlmine
başlayabilmek için önce cd
ile bu dizine geçmelisiniz.
Kaynak ağacının yapılandırılması
Sonraki adım, Apache kaynak ağacının platformunuza ve kişisel
gereksinimlerinize uygun olarak yapılandırılmasıdır. Bu işlem dağıtımın
kök dizininde bulunan configure
betiği kullanılarak
yapılır. (Apache kaynak ağacının CVS sürümünü
indiren geliştiricilerin sistemlerinde autoconf
ve
libtool
kurulu olması ve sonraki adıma geçmek için
buildconf
çalıştırmaları gerekir. Bu işlem resmi
dağıtımlar için gerekli değildir.)
Kaynak ağacını tamamen öntanımlı seçenekler kullanılarak derlemek için
./configure
komutunu vermek yeterlidir. Öntanımlı
seçenekleri değiştirmek için configure
betiği
çeşitli değişkenler ve komut satırı seçenekleri kabul eder.
En önemli seçenek, Apache’nin kurulacağı yerin belirlenmesini,
dolayısıyla Apache’nin bu konumda doğru olarak çalışması için
yapılandırılmasını sağlayan --prefix
’tir. Kurulacak
dosyaların yerleri ile ilgili daha ayrıntılı denetim ek yapılandırma
seçenekleri ile mümkün kılınmıştır.
Bu noktada ayrıca, Apache’de hangi özelliklerin bulunmasını
istediğinizi modülleri etkin kılarak veya iptal
ederek belirtebilirsiniz. Apache, öntanımlı olarak içerilmiş temel modüllerle gelir. Diğer
modüller --enable-modül
seçenekleri
kullanılarak etkinleştirilir. Buradaki modül
,
önünden mod_
dizgesi kaldırılmış ve içindeki altçizgi
imleri tire imleri ile değiştirilmiş modül ismidir. Ayrıca,
--enable-modül=shared
seçeneklerini kullanarak
modülleri çalışma anında gerektiğinde yüklemek veya kaldırmak üzere paylaşımlı nesneler (DSO’lar) olarak derlemeniz de
mümkündür. Temel modülleri de benzer şekilde
--disable-modül
seçenekleriyle iptal
edebilirsiniz. configure
betiği mevcut olmayan
modüller için sizi uyarmayıp, seçeneği yok saymakla yetineceğinden, bu
seçenekleri kullanırken dikkatli olmalısınız.
Ek olarak, bazen kullandığınız derleyici, kütüphaneler veya başlık
dosyalarının yerleri hakkında configure
betiğine
ilave bilgiler sağlamanız gerekir. Bu işlem
configure
betiğine ya ortam değişkenleriyle ya da
komut satırı seçenekleriyle bilgi aktarılarak yapılır. Daha fazla bilgi
için configure
kılavuz sayfasına bakınız.
Apache’yi derlerken ne gibi olasılıklara sahip olduğunuz hakkında bir
izlenim edinmeniz için aşağıda tipik bir örneğe yer verilmiştir. Bu
örnekte, Apache’nin /sw/pkg/apache
önekiyle başlayan
dizinlere kurulması, belli bir derleyici ve derleyici seçenekleriyle
derlenmesi ve mod_rewrite
ve
mod_speling
modüllerinin de DSO mekanizması üzerinden
daha sonra yüklenmek üzere derlenmesi istenmektedir:
$ CC="pgcc" CFLAGS="-O2" \
./configure --prefix=/sw/pkg/apache \
--enable-rewrite=shared \
--enable-speling=shared
configure
betiği başlatıldığında sisteminizde
mevcut özelliklerin işe yararlığını sınamak ve sonradan sunucuyu
derlemek için kullanılacak Makefile dosyalarını oluşturmak için bir kaç
dakika çalışacaktır.
configure
seçeneklerinin tamamı ayrıtılı olarak
configure
kılavuz sayfasında açıklanmıştır.
Derleme
Artık, Apache paketini şekillendiren çeşitli parçaları derlemek için basitçe aşağıdaki komutu verebilirsiniz:
$ make
Bu komutu verdikten sonra lütfen sabırlı olunuz. Temel yapılandırmanın derlenmesi bir Pentium III/Linux 2.2 makinede 3 dakika alsa da modüllerin derlenmesi donanımınıza ve seçtiğiniz modüllerin sayısına bağlı olarak daha uzun süre gerektirecektir.
Kurulum
Şimdi sıra ÖNEK
dizini altına kurulmak üzere
yapılandırdığınız (yukarı --prefix
seçeneğine bakınız)
paketi kurmaya geldi. Basitçe şu komutu veriniz:
# make install
ÖNEK
dizininde genellikle yazma izinlerinin
sınırlı oluşu nedeniyle bu adım genellikle root yetkilerini
gerektirir.
Eğer sürüm yükseltiyorsanız, kurulum sırasında mevcut yapılandırma dosyalarının ve belgelerin üzerine yazılmayacaktır.
Kişiselleştirme
Bu adımda, Apache HTTP sunucunuzu ÖNEK/conf/
dizini altındaki yapılandırma
dosyalarını düzenleyerek kişiselleştirebilirsiniz.
$ vi ÖNEK/conf/httpd.conf
Bu kılavuz ve kullanılabilecek yapılandırma yönergelerinin kılavuzlarını docs/manual/ altında bulabileceğiniz gibi en son sürümünü daima http://httpd.apache.org/docs/2.0/ adresinde bulabilirsiniz.
Deneme
Artık Apache HTTP sunucunuzu başlatmaya hazırsınız. Hemen şu komutu verin:
$ ÖNEK/bin/apachectl start
http://localhost/
üzerinden ilk belgeniz için bir istek
yapmalısınız. Genellikle DocumentRoot
olarak bilinen
ÖNEK/htdocs/
altındaki sayfayı görürsünüz.
Çalışmakta olan sunucuyu durdurmak için şu
komutu verebilirsiniz:
$ ÖNEK/bin/apachectl stop
Yükseltme
Sürüm yükseltme işleminin ilk adımı, sitenizi etkileyen değişiklikleri
öğrenmek için dağıtım duyurusunu ve kaynak paketindeki
CHANGES
dosyasını okumaktır. Ana sürümlerden yükseltme
yapıyorsanız (1.3’ten 2.0’a veya 2.0’dan 2.2’ye gibi), derleme anı ve
çalışma anı yapılandırmalarındaki ana farklılıklar elle ayarlamalar
yapmanızı gerektirecektir. Ayrıca, tüm modüllerin de modül API’sindeki
değişikliklere uyum sağlaması için yükseltilmesi gerekecektir.
Aynı ana sürüm içinde yükseltme yapmak (2.0.55’ten 2.0.57’ye
yükseltmek gibi) daha kolaydır. make install
işlemi,
mevcut yapılandırma ve günlük dosyalarınızın ve belgelerin üzerine
yazmayacaktır. Ek olarak, geliştiriciler alt sürüm değişikliklerinde
configure
seçenekleri, çalışma anı yapılandırması
veya modül API’sinde uyumsuz değişiklikler yapmamaya özen
göstereceklerdir. Çoğu durumda, aynı configure
komut
satırını, aynı yapılandırma dosyasını kullanabileceksiniz ve tüm
modülleriniz de çalışmaya devam edebilecektir. (Bu sadece 2.0.41 sürümünden sonrası için geçerlidir; daha önceki sürümler için uyumluluk söz konusu değildir.)
Aynı ana sürüm içinde yükseltme işlemine, eski kaynak ağacının kök
dizininde veya kurulu sunucunuzun build
dizininde
bulacağınız config.nice
dosyasını yeni kaynak ağacının kök
dizinine kopyalamak suretiyle başlayabilirsiniz. Bu dosya evvelce
kaynak ağacını yapılandırmakta kullandığınız
configure
komut satırını içerir.
config.nice
dosyasında yapmak istediğiniz değişiklikler
varsa yaptıktan sonra şu komutları veriniz:
$ ./config.nice
$ make
$ make install
$ ÖNEK/bin/apachectl graceful-stop
$ ÖNEK/bin/apachectl start
--prefix
ile kurabilir ve farklı bir port ile
(Listen
yönergesini
ayarlamak suretiyle) çalıştırabilirsiniz.