1 <?xml version='1.0' encoding='UTF-8' ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
4 <!-- English Revision: 1296735:1824141 (outdated) -->
5 <!-- =====================================================
6 Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7 Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
11 Licensed to the Apache Software Foundation (ASF) under one or more
12 contributor license agreements. See the NOTICE file distributed with
13 this work for additional information regarding copyright ownership.
14 The ASF licenses this file to You under the Apache License, Version 2.0
15 (the "License"); you may not use this file except in compliance with
16 the License. You may obtain a copy of the License at
18 http://www.apache.org/licenses/LICENSE-2.0
20 Unless required by applicable law or agreed to in writing, software
21 distributed under the License is distributed on an "AS IS" BASIS,
22 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 See the License for the specific language governing permissions and
24 limitations under the License.
27 <manualpage metafile="install.xml.meta">
29 <title>Derleme ve Kurulum</title>
33 <p>Bu belge Apache HTTP Sunucusunun sadece Unix ve Unix benzeri
34 sistemlerde derlenmesini ve kurulmasını kapsar. Windows üzerinde
35 derleme ve kurulum için <a href="platform/windows.html">Apache HTTP
36 Sunucusunun Microsoft Windows ile kullanımı</a> bölümüne bakınız. Diğer
37 platformlar için ise <a href="platform/">platform</a> belgelerine
40 <p>Apache HTTP Sunucusunun, derleme ortamını oluşturmak için çoğu Açık
41 Kaynak Kodlu projenin yaptığı gibi <code>libtool</code> ve
42 <code>autoconf</code> kullanır.</p>
44 <p>Eğer sadece sürüm yükseltiyorsanız (2.2.50’den 2.2.51’e yükseltmek
45 gibi) lütfen doğrudan <a href="#upgrading">Yükseltme</a> bölümüne
50 <seealso><a href="programs/configure.html">Kaynak ağacının yapılandırılması</a></seealso>
51 <seealso><a href="invoking.html">Apache httpd’nin başlatılması</a></seealso>
52 <seealso><a href="stopping.html">Durdurma ve yeniden başlatma</a></seealso>
54 <section id="overview"><title>Tez canlılar için genel bir bakış</title>
57 <columnspec><column width=".13"/><column width=".80"/></columnspec>
59 <td><a href="#download">İndirme</a></td>
61 <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
66 <td><a href="#extract">Paketi açma</a></td>
68 <td><code>$ gzip -d httpd-<em>NN</em>.tar.gz<br />
69 $ tar xvf httpd-<em>NN</em>.tar<br />
70 $ cd httpd-<em>NN</em></code></td>
74 <td><a href="#configure">Yapılandırma</a></td>
76 <td><code>$ ./configure --prefix=<em>ÖNEK</em></code>
81 <td><a href="#compile">Derleme</a></td>
83 <td><code>$ make</code> </td>
87 <td><a href="#install">Kurulum</a></td>
89 <td><code>$ make install</code> </td>
93 <td><a href="#customize">Kişiselleştirme</a></td>
95 <td><code>$ vi <em>ÖNEK</em>/conf/httpd.conf</code> </td>
99 <td><a href="#test">Deneme</a></td>
101 <td><code>$ <em>ÖNEK</em>/bin/apachectl -k start</code>
106 <p><em>NN</em> yerine kuracağınız sürümü, <code><em>ÖNEK</em></code>
107 yerine de dosya sisteminde sunucunun altına kurulacağı dizin yolunu
108 yazınız. <code><em>ÖNEK</em></code> belirtilmezse
109 <code>/usr/local/apache2</code> öntanımlıdır.</p>
111 <p>Derleme ve kurulum işleminin her aşaması, Apache HTTPd Sunucusunun
112 derlenmesi ve kurulması için gerekenler başta olmak üzere aşağıda
113 ayrıntılı olarak açıklanmıştır.</p>
116 <section id="requirements"><title>Gereksinimler</title>
118 <p>Apache httpd’yi derleyebilmek için şunlar mevcut olmalıdır:</p>
121 <dt>APR ve APR-Util</dt>
122 <dd>APR ve APR-Util'in sisteminizde kurulu olduğundan emin olun. Kurulu
123 değilse veya sisteminizce sağlanmış sürümlerini kullanmak
124 istemiyorsanız APR ve APR-Util'in ikisini birden <a
125 href="http://apr.apache.org/">Apache APR</a>'den indirin ve onları
126 Apache httpd dağıtımını açtığınız dizinin altında
127 <code>./srclib/apr</code> ve <code>./srclib/apr-util</code> dizinlerine
128 açın (Dizin isimlerinin sürüm numarası içermemesine dikkat edin,
129 örneğin, APR dağıtımı ./srclib/apr/ altında olsun.) ve
130 <code>./configure</code> betiğinin <code>--with-included-apr</code>
131 seçeneğini kullanın. Bazı platformlarda, httpd'nin, kurulu APR ve
132 APR-Util kopyanıza karşın derlenmesini sağlamak için ilgili
133 <code>-dev</code> paketlerini kurmanız gerekebilir.</dd>
135 <dt>Perl-Uyumlu Düzenli İfade Kütüphanesi (PCRE)</dt>
136 <dd>Bu kütüphane gereklidir, ancak artık httpd ile birlikte
137 dağıtılmamaktadır. Kaynak kodunu <a href="http://www.pcre.org/"
138 >http://www.pcre.org</a> sitesinden indirin ve bir port veya paket
139 olarak kurun. Eğer derleme sisteminiz PCRE kurulumunuz tarafından
140 kurulan <code>pcre-config</code> betiğini bulamazsa
141 <code>--with-pcre</code> seçeneğini kullanarak yerini belirtin. Bazı
142 platformlarda, httpd'nin, kurulu PCRE kopyanıza karşın derlenmesini
143 sağlamak için ilgili <code>-dev</code> paketlerini kurmanız
147 <dd>Geçici olarak en azından 50 MB boş disk alanınız olduğundan emin
148 olunuz. Kurulumdan sonra sunucu yaklaşık 10 MB disk alanı kaplıyor
149 olacaktır. Asıl disk alanı gereksinimi seçtiğiniz yapılandırma
150 seçeneklerine, üçüncü parti modüllere ve şüphesiz sitenizin veya sunucu
151 üzerindeki sitelerin boyutlarına göre değişiklik
154 <dt>ANSI-C Derleyici ve Derleme Sistemi</dt>
155 <dd>Bir ANSI-C derleyicinin kurulu olduğundan emin olunuz. <a
156 href="http://www.gnu.org/">Free Software Foundation (FSF)</a>
157 tarafından dağıtılan <a
158 href="http://gcc.gnu.org/">GNU C derleyicisini
159 (GCC)</a> kullanmanız önerilir. GCC yoksa en azından satıcınızın
160 derleyicisinin ANSI uyumlu olduğundan emin olunuz. Ayrıca,
161 <code>PATH</code> ortam değişkeninizin içerdiği yollarda
162 <code>make</code> gibi temel derleme araçları da bulunmalıdır.</dd>
164 <dt>Zamanın doğru belirlenmesi</dt>
165 <dd>HTTP protokolünün elemanları sunuldukları tarih ve saate göre ifade
166 edilirler. Bu bakımdan sisteminizdeki zaman ayarlama oluşumunun
167 ayarlarını gözden geçirmenizin tam sırasıdır. Bu amaçla, Ağ Zaman
168 Protokolüne (NTP) göre çalışan <code>ntpdate</code> veya
169 <code>xntpd</code> programları kullanılır. NTP yazılımları ve halka
170 açık zaman sunucuları hakkında daha ayrıntılı bilgi için <a
171 href="http://www.ntp.org">NTP sitesine bakınız</a>.</dd>
173 <dt><a href="http://www.perl.org/">Perl 5</a> [SEÇİMLİK]</dt>
174 <dd>Perl ile yazılmış <program>apxs</program> veya
175 <program>dbmmanage</program> gibi bazı betikleri desteklemek için
176 Perl 5 yorumlayıcısı gerekir (5.003 veya daha yeni sürümleri
177 yeterlidir). Eğer sisteminizde birden fazla Perl yorumlayıcı
178 kuruluysa (örneğin, sistem geneli için Perl 4, kendi kullanımızı için
179 Perl 5 kurulu olabilir), doğru sürümün kullanılacağından emin olmak
180 bunu <program>configure</program> betiğine <code>--with-perl</code>
181 seçeneğini kullanarak belirtmeniz önerilir. Eğer
182 <program>configure</program> betiği sisteminizde Perl 5 yorumlayıcısı
183 bulamazsa bu betikleri kullanamazsınız. Ancak, bu durum Apache
184 HTTPd’nin derlenip kurulmasına engel değildir.</dd>
188 <section id="download"><title>İndirme</title>
190 <p>Apache HTTP Sunucusunu, çeşitli yansıların da listelendiği <a
191 href="http://httpd.apache.org/download.cgi">Apache HTTP Sunucusu
192 indirme sayfasından</a> indirebilirsiniz. Unix benzeri sistemler
193 kullanan Apache HTTPd kullanıcılarının kaynak paketlerinden birini
194 indirip derlemeleri daha iyi olacaktır. Derleme işlemi (aşağıda
195 açıklanmıştır) kolaydır ve sunucunuzu ihtiyaçlarınıza uygun olarak
196 kişiselleştirmenize imkan tanır. Ayrıca, hazır derlenmiş paketler
197 çoğunlukla en son kaynak sürüm kadar güncel değildirler. Eğer böyle bir
198 paket indirmişseniz, kurarken paketin içinde bulunan
199 <code>INSTALL.bindist</code> dosyasındaki talimatlara uyunuz.</p>
201 <p>İndirme işleminin ardından Apache HTTP Sunucusunun eksiksiz ve
202 değişikliğe uğramamış olduğunun doğrulanması önemlidir. Bu indirilen
203 tar paketinin PGP imzasına göre sınanması ile sağlanabilir. Bunun nasıl
205 href="http://httpd.apache.org/download.cgi#verify">indirme
206 sayfasında</a> anlatıldığı gibi <a
207 href="http://httpd.apache.org/dev/verification.html">PGP
208 kullanımının</a> anlatıldığı daha geniş bir örnek de vardır.</p>
212 <section id="extract"><title>Paketi açma</title>
214 <p>Apache HTTP Sunucusu tar paketinden sıkıştırmayı kaldırdıktan sonra tar
215 arşivinden dosyaları çıkarmak basit bir işlemdir:</p>
218 $ gzip -d httpd-<em>NN</em>.tar.gz<br />
219 $ tar xvf httpd-<em>NN</em>.tar
222 <p>Bu işlem bulunduğunuz dizinin içinde dağıtımın kaynak dosyalarını
223 içeren yeni bir dizin oluşturacaktır. Sunucuyu derleme işlmine
224 başlayabilmek için önce <code>cd</code> ile bu dizine geçmelisiniz.</p>
227 <section id="configure"><title>Kaynak ağacının yapılandırılması</title>
229 <p>Sonraki adım, Apache HTTPd kaynak ağacının platformunuza ve kişisel
230 gereksinimlerinize uygun olarak yapılandırılmasıdır. Bu işlem dağıtımın
231 kök dizininde bulunan <program>configure</program> betiği kullanılarak
232 yapılır. (Apache HTTPd kaynak ağacının resmen dağıtıma girmemiş bir
233 sürümünü indiren geliştiricilerin sistemlerinde <code>autoconf</code> ve
234 <code>libtool</code> kurulu olması ve sonraki adıma geçmek için
235 <code>buildconf</code> çalıştırmaları gerekir. Bu işlem resmi
236 dağıtımlar için gerekli değildir.)</p>
238 <p>Kaynak ağacını tamamen öntanımlı seçenekler kullanılarak derlemek için
239 <code>./configure</code> komutunu vermek yeterlidir. Öntanımlı
240 seçenekleri değiştirmek için <program>configure</program> betiği
241 çeşitli değişkenler ve komut satırı seçenekleri kabul eder.</p>
243 <p>En önemli seçenek, Apache HTTP Sunucusunun kurulacağı yerin
244 belirlenmesini, dolayısıyla Apache’nin bu konumda doğru olarak
245 çalışması için yapılandırılmasını sağlayan <code>--prefix</code>’tir.
246 Kurulacak dosyaların yerleri ile ilgili daha ayrıntılı denetim ek <a
247 href="programs/configure.html#installationdirectories">yapılandırma
248 seçenekleri</a> ile mümkün kılınmıştır.</p>
250 <p>Bu noktada ayrıca, Apache HTTPd’de hangi özelliklerin bulunmasını
251 istediğinizi <a href="mod/">modülleri</a> etkin kılarak veya iptal
252 ederek belirtebilirsiniz. Apache, öntanımlı olarak içerilmiş pek çok
253 modülle gelir. Bunlar çalışma anında devereye sokulup çıkarılabilen <a
254 href="dso.html">paylaşımlaı nesneler (DSO'lar)</a> olarak derlenebilir.
255 Ayrıca, istediğiniz modülleri derleme sırasında
256 <code>--enable-<var>module</var>=static</code> seçeneğini kullanarak
257 durağan olarak derleyebilirsiniz. Ek modüller <code>--enable-
258 <var>modül</var></code> seçenekleri kullanılarak etkinleştirilir.
259 Buradaki <code><var>modül</var></code>, önünden <code>mod_</code> dizgesi
260 kaldırılmış ve içindeki altçizgi imleri tire imleri ile değiştirilmiş
261 modül ismidir. Temel modülleri de benzer şekilde
262 <code>--disable-<var>modül</var></code> seçenekleriyle iptal
263 edebilirsiniz. <program>configure</program> betiği mevcut olmayan
264 modüller için sizi uyarmayıp, seçeneği yok saymakla yetineceğinden, bu
265 seçenekleri kullanırken dikkatli olmalısınız.</p>
267 <p>Ek olarak, bazen kullandığınız derleyici, kütüphaneler veya başlık
268 dosyalarının yerleri hakkında <program>configure</program> betiğine
269 ilave bilgiler sağlamanız gerekir. Bu işlem
270 <program>configure</program> betiğine ya ortam değişkenleriyle ya da
271 komut satırı seçenekleriyle bilgi aktarılarak yapılır. Daha fazla bilgi
272 için <program>configure</program> kılavuz sayfasına bakınız.</p>
274 <p>Apache’yi derlerken ne gibi olasılıklara sahip olduğunuz hakkında bir
275 izlenim edinmeniz için aşağıda tipik bir örneğe yer verilmiştir. Bu
276 örnekte, Apache’nin <code>/sw/pkg/apache</code> önekiyle başlayan
277 dizinlere kurulması, belli bir derleyici ve derleyici seçenekleriyle
278 derlenmesi ve <module>mod_ldap</module> ve
279 <module>mod_lua</module>modüllerinin de DSO mekanizması üzerinden
280 daha sonra yüklenmek üzere derlenmesi istenmektedir:</p>
283 $ CC="pgcc" CFLAGS="-O2" \<br />
284 ./configure --prefix=/sw/pkg/apache \<br />
285 --enable-ldap=shared \<br />
289 <p><program>configure</program> betiği başlatıldığında sisteminizde
290 mevcut özelliklerin işe yararlığını sınamak ve sonradan sunucuyu
291 derlemek için kullanılacak Makefile dosyalarını oluşturmak için bir kaç
292 dakika çalışacaktır.</p>
294 <p><program>configure</program> seçeneklerinin tamamı ayrıtılı olarak
295 <program>configure</program> kılavuz sayfasında açıklanmıştır.</p>
298 <section id="compile"><title>Derleme</title>
300 <p>Artık, Apache HTTPd paketini şekillendiren çeşitli parçaları derlemek
301 için basitçe aşağıdaki komutu verebilirsiniz:</p>
303 <example>$ make</example>
305 <p>Bu komutu verdikten sonra lütfen sabırlı olunuz. Temel yapılandırmanın
306 derlenmesi bir kaç dakika alsa da modüllerin derlenmesi donanımınıza ve
307 seçtiğiniz modüllerin sayısına bağlı olarak daha uzun süre
311 <section id="install"><title>Kurulum</title>
313 <p>Şimdi sıra <code><em>ÖNEK</em></code> dizini altına kurulmak üzere
314 yapılandırdığınız (yukarı <code>--prefix</code> seçeneğine bakınız)
315 paketi kurmaya geldi. Basitçe şu komutu veriniz:</p>
317 <example># make install</example>
319 <p><code><em>ÖNEK</em></code> dizininde genellikle yazma izinlerinin
320 sınırlı oluşu nedeniyle bu adım genellikle root yetkilerini
323 <p>Eğer sürüm yükseltiyorsanız, kurulum sırasında mevcut yapılandırma
324 dosyalarının ve belgelerin üzerine yazılmayacaktır.</p>
327 <section id="customize"><title>Kişiselleştirme</title>
329 <p>Bu adımda, Apache HTTP Sunucunuzu <code><em>ÖNEK</em>/conf/</code>
330 dizini altındaki <a href="configuring.html">yapılandırma
331 dosyalarını</a> düzenleyerek kişiselleştirebilirsiniz.</p>
333 <example>$ vi <em>ÖNEK</em>/conf/httpd.conf</example>
335 <p>Bu kılavuz ve kullanılabilecek <a
336 href="mod/directives.html">yapılandırma yönergelerinin</a> kılavuzlarını
337 <code><em>ÖNEK</em>/<a href="./">docs/manual/</a></code> altında
338 bulabileceğiniz gibi en son sürümünü daima <a
339 href="http://httpd.apache.org/docs/&httpd.docs;/"
340 >http://httpd.apache.org/docs/&httpd.docs;/</a> adresinde
344 <section id="test"><title>Deneme</title>
346 <p>Artık Apache HTTP Sunucunuzu <a href="invoking.html">başlatmaya</a>
347 hazırsınız. Hemen şu komutu verin:</p>
349 <example>$ <em>ÖNEK</em>/bin/apachectl -k start</example>
351 <p><code>http://localhost/</code> üzerinden ilk belgeniz için bir istek
352 yapmalısınız. Genellikle <directive
353 module="core">DocumentRoot</directive> olarak bilinen
354 <code><em>ÖNEK</em>/htdocs/</code> altındaki sayfayı görürsünüz.
355 Çalışmakta olan sunucuyu <a href="stopping.html">durdurmak</a> için şu
356 komutu verebilirsiniz:</p>
358 <example>$ <em>ÖNEK</em>/bin/apachectl -k stop</example>
360 <section id="upgrading"><title>Yükseltme</title>
362 <p>Sürüm yükseltme işleminin ilk adımı, sitenizi etkileyen değişiklikleri
363 öğrenmek için dağıtım duyurusunu ve kaynak paketindeki
364 <code>CHANGES</code> dosyasını okumaktır. Ana sürümlerden yükseltme
365 yapıyorsanız (2.0’ten 2.2’ye veya 2.2’daen 2.3’e gibi), derleme anı ve
366 çalışma anı yapılandırmalarındaki ana farklılıklar elle ayarlamalar
367 yapmanızı gerektirecektir. Ayrıca, tüm modüllerin de modül API’sindeki
368 değişikliklere uyum sağlaması için yükseltilmesi gerekecektir.</p>
370 <p>Aynı ana sürüm içinde yükseltme yapmak (2.2.55’ten 2.2.57’ye
371 yükseltmek gibi) daha kolaydır. <code>make install</code> işlemi,
372 mevcut yapılandırma ve günlük dosyalarınızın ve belgelerin üzerine
373 yazmayacaktır. Ek olarak, geliştiriciler alt sürüm değişikliklerinde
374 <program>configure</program> seçenekleri, çalışma anı yapılandırması
375 veya modül API’sinde uyumsuz değişiklikler yapmamaya özen
376 göstereceklerdir. Çoğu durumda, aynı <program>configure</program> komut
377 satırını, aynı yapılandırma dosyasını kullanabileceksiniz ve tüm
378 modülleriniz de çalışmaya devam edebilecektir.</p>
380 <p>Aynı ana sürüm içinde yükseltme işlemine, eski kaynak ağacının kök
381 dizininde veya kurulu sunucunuzun <code>build</code> dizininde
382 bulacağınız <code>config.nice</code> dosyasını yeni kaynak ağacının kök
383 dizinine kopyalamak suretiyle başlayabilirsiniz. Bu dosya evvelce
384 kaynak ağacını yapılandırmakta kullandığınız
385 <program>configure</program> komut satırını içerir.
386 <code>config.nice</code> dosyasında yapmak istediğiniz değişiklikler
387 varsa yaptıktan sonra şu komutları veriniz:</p>
390 $ ./config.nice<br />
393 $ <em>ÖNEK</em>/bin/apachectl -k graceful-stop<br />
394 $ <em>ÖNEK</em>/bin/apachectl -k start<br />
397 <note type="warning">Her yeni sürümü hizmete sokmadan önce daima çalışma
398 ortamınızda denemeniz gerekir. Örneğin, yükseltme işlemini
399 sonuçlandırmadan önce eski sürümün çalışmasını durdurmadan yenisini
400 farklı bir <code>--prefix</code> ile kurabilir ve farklı bir port ile
401 (<directive module="mpm_common">Listen</directive> yönergesini
402 ayarlamak suretiyle) çalıştırabilirsiniz.</note>
404 <p>Özgün <program>configure</program> seçeneklerinizi değiştirmek veya
405 yeni seçenekler eklemek isterseniz bunları <code>config.nice</code>
406 betiğine komut satırı argümanları olarak belirtebilirsiniz:</p>
409 $ ./config.nice --prefix=/home/dnm/apache --with-port=90
413 <section id="thirdp"><title>Üçüncü parti paketler</title>
415 <p>Üçüncü partilerin çoğunun, Apache HTTP Sunucusunun belli bir platforma
416 kurulumu için paketlenmiş kendi dağıtımları vardır. Çeşitli Linux
417 dağıtımları, üçüncü parti Windows paketleri, Mac OS X, Solaris ve daha
418 pek çokları bunlar arasında sayılabilir.r</p>
420 <p>Yazılım lisansımız bu çeşit yeniden dağıtımlara izin verdiği gibi
421 bunları cesaretlendirir de. Ancak, sunucunun kurulum ve yapılandırmasının
422 belgelerimizde belittiğimizden farklı olması gibi bir durum ortaya
423 çıkabilir. Ne yazık ki, bu durum yakın zamanda değişecekmiş gibi
427 href="http://wiki.apache.org/httpd/DistrosDefaultLayout">üçüncü parti
428 dağıtımlarla ilgili bir açıklamaya</a> HTTP
429 Sunucu wikisinde yer verilmiş olup bunların şu anki durumunu
430 yansıtmaktadır. Ancak, yine de, dağıtımınızın belli platformlarla ilgili
431 paket yönetimi ve kurulum işlemleri hakkında bilgi sahibi olmanız