summaryrefslogtreecommitdiffstats
path: root/docs/man/tr/apxs.1
blob: 75216e5bb62780315b246fdc6a9925dc64ec32f6 (plain)
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
.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
.\" DO NOT EDIT! Generated from XML source.
.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "APXS" 1 "2013-08-16" "Apache HTTP Sunucusu" "apxs"
.nh
.SH İSİM
apxs \- Apache Eklenti Aracı

.SH "KULLANIM"
 
.PP
\fBapxs\fR -\fBg\fR [ -\fBS\fR \fIisim=değer\fR ] -\fBn\fR \fImodüladı\fR
 
.PP
\fBapxs\fR -\fBq\fR [ -\fBv\fR ] [ -\fBS\fR \fIisim=değer\fR ] \fIsorgu\fR \&.\&.\&.
 
.PP
\fBapxs\fR -\fBc\fR [ -\fBS\fR \fIisim=değer\fR ] [ -\fBo\fR \fIdso-dosyası\fR ] [ -\fBI\fR \fIinclude-dizini\fR ] [ -\fBD\fR \fIisim=değer\fR ] [ -\fBL\fR \fIlib-dizini\fR ] [ -\fBl\fR \fIkütüphane-adı\fR ] [ -\fBWc,\fR\fIderleyici-seçenekleri\fR ] [ -\fBWl,\fR\fIilintileyici-seçenekleri\fR ] [ -\fBp\fR ] \fIdosya\fR \&.\&.\&.
 
.PP
\fBapxs\fR -\fBi\fR [ -\fBS\fR \fIisim=değer\fR ] [ -\fBn\fR \fImodüladı\fR ] [ -\fBa\fR ] [ -\fBA\fR ] \fIdso-dosyası\fR \&.\&.\&.
 
.PP
\fBapxs\fR -\fBe\fR [ -\fBS\fR \fIisim=değer\fR ] [ -\fBn\fR \fImodüladı\fR ] [ -\fBa\fR ] [ -\fBA\fR ] \fIdso-dosyası\fR \&.\&.\&.
 

.SH "ÖZET"
 
.PP
\fBapxs\fR, 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 \fIdosya\fRsından bir devingen paylaşımlı nesne (DSO - "Dynamic Shared Object" kısaltması) derlemek ve bu nesneyi (modülü) Apache sunucusuna çalışma anında \fBmod_so\fR modülünün \fBLoadModule\fR yönergesi üzerinden yüklemek mümkün olmaktadır\&.
 
.PP
Bu eklenti mekanizmasını platformunuzda kullanmak için DSO desteğinin olması ve \fBhttpd\fR programının \fBmod_so\fR modülünü içerecek şekilde derlenmiş olması gerekir\&. Eğer bunlar mevcut değilse \fBapxs\fR aracı durumu size bildirecektir\&. Bunu aşağıdaki komutla kendiniz de sınayabilirsiniz:
 
.nf

      $ httpd -l
    
.fi
 
.PP
\fBmod_so\fR modülü gösterilen listede yer almalıdır\&. Bu gereksinimler sağlandığı takdirde \fBapxs\fR aracı sayesinde DSO mekanizması üzerinden kendi modüllerinizi kurmak suretiyle Apache sunucunuzun işlevselliğini kolayca arttırabilirsiniz\&. Örnek bir uygulama:
 
