Derleme ve Kurulum - Apache HTTP Sunucusu

Apache Server 2.0

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.

top

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
$ tar xvf httpd-2_0_NN.tar
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.

top

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 yollarda make 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 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 ve Usenet comp.protocols.time.ntp haber grubuna bakınız.
Perl 5 [SEÇİMLİK]
Perl ile yazılmış 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 2.0’ın derlenip kurulmasına engel değildir.
top

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

top

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.

top

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.

top

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.

top

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.

top

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.

top

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

top

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

Her yeni sürümü hizmete sokmadan önce daima çalışma ortamınızda denemeniz gerekir. Örneğin, yükseltme işlemini sonuçlandırmadan önce eski sürümün çalışmasını durdurmadan yenisini farklı bir --prefix ile kurabilir ve farklı bir port ile (Listen yönergesini ayarlamak suretiyle) çalıştırabilirsiniz.