2 <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
4 <!-- English Revision: 420990:1174747 (outdated) -->
5 <!-- =====================================================
6 Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
7 Reviewed by: Orhan Berent <berent belgeler.org>
8 ========================================================== -->
11 Licensed to the Apache Software Foundation (ASF) under one or more
12 contributor license agreements. See the NOTICE file distributed with
13 this work for additional information regarding copyright ownership.
14 The ASF licenses this file to You under the Apache License, Version 2.0
15 (the "License"); you may not use this file except in compliance with
16 the License. You may obtain a copy of the License at
18 http://www.apache.org/licenses/LICENSE-2.0
20 Unless required by applicable law or agreed to in writing, software
21 distributed under the License is distributed on an "AS IS" BASIS,
22 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
23 See the License for the specific language governing permissions and
24 limitations under the License.
27 <modulesynopsis metafile="mod_so.xml.meta">
30 <description>Modüllerin ve çalıştırılabilir kodun sunucunun başlatılması veya
31 yeniden başlatılması sırasında yüklenmesini sağlar.</description>
32 <status>Extension</status>
33 <sourcefile>mod_so.c</sourcefile>
34 <identifier>so_module</identifier>
35 <compatibility>Windows için bu bir temel modüldür (sunucu bunu daima içerir).</compatibility>
39 <p>Seçilen işletim sistemleri üzerinde bu modül Apache’nin yeniden
40 derlenmesini gerektirmeden modüllerin <a href="../dso.html">Devingen
41 Paylaşımlı Nesne</a> (DSO) mekanizması üzerinden kullanılabilmesini
44 <p>Unix’te yüklenen kod genellikle paylaşımlı nesne dosyalarından
45 (<code>.so</code> uzantılı dosyalar), Windows’ta ise ya <code>.so</code>
46 ya da <code>.dll</code> uzantılı dosyalardan gelir.</p>
48 <note type="warning"><title>Uyarı</title>
49 <p>Apache 1.3 modülleri Apache 2.0’da doğrudan kullanılamazlar - modül ya
50 devingen olarak yüklenecek hale getirilmeli ya da Apache 2.0’ın içinde
55 <section id="windows">
56 <title>Yüklenebilir Modüllerin Windows için Oluşturulması</title>
58 <note><title>Bilginize</title>
59 <p>Windows için modül isimlendirme biçemi Apache 1.3.15 ve 2.0
60 sürümlerinde değişmiştir; modüllere artık mod_filanca.so biçeminde isim
63 <p><code>mod_so</code> modülü ApacheModuleFoo.dll biçeminde
64 isimlendirilmiş modülleri hala yüklemekteyse de yeni adlandırma uzlaşımı
65 tercih edilmelidir. Yüklenebilir modülleri 2.0’a dönüştürüyorsanız,
66 lütfen isimlerini de 2.0 uzlaşımına uygun hale getiriniz.</p></note>
68 <p>Apache modül programlama arayüzü Unix ve Windows sürümleri arasında
69 değişiklik göstermez. Unix için kullanılan çoğu modül hiç değişiklik
70 yapmadan ya da çok küçük bir değişiklikle Windows’ta da çalışmaktadır.
71 Çalışmayanlar Unix platformunun sahip olduğu ancak Windows platformunun
72 sahip olmadığı nitelikleri kullanan modüllerdir.</p>
74 <p>Bir modül Windows’ta çalıştığı zaman, sunucuya iki şekilde
75 yüklenebilir. Unix’te olduğu gibi, doğrudan sunucunun içinde
76 derlenebilir. Windows için hazırlanan Apache paketi, Unix için geçerli
77 olan <code>Configure</code> betiğini içermediğinden modülün kaynak
78 dosyası ApacheCore proje dosyasına, sembolleri de
79 <code>os\win32\modules.c</code> dosyasına eklenmelidir.</p>
81 <p>İkinci yol ise modülü bir paylaşımlı kütüphane olarak çalışma anında
82 <directive module="mod_so">LoadModule</directive> yönergesi ile yüklemek
83 için bir DLL olarak derlemektir. Bu DLL modüller dağıtılabilir ve
84 sunucuyu yeniden derlemek gerekmeksizin her Windows için Apache
85 kurulumunda çalışabilir.</p>
87 <p>Bir modül DLL’i oluşturmak için modülün kaynak dosyasında küçük bir
88 değişiklik yapmak gerekir: Modül kaydının daha sonra oluşturulacak olan
89 DLL’den ihraç edilebilmesi gerekir (aşağıya bakınız). Bunu yapmak için
90 modülün modül kaydı tanımına (Apache başlık dosyalarında tanımlanmış
91 olan) <code>AP_MODULE_DECLARE_DATA</code> eklenmelidir. Örneğin,
98 <p>diye bir satır içeriyorsa bunu,</p>
101 module AP_MODULE_DECLARE_DATA foo_module;
104 <p>olarak değiştirmelisiniz. Bunun yalnız Windows üzerinde etkili olduğunu
105 ve Unix için modül kodunda bir değişiklik gerekmediğini unutmayınız.
106 Ayrıca, <code>.DEF</code> dosyaları hakkında bilgi sahibi iseniz modül
107 kodunda değişiklik yapmak yerine modül kaydını bu yöntemle de ihraç
110 <p>Artık modülü içeren bir DLL oluşturmaya hazırsınız. Bunu, libhttpd.dll
111 paylaşımlı kütüphanesi derlenirken oluşturulan libhttpd.lib ihraç
112 kütüphanesi ile ilintilemeniz gerekecektir. Ayrıca, Apache başlık
113 dosyalarının doğru konumlandığından emin olmak için derleyici
114 seçeneklerinde değişiklik yapmanız gerekebilir. Bu kütüphaneyi
115 sunucunuzun kök dizini altındaki <code>modules</code> dizininde
116 bulabilirsiniz. En iyisi derleme ortamının doğru yapılandırıldığından
117 emin olmak için ya ağaçta mevcut modüllerden birinin <code>.dsp</code>
118 dosyasını gaspedersiniz ya da kendi <code>.dsp</code> dosyanızın
119 ilintileme seçenekleriyle derleyicininkileri karşılaştırırsınız.</p>
121 <p>Artık modülünüzün DLL sürümünü oluşturmalısınız. DLL’i sunucunuzun kök
122 dizininin altında bulunan <code>modules</code> dizinine yerleştirdikten
123 sonra <directive>LoadModule</directive> yönergesi ile sunucunuza
124 yükleyebilirsiniz.</p>
129 <name>LoadFile</name>
130 <description>Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler.
132 <syntax>LoadFile <em>dosya-ismi</em> [<em>dosya-ismi</em>] ...</syntax>
134 <context>server config</context>
139 <p><directive>LoadFile</directive> yönergesi ismi belirtilen kütüphaneleri
140 veya nesne dosyalarını sunucu başlatılırken veya yeniden başlatılırken
141 sunucu ile ilintiler. Yönerge, bazı modüllerin çalışması sırasında
142 gereken ek kodların yüklenmesi için kullanılır.
143 <code><em>dosya-ismi</em></code> olarak mutlak bir dosya yolu
144 belirtilebileceği gibi <directive module="core">ServerRoot</directive>’a
145 göreli bir dosya yolu da belirtilebilir.</p>
149 <example>LoadFile libexec/libxmlparse.so</example>
155 <name>LoadModule</name>
156 <description>Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler
157 ve etkin modül listesine ekler.</description>
158 <syntax>LoadModule <em>modül dosya-ismi</em></syntax>
160 <context>server config</context>
164 <p><directive>LoadModule</directive> yönergesi
165 <code><em>dosya-ismi</em></code> ile belirtilen nesne dosyasını veya
166 kütüphaneyi sunucu ile ilintiler ve etkin modül listesine belirtilen
167 <code><em>modül</em></code> ismiyle ekler. <code><em>modül</em></code>,
168 modülün kaynak dosyasında <code>module</code> türündeki tek harici
169 değişkenin ismi olup modül belgelerinde <a
170 href="module-dict.html#ModuleIdentifier" >Modül Betimleyici</a> olarak
174 LoadModule status_module modules/mod_status.so
177 <p>satırı ile ismi belirtilen dosya <directive
178 module="core">ServerRoot</directive> dizini altındaki
179 <code>modules</code> alt dizininden yüklenir.</p>