.nf

      $ apxs -i -a -c mod_foo\&.c
      gcc -fpic -DSHARED_MODULE -I/dosya/yolu/apache/include -c mod_foo\&.c
      ld -Bshareable -o mod_foo\&.so mod_foo\&.o
      cp mod_foo\&.so /dosya/yolu/apache/modules/mod_foo\&.so
      chmod 755 /dosya/yolu/apache/modules/mod_foo\&.so
      [`foo' modülü /dosya/yolu/apache/etc/httpd\&.conf'ta etkinleştiriliyor]
      $ apachectl restart
      /dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start
      [Tue Mar 31 11:27:55 1998] [debug] mod_so\&.c(303): loaded module foo_module
      /dosya/yolu/apache/sbin/apachectl restart: httpd started
      $ _
    
.fi
 
.PP
\fIdosya\fR olarak bir C kaynak dosyası (\&.c), bir nesne dosyası (\&.o) ve hatta bir kütüphane arşivi archive (\&.a) belirtebilirsiniz\&. \fBapxs\fR 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 \fB-fpic\fR seçeneği ile kullanmalısınız\&. Diğer C derleyiciler için, \fBapxs\fR'in nesne dosyalarını derlerken kullanacağı seçenekleri öğrenmek için o derleyicilerin kılavuz sayfalarına bakınız\&.
 
.PP
Apache'deki DSO desteği ile ilgili daha ayrıntılı bilgi edinmek için \fBmod_so\fR belgesini okumakla yetinmeyip src/modules/standard/mod_so\&.c kaynak dosyasını da okuyunuz\&.
 

.SH "SEÇENEKLER"
 
.SS "Ortak Seçenekler"
 
 
.TP
\fB-n\fR \fImodüladı\fR
\fB-i\fR (kurulum) ve \fB-g\fR (ş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\&. \fB-g\fR seçeneği için bu gereklidir\&. \fB-i\fR 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\&.  
  
.SS "Sorgu Seçenekleri"
 
 
.TP
\fB-q\fR \fIsorgu\fR
httpd'yi derlemekte kullanılacak değişkenler ve ortam ayarları için bir sorgu gerçekleştirir\&. When invoked without \fIsorgu\fR belirtilmeksizin çağrıldığında, bilinen değişkenleri değerleriyle birlikte basar\&. İsteğe bağlı \fB-v\fR seçeneği liste çıktısını biçemler\&. .PP Modülünüzü yükleyecek \fBhttpd\fR'yi derlemek için kullanılacak ayarları elle belirtmek için kullanılır\&. Örneğin, Apache'nin C başlık dosyalarının yerini kendi Makefile dosyalarınızın içinde şöyle belirtebilirsiniz: INC=-I`apxs -q INCLUDEDIR`  
  
.SS "Yapılandırma Seçenekleri"
 
 
.TP
\fB-S\fR \fIisim=değer\fR
Bu seçenek yukarıda açıklanan \fBapxs\fR ayarlarını değiştirir\&.  
  
.SS "Şablon Üretme Seçenekleri"
 
 
.TP
\fB-g\fR
\fImodüladı\fR (\fB-n\fR seçeneğine 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 \fBapxs\fR mekanizmaları ile hemen oynamaya başlayabilmeniz için mod_\fImodüladı\fR\&.c adında bir modül kaynak dosyası örneği ve bu modülü derleyip kurmayı kolaylaştırmak için bir Makefile dosyası\&.  
  
.SS "DSO Derleme Seçenekleri"
 
 
.TP
\fB-c\fR
Bu seçenek derleme yapılacağını belirtir\&. Önce belirtilen C kaynak \fIdosyalar\fRını (\&.c), nesne dosyalarını (\&.o) elde etmek için derler\&. Sonra bunları kalan nesne dosyaları (\&.o ve \&.a) ile ilintileyerek \fIdso-dosyası\fR adında bir devingen paylaşımlı nesne oluşturur\&. Eğer \fB-o\fR seçeneği ile modül ismi belirtilmemişse \fIdosyalar\fR arasındaki ilk dosyanın ismine bakarak dosya ismi tahmin edilmeye çalışılır ve mod_\fIisim\fR\&.so dosya adı bu isimden elde edilir\&.  
.TP
\fB-o\fR \fIdso-dosyası\fR
Oluşturulacak devingen paylaşımlı nesnenin ismini belirtmek için kullanılır\&. Modül ismi bu seçenekle belirtilmez ve \fIdosya\fR listesinden bir isim tahmini de yapılamazsa son çare olarak mod_unknown\&.so ismi kullanılır\&.  
.TP
\fB-D\fR \fIisim=değer\fR
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\&.  
.TP
\fB-I\fR \fIinclude-dizini\fR
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\&.  
.TP
\fB-L\fR \fIlib-dizini\fR
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\&.  
.TP
\fB-l\fR \fIkütüphane-adı\fR
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\&.  
.TP
\fB-Wc\fR,\fIderleyici-seçenekleri\fR
Bu seçenek libtool --mode=compile 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\&.  
.TP
\fB-Wl\fR,\fIilintileyici-seçenekleri\fR
Bu seçenek libtool --mode=link 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\&.  
.TP
\fB-p\fR
Bu seçenek apxs'in apr/apr-util kütüphaneleriyle ilintilenmesini sağlar\&. apr/apr-util kütüphanelerini kullanan yardımcı uygulamaları derlerken yararlıdır\&.  
  
.SS "DSO Kurulum ve Yapılandırma Seçenekleri"
  
 
.TP
\fB-i\fR
Kurulum işlemini belirtir ve devingen olarak paylaşımlı nesneleri sunucunun \fImodules\fR dizinine kurar\&.  
.TP
\fB-a\fR
İlgili LoadModule satırını Apache'nin httpd\&.conf yapılandırma dosyasına özdevinimli olarak ekleyerek veya böyle bir satır varsa bunu etkin kılarak modülü etkinleştirir\&.  
.TP
\fB-A\fR
\fBLoadModule\fR yönergesini daha sonra etkinleştirmek üzere satırın başına bir diyez imi (#) yerleştirmesi dışında \fB-a\fR seçeneği ile aynıdır\&.  
.TP
\fB-e\fR
Modülü kurmaya çalışmaksızın Apache'nin httpd\&.conf yapılandırma dosyasını \fB-i\fR işlemine benzer şekilde \fB-a\fR ve \fB-A\fR seçenekleri ile düzenleme işlemini belirtir\&.  
  
.SH "ÖRNEKLER"
 
.PP
Apache'nin sunucu işlevselliğini genişletmek amacıyla kullanacağınız mod_foo\&.c 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:
 
.nf

      $ apxs -c mod_foo\&.c
      /dosya/yolu/libtool --mode=compile gcc \&.\&.\&. -c mod_foo\&.c
      /dosya/yolu/libtool --mode=link gcc \&.\&.\&. -o mod_foo\&.la mod_foo\&.slo
      $ _
    
.fi
 
.PP
Bundan sonra, Apache yapılandırmanızın bu paylaşımlı nesneyi yüklemek için bir \fBLoadModule\fR yönergesi içermesini sağlamalısınız\&. \fBapxs\fR bu adımı basitleştirmek amacıyla, paylaşımlı nesneyi sunucunun \fImodules\fR dizinine özdevinimli olarak kurmak ve httpd\&.conf dosyasını buna uygun olarak güncellemek için bir yol sağlar\&. Bu sonuç şöyle elde edilebilir:
 
.nf

      $ apxs -i -a mod_foo\&.la
      /dosya/yolu/instdso\&.sh mod_foo\&.la /path/to/apache/modules
      /dosya/yolu/libtool --mode=install cp mod_foo\&.la /dosya/yolu/apache/modules
      \&.\&.\&.
      chmod 755 /dosya/yolu/apache/modules/mod_foo\&.so
      [`foo' modülü /dosya/yolu/apache/conf/httpd\&.conf'da etkinleştiriliyor] 
      $ _
    
