<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
<!-- English Revision: 574103 -->
<!-- =====================================================
 Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
   Reviewed by: Orhan Berent <berent belgeler.org>
========================================================== -->

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<manualpage metafile="install.xml.meta">

  <title>Derleme ve Kurulum</title>

<summary>

    <p>Bu belge Apache HTTP Sunucusunun sadece Unix ve Unix benzeri
      sistemlerde derlenmesini ve kurulmasını kapsar. Windows üzerinde
      derleme ve kurulum için <a href="platform/windows.html">Apache HTTPd’nin
      Microsoft Windows ile kullanımı</a> bölümüne bakınız. Diğer platformlar
      için ise <a href="platform/">platform</a> belgelerine bakınız.</p>

    <p>Apache HTTPd, derleme ortamını oluşturmak için çoğu Açık Kaynak Kodlu
      projenin yaptığı gibi <code>libtool</code> ve <code>autoconf</code>
      kullanır.</p>

    <p>Eğer sadece sürüm yükseltiyorsanız (2.2.50’den 2.2.51’e yükseltmek
      gibi) lütfen doğrudan <a href="#upgrading">Yükseltme</a> bölümüne
      atlayınız.</p>

</summary>

<seealso><a href="programs/configure.html">Kaynak ağacının yapılandırılması</a></seealso>
<seealso><a href="invoking.html">Apache HTTPd’nin başlatılması</a></seealso>
<seealso><a href="stopping.html">Durdurma ve yeniden başlatma</a></seealso>

<section id="overview"><title>Tez canlılar için genel bir bakış</title>

    <table>
      <columnspec><column width=".13"/><column width=".80"/></columnspec>
      <tr>
        <td><a href="#download">İndirme</a></td>

        <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
        </td>
      </tr>

      <tr>
        <td><a href="#extract">Paketi açma</a></td>

        <td><code>$ gzip -d httpd-<em>NN</em>.tar.gz<br />
         $ tar xvf httpd-<em>NN</em>.tar<br />
         $ cd httpd-<em>NN</em></code></td>
      </tr>

      <tr>
        <td><a href="#configure">Yapılandırma</a></td>

        <td><code>$ ./configure --prefix=<em>ÖNEK</em></code>
        </td>
      </tr>

      <tr>
        <td><a href="#compile">Derleme</a></td>

        <td><code>$ make</code> </td>
      </tr>

      <tr>
        <td><a href="#install">Kurulum</a></td>

        <td><code>$ make install</code> </td>
      </tr>

      <tr>
        <td><a href="#customize">Kişiselleştirme</a></td>

        <td><code>$ vi <em>ÖNEK</em>/conf/httpd.conf</code> </td>
      </tr>

      <tr>
        <td><a href="#test">Deneme</a></td>

        <td><code>$ <em>ÖNEK</em>/bin/apachectl -k start</code>
        </td>
      </tr>
    </table>

    <p><em>NN</em> yerine kuracağınız sürümü, <code><em>ÖNEK</em></code>
      yerine de dosya sisteminde sunucunun altına kurulacağı dizin yolunu
      yazınız. <code><em>ÖNEK</em></code> belirtilmezse
      <code>/usr/local/apache2</code> öntanımlıdır.</p>

    <p>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.</p>
</section>

<section id="requirements"><title>Gereksinimler</title>

    <p>Apache HTTPd’yi derleyebilmek için şunlar mevcut olmalıdır:</p>

    <dl>
      <dt>Disk Alanı</dt>
      <dd>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.</dd>

      <dt>ANSI-C Derleyici ve Derleme Sistemi</dt>
      <dd>Bir ANSI-C derleyicinin kurulu olduğundan emin olunuz. <a
        href="http://www.gnu.org/">Free Software Foundation (FSF)</a>
        tarafından dağıtılan <a
        href="http://www.gnu.org/software/gcc/gcc.html">GNU C derleyicisini
        (GCC)</a> kullanmanız önerilir. GCC yoksa en azından satıcınızın
        derleyicisinin ANSI uyumlu olduğundan emin olunuz. Ayrıca,
        <code>PATH</code> ortam değişkeninizin içerdiği yollarda
        <code>make</code> gibi temel derleme araçları da bulunmalıdır.</dd>

      <dt>Zamanın doğru belirlenmesi</dt>
      <dd>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 <code>ntpdate</code> veya
        <code>xntpd</code> programları kullanılır. NTP yazılımları ve halka
        açık zaman sunucuları hakkında daha ayrıntılı bilgi için <a
        href="http://www.ntp.org">NTP sitesine bakınız</a>.</dd>

      <dt><a href="http://www.perl.org/">Perl 5</a> [SEÇİMLİK]</dt>
      <dd>Perl ile yazılmış <program>apxs</program> veya
        <program>dbmmanage</program> 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 <program>configure</program> betiğine <code>--with-perl</code>
        seçeneğini kullanarak belirtmeniz önerilir. Eğer
        <program>configure</program> 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.</dd>

      <dt><a href="http://apr.apache.org">apr/apr-util >= 1.2</a></dt>
      <dd><code>apr</code> ve <code>apr-util</code> Apache HTTPd kaynak
        paketiyle gelmektedir ve hemen hemen tüm durumlarda sorunsuz
        kullanılabilecek durumdadır. Ancak sisteminizde <code>apr</code> veya
        <code>apr-util</code>’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 <code>apr</code>/<code>apr-util</code> kaynak kodlarını
        kullanmak için <program>configure</program> betiğine
        <code>--with-included-apr</code> seçeneğini belirtiniz.

      <note><title>Ek bilgi</title>
        <code>--with-included-apr</code> seçeneği 2.2.3 sürümünde eklenmiştir.
      </note>
      <example>
        # Paketteki apr/apr-util’in kullanımını zorlamak için<br />
        ./configure --with-included-apr<br />
      </example>

        Apache HTTPd’yi ve <code>apr</code>/<code>apr-util</code>’i ayrı ayrı
        derlemek için:
      <example>
        # apr 1.2’nin derlenmesi ve kurulması<br />
        cd srclib/apr<br/>
        ./configure --prefix=/usr/local/apr-httpd/<br/>
        make<br/>
        make install<br />
        <br />
        # apr-util 1.2’nin derlenmesi ve kurulması<br />
        cd ../apr-util<br />
        ./configure --prefix=/usr/local/apr-util-httpd/
          --with-apr=/usr/local/apr-httpd/<br />
        make<br/>
        make install<br />
        <br />
        # HTTPd’nin derlenmesi<br />
        cd ../../<br />
        ./configure --with-apr=/usr/local/apr-httpd/
          --with-apr-util=/usr/local/apr-util-httpd/
      </example>
    </dd>
  </dl>
