| .\" 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 |
| |