mirror of
https://github.com/apache/httpd.git
synced 2025-08-13 14:40:20 +00:00

Translated by: Nilgün Belma Bugüner <nilgun belgeler.org> Reviewed by: Orhan Berent <berent belgeler.org> git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1309552 13f79535-47bb-0310-9956-ffa450edef68
188 lines
8.5 KiB
XML
188 lines
8.5 KiB
XML
<?xml version="1.0"?>
|
||
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
|
||
<!-- English Revision: 1174747 -->
|
||
<!-- =====================================================
|
||
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.
|
||
-->
|
||
|
||
<modulesynopsis metafile="mod_so.xml.meta">
|
||
|
||
<name>mod_so</name>
|
||
<description>Modüllerin ve çalıştırılabilir kodun sunucunun başlatılması veya
|
||
yeniden başlatılması sırasında yüklenmesini sağlar.</description>
|
||
<status>Extension</status>
|
||
<sourcefile>mod_so.c</sourcefile>
|
||
<identifier>so_module</identifier>
|
||
<compatibility>Windows için bu bir temel modüldür (sunucu bunu daima içerir).</compatibility>
|
||
|
||
<summary>
|
||
|
||
<p>Seçilen işletim sistemleri üzerinde bu modül Apache HTTP Sunucusunun
|
||
yeniden derlenmesini gerektirmeden modüllerin <a href="../dso.html"
|
||
>Devingen Paylaşımlı Nesne</a> (DSO) mekanizması üzerinden
|
||
kullanılabilmesini sağlar.</p>
|
||
|
||
<p>Unix’te yüklenen kod genellikle paylaşımlı nesne dosyalarından
|
||
(<code>.so</code> uzantılı dosyalar), Windows’ta ise ya <code>.so</code>
|
||
ya da <code>.dll</code> uzantılı dosyalardan gelir.</p>
|
||
|
||
<note type="warning"><title>Uyarı</title>
|
||
<p>Apache HTTP Sunucusunun ana sürümlerinden biri (1.3, 2.0, 2.2, 2.4 gibi)
|
||
için derlenmiş modüller genelde bir diğerinde çalışmaz. Genellikle
|
||
aralarında API değişikliği sözkonusu olduğundan çalışması için modüllerde
|
||
yeni sürüme göre değişiklik yapılması gerekir.</p>
|
||
</note>
|
||
</summary>
|
||
|
||
<section id="windows">
|
||
<title>Yüklenebilir Modüllerin Windows için Oluşturulması</title>
|
||
|
||
<note><title>Bilginize</title>
|
||
<p>Windows üzeinde yüklenebilir dosyalar genelde <code>.dll</code> sonekini
|
||
alırlar. Apache httpd modülleri ise diğer platformlardaki gibi
|
||
<code>mod_filanca.so</code> biçeminde isimlendirilmektedir. Bununla
|
||
birlikte, üçüncü parti modüllerden bazılarının (PHP gibi) hala
|
||
<code>.dll</code> sonekini kullandığı görülmektedir.</p>
|
||
|
||
<p><code>mod_so</code> modülü <code>ApacheModuleFoo.dll</code> biçeminde
|
||
isimlendirilmiş modülleri hala yüklemekteyse de yeni adlandırma uzlaşımı
|
||
tercih edilmelidir. Yüklenebilir modülleri 2.0’a dönüştürüyorsanız,
|
||
lütfen isimlerini de 2.0 uzlaşımına uygun hale getiriniz.</p></note>
|
||
|
||
<p>Apache httpd modül programlama arayüzü Unix ve Windows sürümleri
|
||
arasında değişiklik göstermez. Unix için kullanılan çoğu modül hiç
|
||
değişiklik yapmadan ya da çok küçük bir değişiklikle Windows’ta da
|
||
çalışmaktadır. Çalışmayanlar Unix platformunun sahip olduğu ancak Windows
|
||
platformunun sahip olmadığı nitelikleri kullanan modüllerdir.</p>
|
||
|
||
<p>Bir modül Windows’ta çalıştığı zaman, sunucuya iki şekilde
|
||
yüklenebilir. Unix’te olduğu gibi, doğrudan sunucunun içinde
|
||
derlenebilir. Windows için hazırlanan Apache httpd paketi, Unix için
|
||
geçerli olan <code>Configure</code> betiğini içermediğinden modülün
|
||
kaynak dosyası ApacheCore proje dosyasına, sembolleri de
|
||
<code>os\win32\modules.c</code> dosyasına eklenmelidir.</p>
|
||
|
||
<p>İkinci yol ise modülü bir paylaşımlı kütüphane olarak çalışma anında
|
||
<directive module="mod_so">LoadModule</directive> yönergesi ile yüklemek
|
||
için bir DLL olarak derlemektir. Bu DLL modüller dağıtılabilir ve
|
||
sunucuyu yeniden derlemek gerekmeksizin her Windows için Apache httpd
|
||
kurulumunda çalışabilir.</p>
|
||
|
||
<p>Bir modül DLL’i oluşturmak için modülün kaynak dosyasında küçük bir
|
||
değişiklik yapmak gerekir: Modül kaydının daha sonra oluşturulacak olan
|
||
DLL’den ihraç edilebilmesi gerekir (aşağıya bakınız). Bunu yapmak için
|
||
modülün modül kaydı tanımına (Apache httpd başlık dosyalarında
|
||
tanımlanmış olan) <code>AP_MODULE_DECLARE_DATA</code> eklenmelidir.
|
||
Örneğin, modülünüz</p>
|
||
|
||
<example>
|
||
module foo_module;
|
||
</example>
|
||
|
||
<p>diye bir satır içeriyorsa bunu,</p>
|
||
|
||
<example>
|
||
module AP_MODULE_DECLARE_DATA foo_module;
|
||
</example>
|
||
|
||
<p>olarak değiştirmelisiniz. Bunun yalnız Windows üzerinde etkili olduğunu
|
||
ve Unix için modül kodunda bir değişiklik gerekmediğini unutmayınız.
|
||
Ayrıca, <code>.DEF</code> dosyaları hakkında bilgi sahibi iseniz modül
|
||
kodunda değişiklik yapmak yerine modül kaydını bu yöntemle de ihraç
|
||
edebilirsiniz.</p>
|
||
|
||
<p>Artık modülü içeren bir DLL oluşturmaya hazırsınız. Bunu, libhttpd.dll
|
||
paylaşımlı kütüphanesi derlenirken oluşturulan libhttpd.lib ihraç
|
||
kütüphanesi ile ilintilemeniz gerekecektir. Ayrıca, Apache httpd başlık
|
||
dosyalarının doğru konumlandığından emin olmak için derleyici
|
||
seçeneklerinde değişiklik yapmanız gerekebilir. Bu kütüphaneyi
|
||
sunucunuzun kök dizini altındaki <code>modules</code> dizininde
|
||
bulabilirsiniz. En iyisi derleme ortamının doğru yapılandırıldığından
|
||
emin olmak için ya ağaçta mevcut modüllerden birinin <code>.dsp</code>
|
||
dosyasını gaspedersiniz ya da kendi <code>.dsp</code> dosyanızın
|
||
ilintileme seçenekleriyle derleyicininkileri karşılaştırırsınız.</p>
|
||
|
||
<p>Artık modülünüzün DLL sürümünü oluşturmalısınız. DLL’i sunucunuzun kök
|
||
dizininin altında bulunan <code>modules</code> dizinine yerleştirdikten
|
||
sonra <directive>LoadModule</directive> yönergesi ile sunucunuza
|
||
yükleyebilirsiniz.</p>
|
||
|
||
</section>
|
||
|
||
<directivesynopsis>
|
||
<name>LoadFile</name>
|
||
<description>Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler.
|
||
</description>
|
||
<syntax>LoadFile <em>dosya-ismi</em> [<em>dosya-ismi</em>] ...</syntax>
|
||
<contextlist>
|
||
<context>server config</context>
|
||
</contextlist>
|
||
|
||
<usage>
|
||
|
||
<p><directive>LoadFile</directive> yönergesi ismi belirtilen kütüphaneleri
|
||
veya nesne dosyalarını sunucu başlatılırken veya yeniden başlatılırken
|
||
sunucu ile ilintiler. Yönerge, bazı modüllerin çalışması sırasında
|
||
gereken ek kodların yüklenmesi için kullanılır.
|
||
<code><em>dosya-ismi</em></code> olarak mutlak bir dosya yolu
|
||
belirtilebileceği gibi <directive module="core">ServerRoot</directive>’a
|
||
göreli bir dosya yolu da belirtilebilir.</p>
|
||
|
||
<p>Örnek:</p>
|
||
|
||
<example>LoadFile libexec/libxmlparse.so</example>
|
||
|
||
</usage>
|
||
</directivesynopsis>
|
||
|
||
<directivesynopsis>
|
||
<name>LoadModule</name>
|
||
<description>Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler
|
||
ve etkin modül listesine ekler.</description>
|
||
<syntax>LoadModule <em>modül dosya-ismi</em></syntax>
|
||
<contextlist>
|
||
<context>server config</context>
|
||
</contextlist>
|
||
|
||
<usage>
|
||
<p><directive>LoadModule</directive> yönergesi
|
||
<code><em>dosya-ismi</em></code> ile belirtilen nesne dosyasını veya
|
||
kütüphaneyi sunucu ile ilintiler ve etkin modül listesine belirtilen
|
||
<code><em>modül</em></code> ismiyle ekler. <code><em>modül</em></code>,
|
||
modülün kaynak dosyasında <code>module</code> türündeki tek harici
|
||
değişkenin ismi olup modül belgelerinde <a
|
||
href="module-dict.html#ModuleIdentifier" >Modül Betimleyici</a> olarak
|
||
geçer. Örneğin,</p>
|
||
|
||
<example>
|
||
LoadModule status_module modules/mod_status.so
|
||
</example>
|
||
|
||
<p>satırı ile ismi belirtilen dosya <directive
|
||
module="core">ServerRoot</directive> dizini altındaki
|
||
<code>modules</code> alt dizininden yüklenir.</p>
|
||
</usage>
|
||
|
||
</directivesynopsis>
|
||
</modulesynopsis>
|
||
|