</section>

<section id="download"><title>İndirme</title>

    <p>Apache HTTP Sunucusunu, çeşitli yansıların da listelendiği <a
      href="http://httpd.apache.org/download.cgi">Apache HTTP Sunucusu
      indirme sayfasından</a> 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
      <code>INSTALL.bindist</code> dosyasındaki talimatlara uyunuz.</p>

    <p>İ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ğı <a
      href="http://httpd.apache.org/download.cgi#verify">indirme
      sayfasında</a> anlatıldığı gibi <a
      href="http://httpd.apache.org/dev/verification.html">PGP
      kullanımının</a> anlatıldığı daha geniş bir örnek de vardır.</p>

</section>

<section id="extract"><title>Paketi açma</title>

    <p>Apache HTTPd tar paketinden sıkıştırmayı kaldırdıktan sonra tar
      arşivinden dosyaları çıkarmak basit bir işlemdir:</p>

    <example>
      $ gzip -d httpd-<em>NN</em>.tar.gz<br />
      $ tar xvf httpd-<em>NN</em>.tar
    </example>

    <p>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 <code>cd</code> ile bu dizine geçmelisiniz.</p>
</section>

<section id="configure"><title>Kaynak ağacının yapılandırılması</title>

    <p>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 <program>configure</program> 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 <code>autoconf</code> ve
      <code>libtool</code> kurulu olması ve sonraki adıma geçmek için
      <code>buildconf</code> çalıştırmaları gerekir. Bu işlem resmi
      dağıtımlar için gerekli değildir.)</p>

    <p>Kaynak ağacını tamamen öntanımlı seçenekler kullanılarak derlemek için
      <code>./configure</code> komutunu vermek yeterlidir. Öntanımlı
      seçenekleri değiştirmek için <program>configure</program> betiği
      çeşitli değişkenler ve komut satırı seçenekleri kabul eder.</p>

    <p>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 <code>--prefix</code>’tir.
      Kurulacak dosyaların yerleri ile ilgili daha ayrıntılı denetim ek <a
      href="programs/configure.html#installationdirectories">yapılandırma
      seçenekleri</a> ile mümkün kılınmıştır.</p>

    <p>Bu noktada ayrıca, Apache HTTPd’de hangi özelliklerin bulunmasını
      istediğinizi <a href="mod/">modülleri</a> etkin kılarak veya iptal
      ederek belirtebilirsiniz. Apache, öntanımlı olarak içerilmiş <a
      href="mod/module-dict.html#Status">temel</a> modüllerle gelir. Diğer
      modüller <code>--enable-<var>modül</var></code> seçenekleri
      kullanılarak etkinleştirilir. Buradaki <code><var>modül</var></code>,
      önünden <code>mod_</code> dizgesi kaldırılmış ve içindeki altçizgi
      imleri tire imleri ile değiştirilmiş modül ismidir. Ayrıca,
      <code>--enable-<var>modül</var>=shared</code> seçeneklerini kullanarak
      modülleri çalışma anında gerektiğinde yüklemek veya kaldırmak üzere <a
      href="dso.html">paylaşımlı nesneler (DSO’lar)</a> olarak derlemeniz de
      mümkündür. Temel modülleri de benzer şekilde
      <code>--disable-<var>modül</var></code> seçenekleriyle iptal
      edebilirsiniz. <program>configure</program> 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.</p>

    <p>Ek olarak, bazen kullandığınız derleyici, kütüphaneler veya başlık
      dosyalarının yerleri hakkında <program>configure</program> betiğine
      ilave bilgiler sağlamanız gerekir. Bu işlem
      <program>configure</program> 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 <program>configure</program> kılavuz sayfasına bakınız.</p>

    <p>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 <code>/sw/pkg/apache</code> önekiyle başlayan
      dizinlere kurulması, belli bir derleyici ve derleyici seçenekleriyle
      derlenmesi ve <module>mod_rewrite</module> ve
      <module>mod_speling</module> modüllerinin de DSO mekanizması üzerinden
      daha sonra yüklenmek üzere derlenmesi istenmektedir:</p>

    <example>
      $ CC="pgcc" CFLAGS="-O2" \<br />
       ./configure --prefix=/sw/pkg/apache \<br />
       --enable-rewrite=shared \<br />
       --enable-speling=shared
    </example>

    <p><program>configure</program> 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.</p>

    <p><program>configure</program> seçeneklerinin tamamı ayrıtılı olarak
      <program>configure</program> kılavuz sayfasında açıklanmıştır.</p>
