1 .\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
2 .\" DO NOT EDIT! Generated from XML source.
3 .\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
12 .de Sp \" Vertical space (when we can't use .PP)
18 .ie \\n(.$>=3 .ne \\$3
22 .TH "APXS" 8 "2009-02-16" "Apache HTTP Sunucusu" "apxs"
25 apxs \- Apache Eklenti Aracı
30 \fBapxs\fR -\fBg\fR [ -\fBS\fR \fIisim=değer\fR ] -\fBn\fR \fImodüladı\fR
33 \fBapxs\fR -\fBq\fR [ -\fBS\fR \fIisim=değer\fR ] \fIsorgu\fR \&.\&.\&.
36 \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 ] \fIdosya\fR \&.\&.\&.
39 \fBapxs\fR -\fBi\fR [ -\fBS\fR \fIisim=değer\fR ] [ -\fBn\fR \fImodüladı\fR ] [ -\fBa\fR ] [ -\fBA\fR ] \fIdso-dosyası\fR \&.\&.\&.
42 \fBapxs\fR -\fBe\fR [ -\fBS\fR \fIisim=değer\fR ] [ -\fBn\fR \fImodüladı\fR ] [ -\fBa\fR ] [ -\fBA\fR ] \fIdso-dosyası\fR \&.\&.\&.
48 \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\&.
51 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:
60 \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:
64 $ apxs -i -a -c mod_foo\&.c
65 gcc -fpic -DSHARED_MODULE -I/dosya/yolu/apache/include -c mod_foo\&.c
66 ld -Bshareable -o mod_foo\&.so mod_foo\&.o
67 cp mod_foo\&.so /dosya/yolu/apache/modules/mod_foo\&.so
68 chmod 755 /dosya/yolu/apache/modules/mod_foo\&.so
69 [`foo' modülü /dosya/yolu/apache/etc/httpd\&.conf'ta etkinleştiriliyor]
71 /dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start
72 [Tue Mar 31 11:27:55 1998] [debug] mod_so\&.c(303): loaded module foo_module
73 /dosya/yolu/apache/sbin/apachectl restart: httpd started
79 \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\&.
82 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\&.
87 .SS "Ortak Seçenekler"
91 \fB-n\fR \fImodüladı\fR
92 -i (kurulum) ve -g (ş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\&.
94 .SS "Sorgu Seçenekleri"
99 \fBapxs\fR'in belli ayarlar hakkında bilgisine başvurmak için bir sorgu gerçekleştirir\&. \fIsorgu\fR olarak şu dizgelerden biri veya birkaçı belirtilebilir: CC, CFLAGS, CFLAGS_SHLIB, INCLUDEDIR, LD_SHLIB, LDFLAGS_SHLIB, LIBEXECDIR, LIBS_SHLIB, SBINDIR, SYSCONFDIR, TARGET\&. .PP 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: INC=-I`apxs -q INCLUDEDIR`
101 .SS "Yapılandırma Seçenekleri"
105 \fB-S\fR \fIisim=değer\fR
106 Bu seçenek yukarıda açıklanan \fBapxs\fR ayarlarını değiştirir\&.
108 .SS "Şablon Üretme Seçenekleri"
113 \fImodüladı\fR (\fB-n\fR 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 \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ı\&.
115 .SS "DSO Derleme Seçenekleri"
120 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\&.
122 \fB-o\fR \fIdso-dosyası\fR
123 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\&.
125 \fB-D\fR \fIisim=değer\fR
126 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\&.
128 \fB-I\fR \fIinclude-dizini\fR
129 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\&.
131 \fB-L\fR \fIlib-dizini\fR
132 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\&.
134 \fB-l\fR \fIkütüphane-adı\fR
135 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\&.
137 \fB-Wc\fR,\fIderleyici-seçenekleri\fR
138 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\&.
140 \fB-Wl\fR,\fIilintileyici-seçenekleri\fR
141 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\&.
143 .SS "DSO Kurulum ve Yapılandırma Seçenekleri"
148 Kurulum işlemini belirtir ve devingen olarak paylaşımlı nesneleri sunucunun \fImodules\fR dizinine kurar\&.
151 İ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\&.
154 \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\&.
157 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\&.
162 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:
166 $ apxs -c mod_foo\&.c
167 gcc -fpic -DSHARED_MODULE -I/dosya/yolu/apache/include -c mod_foo\&.c
168 ld -Bshareable -o mod_foo\&.so mod_foo\&.o
174 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:
178 $ apxs -i -a mod_foo\&.c
179 cp mod_foo\&.so /dosya/yolu/apache/modules/mod_foo\&.so
180 chmod 755 /dosya/yolu/apache/modules/mod_foo\&.so
181 [`foo' modülü /dosya/yolu/apache/etc/httpd\&.conf'da etkinleştiriliyor]
187 Yapılandıma dosyasına (eğer yoksa) şu satır eklenir:
191 LoadModule foo_module modules/mod_foo\&.so
196 Bunu öntanımlı olarak iptal etmek isterseniz \fB-A\fR seçeneğini kullanmanız gerekir:
200 $ apxs -i -A mod_foo\&.c
205 \fBapxs\fR mekanizmalarını hızlıca denemek için örnek bir Apache modül şablonunu ve bir Makefile dosyasını şöyle oluşturabilirsiniz:
211 Creating [FILE] foo/Makefile
212 Creating [FILE] foo/mod_foo\&.c
218 Ardından bu örnek modülü bir paylaşımlı nesne olarak derleyip Apache sunucusuna yükleyebilirsiniz:
225 gcc -fpic -DSHARED_MODULE -I/dosya/yolu/apache/include -c mod_foo\&.c
226 ld -Bshareable -o mod_foo\&.so mod_foo\&.o
227 apxs -i -a -n "foo" mod_foo\&.so
228 cp mod_foo\&.so /dosya/yolu/apache/modules/mod_foo\&.so
229 chmod 755 /dosya/yolu/apache/modules/mod_foo\&.so
230 [`foo' modülü /dosya/yolu/apache/etc/httpd\&.conf'ta etkinleştiriliyor]
232 /dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start
233 [Tue Mar 31 11:27:55 1998] [debug] mod_so\&.c(303): loaded module foo_module
234 /dosya/yolu/apache/sbin/apachectl restart: httpd started
240 \fBapxs\fR C kaynak dosyalarını va nesne dosyalarını özdevinimli olarak tanıdığından, \fBapxs\fR'yi PHP3 gibi karmaşık modülleri Apache kaynak ağacının dışında derlemek için de kullanabilirsiniz:
245 $ \&./configure --with-shared-apache=\&.\&./apache-1\&.3
246 $ apxs -c -o libphp3\&.so mod_php3\&.c libmodphp3-so\&.a
247 gcc -fpic -DSHARED_MODULE -I/tmp/apache/include -c mod_php3\&.c
248 ld -Bshareable -o libphp3\&.so mod_php3\&.o libmodphp3-so\&.a
254 Sadece C kaynak dosyaları derlenir ve diğer nesne dosyaları ile ilintilenir\&.