| <?xml version="1.0"?> |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?> |
| <!-- English Revision: 1727635 --> |
| <!-- ===================================================== |
| Translated by: Nilgün Belma Bugüner <nilgun belgeler.gen.tr> |
| Reviewed by: Orhan Berent <berent belgeler.gen.tr> |
| ========================================================== --> |
| |
| <!-- |
| 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> |
| <context>virtual host</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> |
| |
| <highlight language="config"> |
| LoadFile libexec/libxmlparse.so |
| </highlight> |
| |
| </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> |
| <context>virtual host</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.</p> |
| |
| <p>Örneğin,</p> |
| |
| <highlight language="config"> |
| LoadModule status_module modules/mod_status.so |
| </highlight> |
| |
| <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> |
| |