1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head><!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>apxs - Apache Eklenti Aracı - Apache HTTP Sunucusu</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
<p class="apache">Apache HTTP Sunucusu Sürüm 2.0</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.0</a> > <a href="./">Programlar</a></div><div id="page-content"><div id="preamble"><h1>apxs - Apache Eklenti Aracı</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../en/programs/apxs.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../ko/programs/apxs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/programs/apxs.html" title="Türkçe"> tr </a></p>
</div>
<p><code><strong>apxs</strong></code>, Apache Hiper Metin Aktarım
Protokolü (HTTP) sunucusu için ek modül derleme ve kurulum aracıdır. Bu
araç sayesinde, bir veya daha fazla kaynak veya nesne
<var>dosya</var>sından bir devingen paylaşımlı nesne (DSO - "Dynamic
Shared Object" kısaltması) derlemek ve bu nesneyi (modülü) Apache
sunucusuna çalışma anında <strong><code class="module"><a href="../mod/mod_so.html">mod_so</a></code></strong>
modülünün <strong><code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code></strong> yönergesi üzerinden yüklemek mümkün
olmaktadır.</p>
<p>Bu eklenti mekanizmasını platformunuzda kullanmak için DSO desteğinin
olması ve <strong><code class="program"><a href="../programs/httpd.html">httpd</a></code></strong> programının
<strong><code class="module"><a href="../mod/mod_so.html">mod_so</a></code></strong> modülünü içerecek şekilde
derlenmiş olması gerekir. Eğer bunlar mevcut değilse
<strong><code>apxs</code></strong> aracı durumu size bildirecektir. Bunu
aşağıdaki komutla kendiniz de sınayabilirsiniz:</p>
<div class="example"><p><code>
$ httpd -l
</code></p></div>
<p><strong><code class="module"><a href="../mod/mod_so.html">mod_so</a></code></strong> modülü gösterilen listede yer
almalıdır. Bu gereksinimler sağlandığı takdirde
<strong><code>apxs</code></strong> aracı sayesinde DSO mekanizması
üzerinden kendi modüllerinizi kurmak suretiyle Apache sunucunuzun
işlevselliğini kolayca arttırabilirsiniz. Örnek bir uygulama:</p>
<div class="example"><p><code>
$ apxs -i -a -c mod_foo.c<br />
gcc -fpic -DSHARED_MODULE -I/dosya/yolu/apache/include -c mod_foo.c<br />
ld -Bshareable -o mod_foo.so mod_foo.o<br />
cp mod_foo.so /dosya/yolu/apache/modules/mod_foo.so<br />
chmod 755 /dosya/yolu/apache/modules/mod_foo.so<br />
[`foo' modülü /dosya/yolu/apache/etc/httpd.conf'ta etkinleştiriliyor]<br />
$ apachectl restart<br />
/dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start<br />
[Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module<br />
/dosya/yolu/apache/sbin/apachectl restart: httpd started<br />
$ _
</code></p></div>
<p><var>dosya</var> olarak bir C kaynak dosyası (.c), bir nesne dosyası
(.o) ve hatta bir kütüphane arşivi archive (.a) belirtebilirsiniz.
<strong><code>apxs</code></strong> aracı bu dosya uzantılarını
tanıdığından C dosyalarını derleme işleminden, arşiv ve nesne
dosyalarını ise doğrudan ilintileme işleminden geçirir. Fakat böyle
önceden derlenmiş nesne dosyalarını kullanırken, devingen paylaşımlı
nesne olarak kullanılmalarını sağlamak üzere konumdan bağımsız kod (PIC)
üretecek şekilde derlenmiş olduklarından emin olmalısınız. Örneğin
GCC'yi bunun için daima <strong><code>-fpic</code></strong> seçeneği ile
kullanmalısınız. Diğer C derleyiciler için,
<strong><code>apxs</code></strong>'in nesne dosyalarını derlerken
kullanacağı seçenekleri öğrenmek için o derleyicilerin kılavuz
sayfalarına bakınız.</p>
<p>Apache'deki DSO desteği ile ilgili daha ayrıntılı bilgi edinmek için
<strong><code class="module"><a href="../mod/mod_so.html">mod_so</a></code></strong> belgesini okumakla yetinmeyip
<code>src/modules/standard/mod_so.c</code> kaynak dosyasını da
okuyunuz.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#synopsis">Kullanım</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#options">Seçenekler</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#examples">Örnekler</a></li>
</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><code class="program"><a href="../programs/apachectl.html">apachectl</a></code></li><li><code class="program"><a href="../programs/httpd.html">httpd</a></code></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="synopsis" id="synopsis">Kullanım</a></h2>
<p><code><strong>apxs</strong> -<strong>g</strong>
[ -<strong>S</strong> <var>isim=değer</var> ]
-<strong>n</strong> <var>modüladı</var></code></p>
<p><code><strong>apxs</strong> -<strong>q</strong>
[ -<strong>S</strong> <var>isim=değer</var> ]
<var>sorgu</var> ...</code></p>
<p><code><strong>apxs</strong> -<strong>c</strong>
[ -<strong>S</strong> <var>isim=değer</var> ]
[ -<strong>o</strong> <var>dso-dosyası</var> ]
[ -<strong>I</strong> <var>include-dizini</var> ]
[ -<strong>D</strong> <var>isim=değer</var> ]
[ -<strong>L</strong> <var>lib-dizini</var> ]
[ -<strong>l</strong> <var>kütüphane-adı</var> ]
[ -<strong>Wc,</strong><var>derleyici-seçenekleri</var> ]
[ -<strong>Wl,</strong><var>ilintileyici-seçenekleri</var> ]
<var>dosya</var> ...</code></p>
<p><code><strong>apxs</strong> -<strong>i</strong>
[ -<strong>S</strong> <var>isim=değer</var> ]
[ -<strong>n</strong> <var>modüladı</var> ]
[ -<strong>a</strong> ]
[ -<strong>A</strong> ]
<var>dso-dosyası</var> ...</code></p>
<p><code><strong>apxs</strong> -<strong>e</strong>
[ -<strong>S</strong> <var>isim=değer</var> ]
[ -<strong>n</strong> <var>modüladı</var> ]
[ -<strong>a</strong> ]
[ -<strong>A</strong> ]
<var>dso-dosyası</var> ...</code></p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="options" id="options">Seçenekler</a></h2>
<h3><a name="options.common" id="options.common">Ortak Seçenekler</a></h3>
<dl>
<dt><code><strong>-n</strong> <var>modüladı</var></code></dt>
<dd><code>-i</code> (kurulum) ve <code>-g</code> (şablon üretimi)
seçenekleri için modül ismi belirtmek amacıyla kullanılır. Bir modül
ismi belirtmek için bu seçeneği kullanın.
<code><strong>-g</strong></code> seçeneği için bu gereklidir.
<code><strong>-i</strong></code> seçeneği için ise araç, modül
ismini kaynağın ismine bakarak veya (son çare olarak) dosya isminden
tahmin etmeye çalışarak saptamaya çalışır.</dd>
</dl>
<h3><a name="options.query" id="options.query">Sorgu Seçenekleri</a></h3>
<dl>
<dt><code><strong>-q</strong> <var>sorgu</var></code></dt>
<dd><strong><code>apxs</code></strong>'in belli ayarlar hakkında
bilgisine başvurmak için bir sorgu gerçekleştirir.
<code><var>sorgu</var></code> olarak şu dizgelerden biri veya
birkaçı belirtilebilir: <code>CC</code>, <code>CFLAGS</code>,
<code>CFLAGS_SHLIB</code>, <code>INCLUDEDIR</code>,
<code>LD_SHLIB</code>, <code>LDFLAGS_SHLIB</code>,
<code>LIBEXECDIR</code>, <code>LIBS_SHLIB</code>,
<code>SBINDIR</code>, <code>SYSCONFDIR</code>, <code>TARGET</code>.
<p>Bu seçeneği ayarları öğrenmek için kullanın. Örneğin, Apache'nin C
başlık dosyalarının yerini kendi Makefile dosyalarınızın içinde
şöyle belirtebilirsiniz:</p>
<div class="example"><p><code>
INC=-I`apxs -q INCLUDEDIR`
</code></p></div></dd>
</dl>
<h3><a name="options.conf" id="options.conf">Yapılandırma Seçenekleri</a></h3>
<dl>
<dt><code><strong>-S</strong> <var>isim=değer</var></code></dt>
<dd>Bu seçenek yukarıda açıklanan <code><strong>apxs</strong></code>
ayarlarını değiştirir.</dd>
</dl>
<h3><a name="options.template" id="options.template">Şablon Üretme Seçenekleri</a></h3>
<dl>
<dt><code><strong>-g</strong></code></dt>
<dd><var>modüladı</var> (<strong><code>-n</code></strong> seçeneğihe
bakınız) adında bir alt dizin oluşturur ve içine iki dosya
yerleştirir: Kendi modülünüzü oluşturabilmeniz için veya
<code><strong>apxs</strong></code> mekanizmaları ile hemen oynamaya
başlayabilmeniz için <code>mod_<var>modüladı</var>.c</code> adında bir
modül kaynak dosyası örneği ve bu modülü derleyip kurmayı
kolaylaştırmak için bir <code>Makefile</code> dosyası.</dd>
</dl>
<h3><a name="options.dso" id="options.dso">DSO Derleme Seçenekleri</a></h3>
<dl>
<dt><code><strong>-c</strong></code></dt>
<dd>Bu seçenek derleme yapılacağını belirtir. Önce belirtilen C kaynak
<var>dosyalar</var>ını (.c), nesne dosyalarını (.o) elde etmek için
derler. Sonra bunları kalan nesne dosyaları (.o ve .a) ile
ilintileyerek <var>dso-dosyası</var> adında bir devingen paylaşımlı
nesne oluşturur. Eğer <strong><code>-o</code></strong> seçeneği ile
modül ismi belirtilmemişse <var>dosyalar</var> arasındaki ilk dosyanın
ismine bakarak dosya ismi tahmin edilmeye çalışılır ve
<code>mod_<var>isim</var>.so</code> dosya adı bu isimden elde
edilir.</dd>
<dt><code><strong>-o</strong> <var>dso-dosyası</var></code></dt>
<dd>Oluşturulacak devingen paylaşımlı nesnenin ismini belirtmek için
kullanılır. Modül ismi bu seçenekle belirtilmez ve <var>dosya</var>
listesinden bir isim tahmini de yapılamazsa son çare olarak
<code>mod_unknown.so</code> ismi kullanılır.</dd>
<dt><code><strong>-D</strong> <var>isim=değer</var></code></dt>
<dd>Bu seçenek doğrudan derleme komutlarına aktarılır. Bu seçeneği
derleme işlemine kendi tanımlarınızı belirtmek için kullanın.</dd>
<dt><code><strong>-I</strong> <var>include-dizini</var></code></dt>
<dd>Bu seçenek doğrudan derleme komutlarına aktarılır. Bu seçeneği
derleme işleminde kullanılmak üzere kendi başlık dosyalarınızı içeren
dizinleri arama yollarına eklemek için kullanın.</dd>
<dt><code><strong>-L</strong> <var>lib-dizini</var></code></dt>
<dd>Bu seçenek doğrudan derleme komutlarına aktarılır. Bu seçeneği
derleme işleminde kullanılmak üzere kendi kütüphane dizinlerinizi
arama yollarına eklemek için kullanın.</dd>
<dt><code><strong>-l</strong> <var>kütüphane-adı</var></code></dt>
<dd>Bu seçenek doğrudan derleme komutlarına aktarılır. Bu seçeneği
derleme işleminde kullanılmak üzere kendi kütüphanelerinizi arama
yollarına eklemek için kullanın.</dd>
<dt><code><strong>-Wc</strong>,<var>derleyici-seçenekleri</var></code></dt>
<dd>Bu seçenek derleme komutuna doğrudan seçenek aktarmak için
kullanılır. Bu seçeneği yerel derleyiciniz için gereken ek seçenekleri
belirtmek için kullanın.</dd>
<dt><code><strong>-Wl</strong>,<var>ilintileyici-seçenekleri</var></code></dt>
<dd>Bu seçenek nesne ilintileme komutuna doğrudan seçenek aktarmak için
kullanılır. Bu seçeneği yerel ilintileyiciniz için gereken ek
seçenekleri belirtmek için kullanın.</dd>
</dl>
<h3><a name="options.dsoinstall" id="options.dsoinstall">DSO Kurulum ve Yapılandırma Seçenekleri</a></h3>
<dl>
<dt><code><strong>-i</strong></code></dt>
<dd>Kurulum işlemini belirtir ve devingen olarak paylaşımlı nesneleri
sunucunun <var>modules</var> dizinine kurar.</dd>
<dt><code><strong>-a</strong></code></dt>
<dd>İlgili <code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code> satırını
Apache'nin <code>httpd.conf</code> yapılandırma dosyasına özdevinimli
olarak ekleyerek veya böyle bir satır varsa bunu etkin kılarak modülü
etkinleştirir.</dd>
<dt><code><strong>-A</strong></code></dt>
<dd><strong><code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code></strong>
yönergesini daha sonra etkinleştirmek üzere satırın başına bir diyez
imi (<code>#</code>) yerleştirmesi dışında
<strong><code>-a</code></strong> seçeneği ile aynıdır.</dd>
<dt><code><strong>-e</strong></code></dt>
<dd>Modülü kurmaya çalışmaksızın Apache'nin <code>httpd.conf</code>
yapılandırma dosyasını <strong><code>-i</code></strong> işlemine
benzer şekilde <strong><code>-a</code></strong> ve
<strong><code>-A</code></strong> seçenekleri ile düzenleme işlemini
belirtir.</dd>
</dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="examples" id="examples">Örnekler</a></h2>
<p>Apache'nin sunucu işlevselliğini genişletmek amacıyla kullanacağınız
<code>mod_foo.c</code> adında bir Apache modülünüz olduğunu varsayalım.
Öncelikle, C kaynak dosyasını, Apache sunucusuna çalışma anında
yüklenmeye uygun bir paylaşımlı nesne olarak derlemeniz gerekir. Bunu
sağlamak için şu komutları vermelisiniz:</p>
<div class="example"><p><code>
$ apxs -c mod_foo.c<br />
gcc -fpic -DSHARED_MODULE -I/dosya/yolu/apache/include -c mod_foo.c<br />
ld -Bshareable -o mod_foo.so mod_foo.o<br />
$ _
</code></p></div>
<p>Bundan sonra, Apache yapılandırmanızın bu paylaşımlı nesneyi yüklemek
için bir <strong><code class="directive"><a href="../mod/mod_so.html#loadmodule">LoadModule</a></code></strong> yönergesi içermesini
sağlamalısınız. <strong><code>apxs</code></strong> bu adımı
basitleştirmek amacıyla, paylaşımlı nesneyi sunucunun <var>modules</var>
dizinine özdevinimli olarak kurmak ve <code>httpd.conf</code> dosyasını
buna uygun olarak güncellemek için bir yol sağlar. Bu sonuç şöyle elde
edilebilir:</p>
<div class="example"><p><code>
$ apxs -i -a mod_foo.c<br />
cp mod_foo.so /dosya/yolu/apache/modules/mod_foo.so<br />
chmod 755 /dosya/yolu/apache/modules/mod_foo.so<br />
[`foo' modülü /dosya/yolu/apache/etc/httpd.conf'da etkinleştiriliyor]<br />
$ _
</code></p></div>
<p>Yapılandıma dosyasına (eğer yoksa) şu satır eklenir:</p>
<div class="example"><p><code>
LoadModule foo_module modules/mod_foo.so
</code></p></div>
<p>Bunu öntanımlı olarak iptal etmek isterseniz
<strong><code>-A</code></strong> seçeneğini kullanmanız gerekir:</p>
<div class="example"><p><code>
$ apxs -i -A mod_foo.c
</code></p></div>
<p><strong><code>apxs</code></strong> mekanizmalarını hızlıca denemek
için örnek bir Apache modül şablonunu ve bir Makefile dosyasını şöyle
oluşturabilirsiniz:</p>
<div class="example"><p><code>
$ apxs -g -n foo<br />
Creating [DIR] foo<br />
Creating [FILE] foo/Makefile<br />
Creating [FILE] foo/mod_foo.c<br />
$ _
</code></p></div>
<p>Ardından bu örnek modülü bir paylaşımlı nesne olarak derleyip Apache
sunucusuna yükleyebilirsiniz:</p>
<div class="example"><p><code>
$ cd foo<br />
$ make all reload<br />
apxs -c mod_foo.c<br />
gcc -fpic -DSHARED_MODULE -I/dosya/yolu/apache/include -c mod_foo.c<br />
ld -Bshareable -o mod_foo.so mod_foo.o<br />
apxs -i -a -n "foo" mod_foo.so<br />
cp mod_foo.so /dosya/yolu/apache/modules/mod_foo.so<br />
chmod 755 /dosya/yolu/apache/modules/mod_foo.so<br />
[`foo' modülü /dosya/yolu/apache/etc/httpd.conf'ta etkinleştiriliyor]<br />
apachectl restart<br />
/dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start<br />
[Tue Mar 31 11:27:55 1998] [debug] mod_so.c(303): loaded module foo_module<br />
/dosya/yolu/apache/sbin/apachectl restart: httpd started<br />
$ _
</code></p></div>
<p><strong><code>apxs</code></strong> C kaynak dosyalarını va nesne
dosyalarını özdevinimli olarak tanıdığından,
<strong><code>apxs</code></strong>'yi PHP3 gibi karmaşık modülleri
Apache kaynak ağacının dışında derlemek için de kullanabilirsiniz:</p>
<div class="example"><p><code>
$ cd php3<br />
$ ./configure --with-shared-apache=../apache-1.3<br />
$ apxs -c -o libphp3.so mod_php3.c libmodphp3-so.a<br />
gcc -fpic -DSHARED_MODULE -I/tmp/apache/include -c mod_php3.c<br />
ld -Bshareable -o libphp3.so mod_php3.o libmodphp3-so.a<br />
$ _
</code></p></div>
<p>Sadece C kaynak dosyaları derlenir ve diğer nesne dosyaları ile
ilintilenir.</p>
</div></div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="../en/programs/apxs.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../ko/programs/apxs.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/programs/apxs.html" title="Türkçe"> tr </a></p>
</div><div id="footer">
<p class="apache">Copyright 2009 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
<p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div>
</body></html>
|