mirror of
https://github.com/apache/httpd.git
synced 2026-01-13 21:42:17 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1495584 13f79535-47bb-0310-9956-ffa450edef68
354 lines
16 KiB
XML
354 lines
16 KiB
XML
<?xml version='1.0' encoding='UTF-8' ?>
|
||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
||
<!-- English Revision: 1174747:1494952 (outdated) -->
|
||
<!-- =====================================================
|
||
Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
|
||
Reviewed by: Orhan Berent <berent belgeler.org>
|
||
========================================================== -->
|
||
|
||
<!--
|
||
Licensed to the Apache Software Foundation (ASF) under one or more
|
||
contributor license agreements. See the NOTICE file distributed with
|
||
this work for additional information regarding copyright ownership.
|
||
The ASF licenses this file to You under the Apache License, Version 2.0
|
||
(the "License"); you may not use this file except in compliance with
|
||
the License. You may obtain a copy of the License at
|
||
|
||
http://www.apache.org/licenses/LICENSE-2.0
|
||
|
||
Unless required by applicable law or agreed to in writing, software
|
||
distributed under the License is distributed on an "AS IS" BASIS,
|
||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
See the License for the specific language governing permissions and
|
||
limitations under the License.
|
||
-->
|
||
|
||
<manualpage metafile="apxs.xml.meta">
|
||
<parentdocument href="./">Programlar</parentdocument>
|
||
|
||
<title>apxs - Apache Eklenti Aracı</title>
|
||
|
||
<summary>
|
||
<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><module>mod_so</module></strong>
|
||
modülünün <strong><directive module="mod_so"
|
||
>LoadModule</directive></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><program>httpd</program></strong> programının
|
||
<strong><module>mod_so</module></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>
|
||
|
||
<example>
|
||
$ httpd -l
|
||
</example>
|
||
|
||
<p><strong><module>mod_so</module></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>
|
||
|
||
<example>
|
||
$ 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 />
|
||
$ _
|
||
</example>
|
||
|
||
<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><module>mod_so</module></strong> belgesini okumakla yetinmeyip
|
||
<code>src/modules/standard/mod_so.c</code> kaynak dosyasını da
|
||
okuyunuz.</p>
|
||
</summary>
|
||
<seealso><program>apachectl</program></seealso>
|
||
<seealso><program>httpd</program></seealso>
|
||
|
||
<section id="synopsis"><title>Kullanım</title>
|
||
<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>v</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>
|
||
</section>
|
||
|
||
<section id="options"><title>Seçenekler</title>
|
||
<section id="options.common"><title>Ortak Seçenekler</title>
|
||
<dl>
|
||
<dt><code><strong>-n</strong> <var>modüladı</var></code></dt>
|
||
<dd><code><strong>-i</strong></code> (kurulum) ve
|
||
<code><strong>-g</strong></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>
|
||
</section>
|
||
|
||
<section id="options.query"><title>Sorgu Seçenekleri</title>
|
||
<dl>
|
||
<dt><code><strong>-q</strong> <var>sorgu</var></code></dt>
|
||
<dd><code>httpd</code>'yi derlemekte kullanılacak değişkenler ve
|
||
ortam ayarları için bir sorgu gerçekleştirir. When invoked without
|
||
<code><var>sorgu</var></code> belirtilmeksizin çağrıldığında, bilinen
|
||
değişkenleri değerleriyle birlikte basar. İsteğe bağlı
|
||
<code><strong>-v</strong></code> seçeneği liste çıktısını biçemler.
|
||
|
||
<p>Modülünüzü yükleyecek <code><strong>httpd</strong></code>'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:</p>
|
||
<example>
|
||
INC=-I`apxs -q INCLUDEDIR`
|
||
</example></dd>
|
||
</dl>
|
||
</section>
|
||
|
||
<section id="options.conf"><title>Yapılandırma Seçenekleri</title>
|
||
<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>
|
||
</section>
|
||
|
||
<section id="options.template"><title>Şablon Üretme Seçenekleri</title>
|
||
<dl>
|
||
<dt><code><strong>-g</strong></code></dt>
|
||
<dd><code><var>modüladı</var></code> (<strong><code>-n</code></strong>
|
||
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
|
||
<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>
|
||
</section>
|
||
|
||
<section id="options.dso"><title>DSO Derleme Seçenekleri</title>
|
||
<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 <code>libtool --mode=compile</code> 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 <code>libtool --mode=link</code> 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>
|
||
</section>
|
||
|
||
<section id="options.dsoinstall">
|
||
<title>DSO Kurulum ve Yapılandırma Seçenekleri</title>
|
||
<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 <directive module="mod_so">LoadModule</directive> 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><directive module="mod_so">LoadModule</directive></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>
|
||
</section>
|
||
</section>
|
||
|
||
<section id="examples"><title>Örnekler</title>
|
||
<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>
|
||
|
||
<example>
|
||
$ apxs -c mod_foo.c<br />
|
||
/dosya/yolu/libtool --mode=compile gcc ... -c mod_foo.c<br />
|
||
/dosya/yolu/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo<br />
|
||
$ _
|
||
</example>
|
||
|
||
<p>Bundan sonra, Apache yapılandırmanızın bu paylaşımlı nesneyi yüklemek
|
||
için bir <strong><directive
|
||
module="mod_so">LoadModule</directive></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>
|
||
|
||
<example>
|
||
$ apxs -i -a mod_foo.la<br />
|
||
/dosya/yolu/instdso.sh mod_foo.la /path/to/apache/modules<br />
|
||
/dosya/yolu/libtool --mode=install cp mod_foo.la /dosya/yolu/apache/modules
|
||
...
|
||
chmod 755 /dosya/yolu/apache/modules/mod_foo.so<br />
|
||
[`foo' modülü /dosya/yolu/apache/conf/httpd.conf'da etkinleştiriliyor] <br />
|
||
$ _
|
||
</example>
|
||
|
||
<p>Yapılandıma dosyasına (eğer yoksa) şu satır eklenir:</p>
|
||
|
||
<example>
|
||
LoadModule foo_module modules/mod_foo.so
|
||
</example>
|
||
|
||
<p>Bunu öntanımlı olarak iptal etmek isterseniz
|
||
<strong><code>-A</code></strong> seçeneğini kullanmanız gerekir:</p>
|
||
|
||
<example>
|
||
$ apxs -i -A mod_foo.c
|
||
</example>
|
||
|
||
<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>
|
||
|
||
<example>
|
||
$ apxs -g -n foo<br />
|
||
Creating [DIR] foo<br />
|
||
Creating [FILE] foo/Makefile<br />
|
||
Creating [FILE] foo/modules.mk<br />
|
||
Creating [FILE] foo/mod_foo.c<br />
|
||
Creating [FILE] foo/.deps<br />
|
||
$ _
|
||
</example>
|
||
|
||
<p>Ardından bu örnek modülü bir paylaşımlı nesne olarak derleyip Apache
|
||
sunucusuna yükleyebilirsiniz:</p>
|
||
|
||
<example>
|
||
$ cd foo<br />
|
||
$ make all reload<br />
|
||
apxs -c mod_foo.c<br />
|
||
/dosya/yolu/libtool --mode=compile gcc ... -c mod_foo.c<br />
|
||
/dosya/yolu/libtool --mode=link gcc ... -o mod_foo.la mod_foo.slo<br />
|
||
apxs -i -a -n "foo" mod_foo.la<br />
|
||
/dosya/yolu/instdso.sh mod_foo.la /dosya/yolu/apache/modules<br />
|
||
/dosya/yolu/libtool --mode=install cp mod_foo.la /dosya/yolu/apache/modules
|
||
...
|
||
chmod 755 /dosya/yolu/apache/modules/mod_foo.so<br />
|
||
[`foo' modülü /dosya/yolu/apache/conf/httpd.conf'ta etkinleştiriliyor]<br />
|
||
apachectl restart<br />
|
||
/dosya/yolu/apache/sbin/apachectl restart: httpd not running, trying to start<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 />
|
||
$ _
|
||
</example>
|
||
|
||
</section>
|
||
</manualpage>
|