1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
|
<?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>mod_so - 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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.js" type="text/javascript">
</script>
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body>
<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.5</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.5</a> > <a href="./">Modüller</a></div>
<div id="page-content">
<div id="preamble"><h1>Apache Modülü mod_so</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_so.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/mod/mod_so.html" title="Türkçe"> tr </a></p>
</div>
<table class="module"><tr><th><a href="module-dict.html#Description">Açıklama:</a></th><td>Modüllerin ve çalıştırılabilir kodun sunucunun başlatılması veya
yeniden başlatılması sırasında yüklenmesini sağlar.</td></tr>
<tr><th><a href="module-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr>
<tr><th><a href="module-dict.html#ModuleIdentifier">Modül Betimleyici:</a></th><td>so_module</td></tr>
<tr><th><a href="module-dict.html#SourceFile">Kaynak Dosyası:</a></th><td>mod_so.c</td></tr>
<tr><th><a href="module-dict.html#Compatibility">Uyumluluk:</a></th><td>Windows için bu bir temel modüldür (sunucu bunu daima içerir).</td></tr></table>
<h3>Özet</h3>
<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>
<div class="warning"><h3>Uyarı</h3>
<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>
</div>
</div>
<div id="quickview"><h3 class="directives">Yönergeler</h3>
<ul id="toc">
<li><img alt="" src="../images/down.gif" /> <a href="#loadfile">LoadFile</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#loadmodule">LoadModule</a></li>
</ul>
<h3>Konular</h3>
<ul id="topics">
<li><img alt="" src="../images/down.gif" /> <a href="#windows">Yüklenebilir Modüllerin Windows için Oluşturulması</a></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="windows" id="windows">Yüklenebilir Modüllerin Windows için Oluşturulması</a></h2>
<div class="note"><h3>Bilginize</h3>
<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></div>
<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
<code class="directive"><a href="#loadmodule">LoadModule</a></code> 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>
<div class="example"><p><code>
module foo_module;
</code></p></div>
<p>diye bir satır içeriyorsa bunu,</p>
<div class="example"><p><code>
module AP_MODULE_DECLARE_DATA foo_module;
</code></p></div>
<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 <code class="directive">LoadModule</code> yönergesi ile sunucunuza
yükleyebilirsiniz.</p>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="LoadFile" id="LoadFile">LoadFile</a> <a name="loadfile" id="loadfile">Yönergesi</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler.
</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LoadFile <em>dosya-ismi</em> [<em>dosya-ismi</em>] ...</code></td></tr>
<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr>
<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_so</td></tr>
</table>
<p><code class="directive">LoadFile</code> 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 <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>’a
göreli bir dosya yolu da belirtilebilir.</p>
<p>Örnek:</p>
<div class="example"><p><code>LoadFile libexec/libxmlparse.so</code></p></div>
</div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="directive-section"><h2><a name="LoadModule" id="LoadModule">LoadModule</a> <a name="loadmodule" id="loadmodule">Yönergesi</a></h2>
<table class="directive">
<tr><th><a href="directive-dict.html#Description">Açıklama:</a></th><td>Belirtilen nesne dosyasını veya kütüphaneyi sunucu ile ilintiler
ve etkin modül listesine ekler.</td></tr>
<tr><th><a href="directive-dict.html#Syntax">Sözdizimi:</a></th><td><code>LoadModule <em>modül dosya-ismi</em></code></td></tr>
<tr><th><a href="directive-dict.html#Context">Bağlam:</a></th><td>sunucu geneli</td></tr>
<tr><th><a href="directive-dict.html#Status">Durum:</a></th><td>Eklenti</td></tr>
<tr><th><a href="directive-dict.html#Module">Modül:</a></th><td>mod_so</td></tr>
</table>
<p><code class="directive">LoadModule</code> 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>
<div class="example"><p><code>
LoadModule status_module modules/mod_status.so
</code></p></div>
<p>satırı ile ismi belirtilen dosya <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code> dizini altındaki
<code>modules</code> alt dizininden yüklenir.</p>
</div>
</div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="../en/mod/mod_so.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/mod/mod_so.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="../ja/mod/mod_so.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/mod/mod_so.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/mod/mod_so.html" title="Türkçe"> tr </a></p>
</div><div id="footer">
<p class="apache">Copyright 2012 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><script type="text/javascript">
if (prettyPrint) {
prettyPrint();
}
</script>
</body></html>
|