switch to a 60 bit hash
[httpd-crcsyncproxy.git] / docs / manual / programs / apxs.xml.tr
blobc39281aac6687726a1debcbadea46983aa7898f1
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: 502323 -->
5 <!-- =====================================================
6 Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7 Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
10 <!--
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.
25 -->
27 <manualpage metafile="apxs.xml.meta">
28 <parentdocument href="./">Programlar</parentdocument>
30 <title>apxs - Apache Eklenti Aracı</title>
32 <summary>
33 <p><code><strong>apxs</strong></code>, Apache Hiper Metin Aktarım
34 Protokolü (HTTP) sunucusu için ek modül derleme ve kurulum aracıdır. Bu
35 araç sayesinde, bir veya daha fazla kaynak veya nesne
36 <var>dosya</var>sından bir devingen paylaşımlı nesne (DSO - "Dynamic
37 Shared Object" kısaltması) derlemek ve bu nesneyi (modülü) Apache
38 sunucusuna çalışma anında <strong><module>mod_so</module></strong>
39 modülünün <strong><directive module="mod_so"
40 >LoadModule</directive></strong> yönergesi üzerinden yüklemek mümkün
41 olmaktadır.</p>
43 <p>Bu eklenti mekanizmasını platformunuzda kullanmak için DSO desteğinin
44 olması ve <strong><program>httpd</program></strong> programının
45 <strong><module>mod_so</module></strong> modülünü içerecek şekilde
46 derlenmiş olması gerekir. Eğer bunlar mevcut değilse
47 <strong><code>apxs</code></strong> aracı durumu size bildirecektir. Bunu
48 aşağıdaki komutla kendiniz de sınayabilirsiniz:</p>
50 <example>
51 $ httpd -l
52 </example>
54 <p><strong><module>mod_so</module></strong> modülü gösterilen listede yer
55 almalıdır. Bu gereksinimler sağlandığı takdirde
56 <strong><code>apxs</code></strong> aracı sayesinde DSO mekanizması
57 üzerinden kendi modüllerinizi kurmak suretiyle Apache sunucunuzun
58 işlevselliğini kolayca arttırabilirsiniz. Örnek bir uygulama:</p>
60 <example>
61 $ apxs -i -a -c mod_foo.c<br />
62 gcc -fpic -DSHARED_MODULE -I/dosya/yolu/apache/include -c mod_foo.c<br />
63 ld -Bshareable -o mod_foo.so mod_foo.o<br />
64 cp mod_foo.so /dosya/yolu/apache/modules/mod_foo.so<br />
65 chmod 755 /dosya/yolu/apache/modules/mod_foo.so<br />
66 [`foo' modülü /dosya/yolu/apache/etc/httpd.conf'ta etkinleştiriliyor]<br />
67 $ apachectl restart<br />
68 /dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start<br />
69 [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module<br />
70 /dosya/yolu/apache/sbin/apachectl restart: httpd started<br />
71 $ _
72 </example>
74 <p><var>dosya</var> olarak bir C kaynak dosyası (.c), bir nesne dosyası
75 (.o) ve hatta bir kütüphane arşivi archive (.a) belirtebilirsiniz.
76 <strong><code>apxs</code></strong> aracı bu dosya uzantılarını
77 tanıdığından C dosyalarını derleme işleminden, arşiv ve nesne
78 dosyalarını ise doğrudan ilintileme işleminden geçirir. Fakat böyle
79 önceden derlenmiş nesne dosyalarını kullanırken, devingen paylaşımlı
80 nesne olarak kullanılmalarını sağlamak üzere konumdan bağımsız kod (PIC)
81 üretecek şekilde derlenmiş olduklarından emin olmalısınız. Örneğin
82 GCC'yi bunun için daima <strong><code>-fpic</code></strong> seçeneği ile
83 kullanmalısınız. Diğer C derleyiciler için,
84 <strong><code>apxs</code></strong>'in nesne dosyalarını derlerken
85 kullanacağı seçenekleri öğrenmek için o derleyicilerin kılavuz
86 sayfalarına bakınız.</p>
88 <p>Apache'deki DSO desteği ile ilgili daha ayrıntılı bilgi edinmek için
89 <strong><module>mod_so</module></strong> belgesini okumakla yetinmeyip
90 <code>src/modules/standard/mod_so.c</code> kaynak dosyasını da
91 okuyunuz.</p>
92 </summary>
93 <seealso><program>apachectl</program></seealso>
94 <seealso><program>httpd</program></seealso>
96 <section id="synopsis"><title>Kullanım</title>
97 <p><code><strong>apxs</strong> -<strong>g</strong>
98 [ -<strong>S</strong> <var>isim=değer</var> ]
99 -<strong>n</strong> <var>modüladı</var></code></p>
101 <p><code><strong>apxs</strong> -<strong>q</strong>
102 [ -<strong>v</strong> ]
103 [ -<strong>S</strong> <var>isim=değer</var> ]
104 <var>sorgu</var> ...</code></p>
106 <p><code><strong>apxs</strong> -<strong>c</strong>
107 [ -<strong>S</strong> <var>isim=değer</var> ]
108 [ -<strong>o</strong> <var>dso-dosyası</var> ]
109 [ -<strong>I</strong> <var>include-dizini</var> ]
110 [ -<strong>D</strong> <var>isim=değer</var> ]
111 [ -<strong>L</strong> <var>lib-dizini</var> ]
112 [ -<strong>l</strong> <var>kütüphane-adı</var> ]
113 [ -<strong>Wc,</strong><var>derleyici-seçenekleri</var> ]
114 [ -<strong>Wl,</strong><var>ilintileyici-seçenekleri</var> ]
115 <var>dosya</var> ...</code></p>
117 <p><code><strong>apxs</strong> -<strong>i</strong>
118 [ -<strong>S</strong> <var>isim=değer</var> ]
119 [ -<strong>n</strong> <var>modüladı</var> ]
120 [ -<strong>a</strong> ]
121 [ -<strong>A</strong> ]
122 <var>dso-dosyası</var> ...</code></p>
124 <p><code><strong>apxs</strong> -<strong>e</strong>
125 [ -<strong>S</strong> <var>isim=değer</var> ]
126 [ -<strong>n</strong> <var>modüladı</var> ]
127 [ -<strong>a</strong> ]
128 [ -<strong>A</strong> ]
129 <var>dso-dosyası</var> ...</code></p>
130 </section>
132 <section id="options"><title>Seçenekler</title>
133 <section id="options.common"><title>Ortak Seçenekler</title>
134 <dl>
135 <dt><code><strong>-n</strong> <var>modüladı</var></code></dt>
136 <dd><code><strong>-i</strong></code> (kurulum) ve
137 <code><strong>-g</strong></code> (şablon üretimi)
138 seçenekleri için modül ismi belirtmek amacıyla kullanılır. Bir modül
139 ismi belirtmek için bu seçeneği kullanın.
140 <code><strong>-g</strong></code> seçeneği için bu gereklidir.
141 <code><strong>-i</strong></code> seçeneği için ise araç, modül
142 ismini kaynağın ismine bakarak veya (son çare olarak) dosya isminden
143 tahmin etmeye çalışarak saptamaya çalışır.</dd>
144 </dl>
145 </section>
147 <section id="options.query"><title>Sorgu Seçenekleri</title>
148 <dl>
149 <dt><code><strong>-q</strong> <var>sorgu</var></code></dt>
150 <dd><code>httpd</code>'yi derlemekte kullanılacak değişkenler ve
151 ortam ayarları için bir sorgu gerçekleştirir. When invoked without
152 <code><var>sorgu</var></code> belirtilmeksizin çağrıldığında, bilinen
153 değişkenleri değerleriyle birlikte basar. İsteğe bağlı
154 <code><strong>-v</strong></code> seçeneği liste çıktısını biçemler.
156 <p>Modülünüzü yükleyecek <code><strong>httpd</strong></code>'yi
157 derlemek için kullanılacak ayarları elle belirtmek için kullanılır.
158 Örneğin, Apache'nin C başlık dosyalarının yerini kendi Makefile
159 dosyalarınızın içinde şöyle belirtebilirsiniz:</p>
160 <example>
161 INC=-I`apxs -q INCLUDEDIR`
162 </example></dd>
163 </dl>
164 </section>
166 <section id="options.conf"><title>Yapılandırma Seçenekleri</title>
167 <dl>
168 <dt><code><strong>-S</strong> <var>isim=değer</var></code></dt>
169 <dd>Bu seçenek yukarıda açıklanan <code><strong>apxs</strong></code>
170 ayarlarını değiştirir.</dd>
171 </dl>
172 </section>
174 <section id="options.template"><title>Şablon Üretme Seçenekleri</title>
175 <dl>
176 <dt><code><strong>-g</strong></code></dt>
177 <dd><code><var>modüladı</var></code> (<strong><code>-n</code></strong>
178 seçeneğine bakınız) adında bir alt dizin oluşturur ve içine iki dosya
179 yerleştirir: Kendi modülünüzü oluşturabilmeniz için veya
180 <code><strong>apxs</strong></code> mekanizmaları ile hemen oynamaya
181 başlayabilmeniz için <code>mod_<var>modüladı</var>.c</code> adında bir
182 modül kaynak dosyası örneği ve bu modülü derleyip kurmayı
183 kolaylaştırmak için bir <code>Makefile</code> dosyası.</dd>
184 </dl>
185 </section>
187 <section id="options.dso"><title>DSO Derleme Seçenekleri</title>
188 <dl>
189 <dt><code><strong>-c</strong></code></dt>
190 <dd>Bu seçenek derleme yapılacağını belirtir. Önce belirtilen C kaynak
191 <var>dosyalar</var>ını (.c), nesne dosyalarını (.o) elde etmek için
192 derler. Sonra bunları kalan nesne dosyaları (.o ve .a) ile
193 ilintileyerek <var>dso-dosyası</var> adında bir devingen paylaşımlı
194 nesne oluşturur. Eğer <strong><code>-o</code></strong> seçeneği ile
195 modül ismi belirtilmemişse <var>dosyalar</var> arasındaki ilk dosyanın
196 ismine bakarak dosya ismi tahmin edilmeye çalışılır ve
197 <code>mod_<var>isim</var>.so</code> dosya adı bu isimden elde
198 edilir.</dd>
200 <dt><code><strong>-o</strong> <var>dso-dosyası</var></code></dt>
201 <dd>Oluşturulacak devingen paylaşımlı nesnenin ismini belirtmek için
202 kullanılır. Modül ismi bu seçenekle belirtilmez ve <var>dosya</var>
203 listesinden bir isim tahmini de yapılamazsa son çare olarak
204 <code>mod_unknown.so</code> ismi kullanılır.</dd>
206 <dt><code><strong>-D</strong> <var>isim=değer</var></code></dt>
207 <dd>Bu seçenek doğrudan derleme komutlarına aktarılır. Bu seçeneği
208 derleme işlemine kendi tanımlarınızı belirtmek için kullanın.</dd>
210 <dt><code><strong>-I</strong> <var>include-dizini</var></code></dt>
211 <dd>Bu seçenek doğrudan derleme komutlarına aktarılır. Bu seçeneği
212 derleme işleminde kullanılmak üzere kendi başlık dosyalarınızı içeren
213 dizinleri arama yollarına eklemek için kullanın.</dd>
215 <dt><code><strong>-L</strong> <var>lib-dizini</var></code></dt>
216 <dd>Bu seçenek doğrudan derleme komutlarına aktarılır. Bu seçeneği
217 derleme işleminde kullanılmak üzere kendi kütüphane dizinlerinizi
218 arama yollarına eklemek için kullanın.</dd>
220 <dt><code><strong>-l</strong> <var>kütüphane-adı</var></code></dt>
221 <dd>Bu seçenek doğrudan derleme komutlarına aktarılır. Bu seçeneği
222 derleme işleminde kullanılmak üzere kendi kütüphanelerinizi arama
223 yollarına eklemek için kullanın.</dd>
225 <dt><code><strong>-Wc</strong>,<var>derleyici-seçenekleri</var></code></dt>
226 <dd>Bu seçenek <code>libtool --mode=compile</code> komutuna doğrudan
227 seçenek aktarmak için kullanılır. Bu seçeneği yerel derleyiciniz için
228 gereken ek seçenekleri belirtmek için kullanın.</dd>
230 <dt><code><strong>-Wl</strong>,<var>ilintileyici-seçenekleri</var></code></dt>
231 <dd>Bu seçenek <code>libtool --mode=link</code> komutuna doğrudan
232 seçenek aktarmak için kullanılır. Bu seçeneği yerel ilintileyiciniz
233 için gereken ek seçenekleri belirtmek için kullanın.</dd>
234 </dl>
235 </section>
237 <section id="options.dsoinstall">
238 <title>DSO Kurulum ve Yapılandırma Seçenekleri</title>
239 <dl>
240 <dt><code><strong>-i</strong></code></dt>
241 <dd>Kurulum işlemini belirtir ve devingen olarak paylaşımlı nesneleri
242 sunucunun <var>modules</var> dizinine kurar.</dd>
244 <dt><code><strong>-a</strong></code></dt>
245 <dd>İlgili <directive module="mod_so">LoadModule</directive> satırını
246 Apache'nin <code>httpd.conf</code> yapılandırma dosyasına özdevinimli
247 olarak ekleyerek veya böyle bir satır varsa bunu etkin kılarak modülü
248 etkinleştirir.</dd>
250 <dt><code><strong>-A</strong></code></dt>
251 <dd><strong><directive module="mod_so">LoadModule</directive></strong>
252 yönergesini daha sonra etkinleştirmek üzere satırın başına bir diyez
253 imi (<code>#</code>) yerleştirmesi dışında
254 <strong><code>-a</code></strong> seçeneği ile aynıdır.</dd>
256 <dt><code><strong>-e</strong></code></dt>
257 <dd>Modülü kurmaya çalışmaksızın Apache'nin <code>httpd.conf</code>
258 yapılandırma dosyasını <strong><code>-i</code></strong> işlemine
259 benzer şekilde <strong><code>-a</code></strong> ve
260 <strong><code>-A</code></strong> seçenekleri ile düzenleme işlemini
261 belirtir.</dd>
262 </dl>
263 </section>
264 </section>
266 <section id="examples"><title>Örnekler</title>
267 <p>Apache'nin sunucu işlevselliğini genişletmek amacıyla kullanacağınız
268 <code>mod_foo.c</code> adında bir Apache modülünüz olduğunu varsayalım.
269 Öncelikle, C kaynak dosyasını, Apache sunucusuna çalışma anında
270 yüklenmeye uygun bir paylaşımlı nesne olarak derlemeniz gerekir. Bunu
271 sağlamak için şu komutları vermelisiniz:</p>
273 <example>
274 $ apxs -c mod_foo.c<br />
275 /dosya/yolu/libtool --mode=compile gcc ... -c mod_foo.c<br />
276 /dosya/yolu/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo<br />
278 </example>
280 <p>Bundan sonra, Apache yapılandırmanızın bu paylaşımlı nesneyi yüklemek
281 için bir <strong><directive
282 module="mod_so">LoadModule</directive></strong> yönergesi içermesini
283 sağlamalısınız. <strong><code>apxs</code></strong> bu adımı
284 basitleştirmek amacıyla, paylaşımlı nesneyi sunucunun <var>modules</var>
285 dizinine özdevinimli olarak kurmak ve <code>httpd.conf</code> dosyasını
286 buna uygun olarak güncellemek için bir yol sağlar. Bu sonuç şöyle elde
287 edilebilir:</p>
289 <example>
290 $ apxs -i -a mod_foo.la<br />
291 /dosya/yolu/instdso.sh mod_foo.la /path/to/apache/modules<br />
292 /dosya/yolu/libtool --mode=install cp mod_foo.la /dosya/yolu/apache/modules
294 chmod 755 /dosya/yolu/apache/modules/mod_foo.so<br />
295 [`foo' modülü /dosya/yolu/apache/conf/httpd.conf'da etkinleştiriliyor] <br />
297 </example>
299 <p>Yapılandıma dosyasına (eğer yoksa) şu satır eklenir:</p>
301 <example>
302 LoadModule foo_module modules/mod_foo.so
303 </example>
305 <p>Bunu öntanımlı olarak iptal etmek isterseniz
306 <strong><code>-A</code></strong> seçeneğini kullanmanız gerekir:</p>
308 <example>
309 $ apxs -i -A mod_foo.c
310 </example>
312 <p><strong><code>apxs</code></strong> mekanizmalarını hızlıca denemek
313 için örnek bir Apache modül şablonunu ve bir Makefile dosyasını şöyle
314 oluşturabilirsiniz:</p>
316 <example>
317 $ apxs -g -n foo<br />
318 Creating [DIR] foo<br />
319 Creating [FILE] foo/Makefile<br />
320 Creating [FILE] foo/modules.mk<br />
321 Creating [FILE] foo/mod_foo.c<br />
322 Creating [FILE] foo/.deps<br />
324 </example>
326 <p>Ardından bu örnek modülü bir paylaşımlı nesne olarak derleyip Apache
327 sunucusuna yükleyebilirsiniz:</p>
329 <example>
330 $ cd foo<br />
331 $ make all reload<br />
332 apxs -c mod_foo.c<br />
333 /dosya/yolu/libtool --mode=compile gcc ... -c mod_foo.c<br />
334 /dosya/yolu/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo<br />
335 apxs -i -a -n "foo" mod_foo.la<br />
336 /dosya/yolu/instdso.sh mod_foo.la /dosya/yolu/apache/modules<br />
337 /dosya/yolu/libtool --mode=install cp mod_foo.la /dosya/yolu/apache/modules
339 chmod 755 /dosya/yolu/apache/modules/mod_foo.so<br />
340 [`foo' modülü /dosya/yolu/apache/conf/httpd.conf'ta etkinleştiriliyor]<br />
341 apachectl restart<br />
342 /dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start<br />
343 chmod 755 /dosya/yolu/apache/modules/mod_foo.so<br />
344 [`foo' modülü /dosya/yolu/apache/etc/httpd.conf'ta etkinleştiriliyor]<br />
345 apachectl restart<br />
346 /dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start<br />
347 [Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module<br />
348 /dosya/yolu/apache/sbin/apachectl restart: httpd started<br />
350 </example>
352 </section>
353 </manualpage>