.fi
 
.PP
Yapılandıma dosyasına (eğer yoksa) şu satır eklenir:
 
.nf

      LoadModule foo_module modules/mod_foo\&.so
    
.fi
 
.PP
Bunu öntanımlı olarak iptal etmek isterseniz \fB-A\fR seçeneğini kullanmanız gerekir:
 
.nf

      $ apxs -i -A mod_foo\&.c
    
.fi
 
.PP
\fBapxs\fR mekanizmalarını hızlıca denemek için örnek bir Apache modül şablonunu ve bir Makefile dosyasını şöyle oluşturabilirsiniz:
 
.nf

      $ apxs -g -n foo
      Creating [DIR]  foo
      Creating [FILE] foo/Makefile
      Creating [FILE] foo/modules\&.mk
      Creating [FILE] foo/mod_foo\&.c
      Creating [FILE] foo/\&.deps
      $ _
    
.fi
 
.PP
Ardından bu örnek modülü bir paylaşımlı nesne olarak derleyip Apache sunucusuna yükleyebilirsiniz:
 
.nf

      $ cd foo
      $ make all reload
      apxs -c mod_foo\&.c
      /dosya/yolu/libtool --mode=compile gcc \&.\&.\&. -c mod_foo\&.c
      /dosya/yolu/libtool --mode=link gcc \&.\&.\&. -o mod_foo\&.la mod_foo\&.slo
      apxs -i -a -n "foo" mod_foo\&.la
      /dosya/yolu/instdso\&.sh mod_foo\&.la /dosya/yolu/apache/modules
      /dosya/yolu/libtool --mode=install cp mod_foo\&.la /dosya/yolu/apache/modules
      \&.\&.\&.
       chmod 755 /dosya/yolu/apache/modules/mod_foo\&.so
      [`foo' modülü /dosya/yolu/apache/conf/httpd\&.conf'ta etkinleştiriliyor]
       apachectl restart
       /dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start
      chmod 755 /dosya/yolu/apache/modules/mod_foo\&.so
      [`foo' modülü /dosya/yolu/apache/etc/httpd\&.conf'ta etkinleştiriliyor]
      apachectl restart
      /dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start
      [Tue Mar 31 11:27:55 1998] [debug] mod_so\&.c(303): loaded module foo_module
      /dosya/yolu/apache/sbin/apachectl restart: httpd started
      $ _
    
.fi