<?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>