Derleme ve Kurulum - Apache HTTP Sunucusu

Apache HTTP Sunucusu Sürüm 2.2

Apache > HTTP Sunucusu > Belgeleme > Sürüm 2.2

# Derleme ve Kurulum

Mevcut Diller: de | en | es | fr | ja | ko | tr

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.

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

- Kaynak ağacının yapılandırılması
- Apache HTTPd’nin başlatılması
- Durdurma ve yeniden başlatma

## Tez canlılar için genel bir bakış

İndirme | `$ lynx http://httpd.apache.org/download.cgi`
Paketi açma | `$ gzip -d httpd-NN.tar.gz $ tar xvf httpd-NN.tar $ cd httpd-NN`
Yapılandırma | `$ ./configure --prefix=ÖNEK`
Derleme | `$ make`
Kurulum | `$ make install`
Kişiselleştirme | `$ vi ÖNEK/conf/httpd.conf`
Deneme | `$ ÖNEK/bin/apachectl -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.

## Gereksinimler

Apache HTTPd’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. 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 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 HTTPd’nin derlenip kurulmasına engel değildir.
apr/apr-util >= 1.2
  `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.

  ### Ek bilgi

  `--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
  `

  Apache HTTPd’yi ve `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/`

## İndirme

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.

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

## Kaynak ağacının yapılandırılması

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.

## Derleme

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.

## 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.2/ adresinde bulabilirsiniz.

## Deneme

Artık Apache HTTP Sunucunuzu başlatmaya hazırsınız. Hemen şu komutu verin:

`$ ÖNEK/bin/apachectl -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/apachectl -k 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.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/apachectl -k graceful-stop
$ ÖNEK/bin/apachectl -k 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.

Mevcut Diller: de | en | es | fr | ja | ko | tr