</section>

<section id="compile"><title>Derleme</title>

    <p>Artık, Apache HTTPd paketini şekillendiren çeşitli parçaları derlemek
      için basitçe aşağıdaki komutu verebilirsiniz:</p>

    <example>$ make</example>

    <p>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.</p>
</section>

<section id="install"><title>Kurulum</title>

    <p>Şimdi sıra <code><em>ÖNEK</em></code> dizini altına kurulmak üzere
      yapılandırdığınız (yukarı <code>--prefix</code> seçeneğine bakınız)
      paketi kurmaya geldi. Basitçe şu komutu veriniz:</p>

    <example># make install</example>

    <p><code><em>ÖNEK</em></code> dizininde genellikle yazma izinlerinin
      sınırlı oluşu nedeniyle bu adım genellikle root yetkilerini
      gerektirir.</p>

    <p>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.</p>
</section>

<section id="customize"><title>Kişiselleştirme</title>

    <p>Bu adımda, Apache HTTP Sunucunuzu <code><em>ÖNEK</em>/conf/</code>
      dizini altındaki <a href="configuring.html">yapılandırma
      dosyalarını</a> düzenleyerek kişiselleştirebilirsiniz.</p>

    <example>$ vi <em>ÖNEK</em>/conf/httpd.conf</example>

    <p>Bu kılavuz ve kullanılabilecek <a
      href="mod/directives.html">yapılandırma yönergelerinin</a> kılavuzlarını
      <a href="./">docs/manual/</a> altında bulabileceğiniz gibi en
      son sürümünü daima <a href="http://httpd.apache.org/docs/&httpd.docs;/"
      >http://httpd.apache.org/docs/&httpd.docs;/</a> adresinde
      bulabilirsiniz.</p>
</section>

<section id="test"><title>Deneme</title>

    <p>Artık Apache HTTP Sunucunuzu <a href="invoking.html">başlatmaya</a>
      hazırsınız. Hemen şu komutu verin:</p>

    <example>$ <em>ÖNEK</em>/bin/apachectl -k start</example>

    <p><code>http://localhost/</code> üzerinden ilk belgeniz için bir istek
      yapmalısınız. Genellikle <directive
      module="core">DocumentRoot</directive> olarak bilinen
      <code><em>ÖNEK</em>/htdocs/</code> altındaki sayfayı görürsünüz.
      Çalışmakta olan sunucuyu <a href="stopping.html">durdurmak</a> için şu
      komutu verebilirsiniz:</p>

    <example>$ <em>ÖNEK</em>/bin/apachectl -k stop</example>
</section>
<section id="upgrading"><title>Yükseltme</title>

    <p>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
      <code>CHANGES</code> 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.</p>

    <p>Aynı ana sürüm içinde yükseltme yapmak (2.2.55’ten 2.2.57’ye
      yükseltmek gibi) daha kolaydır. <code>make install</code> 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
      <program>configure</program> 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ı <program>configure</program> komut
      satırını, aynı yapılandırma dosyasını kullanabileceksiniz ve tüm
      modülleriniz de çalışmaya devam edebilecektir.</p>

    <p>Aynı ana sürüm içinde yükseltme işlemine, eski kaynak ağacının kök
      dizininde veya kurulu sunucunuzun <code>build</code> dizininde
      bulacağınız <code>config.nice</code> 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
      <program>configure</program> komut satırını içerir.
      <code>config.nice</code> dosyasında yapmak istediğiniz değişiklikler
      varsa yaptıktan sonra şu komutları veriniz:</p>

    <example>
    $ ./config.nice<br />
    $ make<br />
    $ make install<br />
    $ <em>ÖNEK</em>/bin/apachectl -k graceful-stop<br />
    $ <em>ÖNEK</em>/bin/apachectl -k start<br />
    </example>

    <note type="warning">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 <code>--prefix</code> ile kurabilir ve farklı bir port ile
      (<directive module="mpm_common">Listen</directive> yönergesini
      ayarlamak suretiyle) çalıştırabilirsiniz.</note>
</section>
</manualpage>
