Apache HTTP Sunucusu Sürüm 2.4
Bu belge Apache HTTP Sunucusunun sadece Unix ve Unix benzeri sistemlerde derlenmesini ve kurulmasını kapsar. Windows üzerinde derleme ve kurulum için Apache HTTP Sunucusunun Microsoft Windows ile kullanımı ve Apache HTTP Sunucusunun Microsoft Windows için Derlenmesi bölümüne bakınız. Diğer platformlar için ise platform belgelerine bakınız.
Apache HTTP Sunucusunun, 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.4.9’dan 2.4.10’a yükseltmek gibi) lütfen doğrudan Yükseltme bölümüne atlayınız.
İ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:
/httpd_kaynakkod_kök_dizini/srclib/apr
ve /httpd_kaynakkod_kök_dizini/srclib/apr-util
dizinlerine açın (Dizin isimlerinin sürüm numarası içermemesine dikkat edin, örneğin, APR dağıtımı /httpd_kaynakkod_kök_dizini/srclib/apr/
altında olsun.) ve ./configure
betiğinin --with-included-apr
seçeneğini kullanın. Bazı platformlarda, httpd'nin, kurulu APR ve APR-Util kopyanıza karşın derlenmesini sağlamak için ilgili -dev
paketlerini kurmanız gerekebilir.pcre-config
betiğini bulamazsa --with-pcre
seçeneğini kullanarak yerini belirtin. Bazı platformlarda, httpd'nin, kurulu PCRE kopyanıza karşın derlenmesini sağlamak için ilgili -dev
paketlerini kurmanız gerekebilir.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 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.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 HTTP Sunucusu 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ş pek çok modülle gelir. Bunlar çalışma anında devereye sokulup çıkarılabilen paylaşımlaı nesneler (DSO'lar) olarak derlenebilir. Ayrıca, istediğiniz modülleri derleme sırasında --enable-module=static
seçeneğini kullanarak durağan olarak derleyebilirsiniz. Ek 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. 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_ldap
ve mod_lua
modüllerinin de DSO mekanizması üzerinden daha sonra yüklenmek üzere derlenmesi istenmektedir:
$ CC="pgcc" CFLAGS="-O2" \
./configure --prefix=/sw/pkg/apache \
--enable-ldap=shared \
--enable-lua=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ı ÖNEK/docs/manual/
altında bulabileceğiniz gibi en son sürümünü daima http://httpd.apache.org/docs/2.4/ 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 (2.0’ten 2.2’ye veya 2.2’den 2.4’e 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.
Özgün configure
seçeneklerinizi değiştirmek veya yeni seçenekler eklemek isterseniz bunları config.nice
betiğine komut satırı argümanları olarak belirtebilirsiniz:
$ ./config.nice --prefix=/home/dnm/apache --with-port=90
Üçüncü partilerin çoğunun, Apache HTTP Sunucusunun belli bir platforma kurulumu için paketlenmiş kendi dağıtımları vardır. Çeşitli Linux dağıtımları, üçüncü parti Windows paketleri, Mac OS X, Solaris ve daha pek çokları bunlar arasında sayılabilir.r
Yazılım lisansımız bu çeşit yeniden dağıtımlara izin verdiği gibi bunları cesaretlendirir de. Ancak, sunucunun kurulum ve yapılandırmasının belgelerimizde belittiğimizden farklı olması gibi bir durum ortaya çıkabilir. Ne yazık ki, bu durum yakın zamanda değişecekmiş gibi görünmüyor.
Bu üçüncü parti dağıtımlarla ilgili bir açıklamaya HTTP Sunucu wikisinde yer verilmiş olup bunların şu anki durumunu yansıtmaktadır. Ancak, yine de, dağıtımınızın belli platformlarla ilgili paket yönetimi ve kurulum işlemleri hakkında bilgi sahibi olmanız gerekmektir.