Apache HTTP Sunucusu Sürüm 2.2

Bu belge Apache HTTP Sunucusunun sadece Unix ve Unix benzeri sistemlerde derlenmesini ve kurulmasını kapsar. Windows üzerinde derleme ve kurulum için Apache HTTPd’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 HTTPd, derleme ortamını oluşturmak için çoğu Açık Kaynak Kodlu
projenin yaptığı gibi libtool ve autoconf
kullanır.
Eğer sadece sürüm yükseltiyorsanız (2.2.50’den 2.2.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ış
Gereksinimler
İndirme
Paketi açma
Kaynak ağacının yapılandırılması
Derleme
Kurulum
Kişiselleştirme
Deneme
Yükseltme| İndirme | $ lynx http://httpd.apache.org/download.cgi
|
| Paketi açma | $ gzip -d httpd-NN.tar.gz |
| Yapılandırma | $ ./configure --prefix=ÖNEK
|
| Derleme | $ make |
| Kurulum | $ make install |
| Kişiselleştirme | $ vi ÖNEK/conf/apache2.conf |
| Deneme | $ ÖNEK/bin/apache2ctl -k start
|
NN yerine kuracağınız 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 Sunucusunun derlenmesi ve kurulması için gerekenler başta olmak üzere aşağıda ayrıntılı olarak açıklanmıştır.
Apache HTTPd’yi derleyebilmek için şunlar mevcut olmalıdır:
PATH ortam değişkeninizin içerdiği yollarda
make gibi temel derleme araçları da bulunmalıdır.ntpdate veya
xntpd 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 bakınız.apxs veya
dbmmanage 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
bunu configure betiğine --with-perl
seçeneğini kullanarak belirtmeniz önerilir. Eğer
configure betiği sisteminizde Perl 5 yorumlayıcısı
bulamazsa bu betikleri kullanamazsınız. Ancak, bu durum Apache
HTTPd’nin derlenip kurulmasına engel değildir.apr ve apr-util Apache HTTPd kaynak
paketiyle gelmektedir ve hemen hemen tüm durumlarda sorunsuz
kullanılabilecek durumdadır. Ancak sisteminizde apr veya
apr-util’in 1.0 veya 1.1 sürümleri kuruluysa onları paket
içindeki kütüphaneleri kullanmaya zorlamak için ya 1.2 sürümlerine
yükseltmeli ya da ayrı HTTPd derlemeleriniz olmalıdır. Paket içinde
gelen apr/apr-util kaynak kodlarını
kullanmak için configure betiğine
--with-included-apr seçeneğini belirtiniz.
--with-included-apr seçeneği 2.2.3 sürümünde eklenmiştir.
# Paketteki apr/apr-util’in kullanımını zorlamak için
./configure --with-included-apr
apr/apr-util’i ayrı ayrı
derlemek için:
# apr 1.2’nin derlenmesi ve kurulması
cd srclib/apr
./configure --prefix=/usr/local/apr-httpd/
make
make install
# apr-util 1.2’nin derlenmesi ve kurulması
cd ../apr-util
./configure --prefix=/usr/local/apr-util-httpd/
--with-apr=/usr/local/apr-httpd/
make
make install
# HTTPd’nin derlenmesi
cd ../../
./configure --with-apr=/usr/local/apr-httpd/
--with-apr-util=/usr/local/apr-util-httpd/
Apache HTTP Sunucusunu, çeşitli yansıların da listelendiği Apache HTTP Sunucusu
indirme sayfasından indirebilirsiniz. Unix benzeri sistemler
kullanan Apache HTTPd 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.
Apache HTTPd tar paketinden sıkıştırmayı kaldırdıktan sonra tar arşivinden dosyaları çıkarmak basit bir işlemdir:
$ gzip -d httpd-NN.tar.gz
$ tar xvf httpd-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.
Sonraki adım, Apache HTTPd 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 HTTPd kaynak ağacının resmen dağıtıma girmemiş bir
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 HTTP Sunucusunun 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 HTTPd’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.
Artık, Apache HTTPd 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 kaç 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.
Ş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.
Bu adımda, Apache HTTP Sunucunuzu ÖNEK/conf/
dizini altındaki yapılandırma
dosyalarını düzenleyerek kişiselleştirebilirsiniz.
$ vi ÖNEK/conf/apache2.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.2/ adresinde bulabilirsiniz.
Artık Apache HTTP Sunucunuzu başlatmaya hazırsınız. Hemen şu komutu verin:
$ ÖNEK/bin/apache2ctl -k 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/apache2ctl -k stop
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.2.55’ten 2.2.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.
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/apache2ctl -k graceful-stop
$ ÖNEK/bin/apache2ctl -k start
--prefix ile kurabilir ve farklı bir port ile
(Listen yönergesini
ayarlamak suretiyle) çalıştırabilirsiniz.