<?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: 1070891:1430816 (outdated) -->
+<!-- English Revision: 1430816 -->
<!-- =====================================================
Translated by: Umut Samuk <umut belgeler.org>
- Reviewed by: Nilgün Belma Bugüner <nilgun belgeler.org>
+ Reviewed by: Nilgün Belma Bugüner <nilgun belgeler.gen.tr>
========================================================== -->
<!--
<manualpage metafile="auth.xml.meta">
<parentdocument href="./">Nasıllar ve Öğreticiler</parentdocument>
- <title>Kimlik Doğrulama, Yetkilendirme ve Erişim Denetimi</title>
+ <title>Kimlik Doğrulama ve Yetkilendirme</title>
<summary>
<p>Kimlik Doğrulama istediğiniz kişileri teyid etme işlemidir.
şekilde bir <directive module="core"
>AllowOverride</directive> yönergesine ihtiyacınız olacaktır:</p>
- <example>
- AllowOverride AuthConfig
- </example>
+ <highlight language="config">AllowOverride AuthConfig</highlight>
<p>Yönergeleri doğrudan ana sunucunun yapılandırma dosyasına
koyacaksanız bu dosyaya yazma izniniz olmalıdır.</p>
veya <code>httpd.conf</code> içindeki <Directory
/usr/local/apache/htdocs/secret> bölümüne koyabilirsiniz.</p>
- <example>
- AuthType Basic<br />
- AuthName "Gizli Dosyalar"<br />
- # (Aşağıdaki satırın kullanımı isteğe bağlıdır)<br />
- AuthBasicProvider file<br />
- AuthUserFile /usr/local/apache/passwd/passwords<br />
- Require user umut
- </example>
+ <highlight language="config">
+AuthType Basic
+AuthName "Gizli Dosyalar"
+# (Aşağıdaki satırın kullanımı isteğe bağlıdır)
+AuthBasicProvider file
+AuthUserFile /usr/local/apache/passwd/passwords
+Require user umut
+ </highlight>
<p>Bu yönergeleri tek tek inceleyelim.
<directive module="mod_authn_core">AuthType</directive> yönergesi
dosyasında depolama özelliğine de sahiptir. Bu amaçla,
<module>mod_authn_dbm</module> modülünün
<directive module="mod_authn_dbm">AuthDBMUserFile</directive>
- yönergesi kullanılabilir. Bu dosyalar <program>dbmmanage</program>
- programı ile oluşturulabilir ve değiştirilebilir. <a
- href="http://modules.apache.org/">Apache modülleri
+ yönergesi kullanılabilir. Bu dosyalar <program>dbmmanage</program> ve
+ <program>htdbm</program> programı ile oluşturulabilir ve değiştirilebilir.
+ <a href="http://modules.apache.org/">Apache modülleri
Veritabanı</a> içindeki üçüncü parti modüllerinde çok sayıda
başka kimlik doğrulama türü de vardır.</p>
(Yeni bir parola dosyası oluşturmak için <code>-c</code> seçeneği
kullanılır).</p>
- <p>Şimdi, <code>.htaccess</code> dosyanızı aşağıda görüldüğü şekilde
- değiştirebilirsiniz:</p>
+ <p>Şimdi, <code>.htaccess</code> dosyanızı veya
+ <directive module="core" type="section">Directory</directive> bölümünüzü
+ aşağıda görüldüğü şekilde değiştirebilirsiniz:</p>
- <example>
- AuthType Basic<br />
- AuthName "Davete Binaen"<br />
- # Satır isteğe bağlıdır:<br />
- AuthBasicProvider file<br />
- AuthUserFile /usr/local/apache/passwd/passwords<br />
- AuthGroupFile /usr/local/apache/passwd/groups<br />
- Require group Grupismi
- </example>
+ <highlight language="config">
+AuthType Basic
+AuthName "Davete Binaen"
+# Satır isteğe bağlıdır:
+AuthBasicProvider file
+AuthUserFile /usr/local/apache/passwd/passwords
+AuthGroupFile /usr/local/apache/passwd/groups
+Require group Grupismi
+ </highlight>
<p>Artık, <code>Grupismi</code> gurubunda listelenmiş ve
<code>password</code> dosyasında kaydı olan kişiye, parolayı doğru
yol daha mevcuttur. Bir gurup dosyası oluşturmaktansa, şu yönergeyi
kullanabilirsiniz:</p>
- <example>
- Require valid-user
- </example>
+ <highlight language="config">Require valid-user</highlight>
<p><code>Require user umut</code> satırı ile parola dosyasında
listelenmiş ve parolayı doğru olarak giren herhangi bir kişiye izin
vermektense, her grup için ayrı bir parola dosyası tutarak grup
- davranışını taklit edebilirsiniz. Bu yaklaşımın getirisi:
- Apache iki dosya yerine sadece bir dosyaya bakar.
- Götürüsü ise parola dosyalarından oluşan bir dosya demeti sağlamak
- ve <directive module="mod_authn_file">AuthUserFile</directive>
- yönergesinde doğru dosyayı belirtmeyi unutmamak zorunda
- kalmanızdır.</p>
+ davranışını taklit edebilirsiniz.</p>
</section>
>AuthBasicProvider</directive> file</code> yerine, <code>dbm</code>
veya <code>dbd</code> kullanabilirsiniz.</p>
- <p>Bir metin dosyası yerine bir dbd dosyası kullanım örneği:</p>
+ <p>Bir metin dosyası yerine bir dbm dosyası kullanım örneği:</p>
- <example>
- <Directory /www/docs/private><br />
- <indent>
- AuthName "Private"<br />
- AuthType Basic<br />
- AuthBasicProvider dbm<br />
- AuthDBMUserFile /www/passwords/passwd.dbm<br />
- Require valid-user<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory /www/docs/private>
+ AuthName "Private"
+ AuthType Basic
+ AuthBasicProvider dbm
+ AuthDBMUserFile /www/passwords/passwd.dbm
+ Require valid-user
+</Directory>
+ </highlight>
<p>Başka seçenekler de mümkündür. Ayrınılar için
<module>mod_authn_dbm</module> belgesine başvurun.</p>
örnekte dosya ve LDAP tabanlı kimlik doğrulama tedarikçileri bir
arada kullanılmıştır.</p>
- <example>
- <Directory /www/docs/private><br />
- <indent>
- AuthName "Private"<br />
- AuthType Basic<br />
- AuthBasicProvider file ldap<br />
- AuthUserFile /usr/local/apache/passwd/passwords<br />
- AuthLDAPURL ldap://ldaphost/o=yourorg<br />
- Require valid-user<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory /www/docs/private>
+ AuthName "Private"
+ AuthType Basic
+ AuthBasicProvider file ldap
+ AuthUserFile /usr/local/apache/passwd/passwords
+ AuthLDAPURL ldap://ldaphost/o=yourorg
+ Require valid-user
+</Directory>
+ </highlight>
<p>Bu örnekte dosya tedarikçisi, ilk olarak kullanıcının kimliğini
doğrulamaya teşebbüs edecektir. Kullanıcının kimliği
dosya için hem dosyalı hem de LDAP grup kimlik doğrulaması
kullanılmıştır.</p>
- <example>
- <Directory /www/docs/private><br />
- <indent>
- AuthName "Private"<br />
- AuthType Basic<br />
- AuthBasicProvider file<br />
- AuthUserFile /usr/local/apache/passwd/passwords<br />
+ <highlight language="config">
+<Directory /www/docs/private>
+ AuthName "Private"
+ AuthType Basic
+ AuthBasicProvider file
+ AuthUserFile /usr/local/apache/passwd/passwords
AuthLDAPURL ldap://ldaphost/o=yourorg
- AuthGroupFile /usr/local/apache/passwd/groups<br />
- Require group GroupName<br />
- Require ldap-group cn=mygroup,o=yourorg<br />
- </indent>
- </Directory>
- </example>
+ AuthGroupFile /usr/local/apache/passwd/groups
+ Require group GroupName
+ Require ldap-group cn=mygroup,o=yourorg
+</Directory>
+ </highlight>
<p>Kimlik doğrulama konusunu biraz daha genişletirsek, <directive
module="mod_authz_core" type="section">RequireAll</directive> ve
çağırılacak yetkilendirme tedarikçilerini kayda geçirir. Örneğin:
</p>
- <example>
- Require ip <var>adres</var>
- </example>
+ <highlight language="config">Require ip <var>adres</var></highlight>
<p>Burada, <var>adres</var> bir IP adresidir (veya kısmi bir IP
addresidir)</p>
- <example>
- Require host <var>alan_adı</var>
- </example>
+ <highlight language="config">Require host <var>alan_adı</var></highlight>
<p>Burada, <var>alan_adı</var> bir tam nitelikli alan adıdır
(ya da kısmi alan adıdır); gerekirse çok sayıda alan adı veya IP
tutmak istediğinizi varsayalım. Bu kişiyi uzak tutmak için şunları
yapabilirsiniz:</p>
- <example>
- <RequireAll>
- <indent>
- Require all granted<br/>
- Require not ip 10.252.46.165
- </indent>
- </RequireAll>
- </example>
+ <highlight language="config">
+<RequireAll>
+ Require all granted
+ Require not ip 10.252.46.165
+</RequireAll>
+ </highlight>
<p>Bu adresden gelen ziyaretçiler bu yönergedeki içeriği
göremeyeceklerdir. Bunun yerine, elinizde IP adresi değil de
makine adı varsa şunu kullanabilirsiniz:</p>
- <example>
- <RequireAll>
- <indent>
- Require all granted<br/>
- Require not host <var>host.example.com</var>
- </indent>
- </RequireAll>
- </example>
+ <highlight language="config">
+<RequireAll>
+ Require all granted
+ Require not host host.example.com
+</RequireAll>
+ </highlight>
<p>Eğer alan adının tamanıdan gelecek olan bütün erişimleri
engellemek isterseniz adresin ya da alan adının bir parçasını
belirtin:</p>
- <example>
- <RequireAll>
- <indent>
- Require all granted<br/>
- <RequireNone>
- <indent>
- Require ip 192.168.205<br />
- Require host phishers.example.com moreidiots.example<br />
- Require host ke
- </indent>
- </RequireNone>
- </indent>
- </RequireAll>
- </example>
-
- <p>Yukarıdaki örnekte, <directive module="mod_authz_core"
- type="section">RequireNone</directive> yönergesi içindeki
- <directive module="mod_authz_core">Require</directive>
- yönergelerinin değiştirgeleriyle hiçbir bir eşleşme olmaması
- durumunda erişime izin verilir.</p>
+ <highlight language="config">
+<RequireAll>
+ Require all granted
+ Require not ip 192.168.205
+ Require not host phishers.example.com moreidiots.example
+ Require not host ke
+</RequireAll>
+ </highlight>
+
+ <p><directive module="mod_authz_core" type="section"
+ >RequireAll</directive> yönergesini çok sayıda
+ <directive module="mod_authz_core"
+ type="section">Require</directive> yönergesi ile birlikte kullanarak,
+ sadece <code>not</code> ile olumsuzlanan tüm koşulları gerçekleyen
+ bağlantılara erişim verilir. Başka bir deyişle, olumsuzlanan koşulları
+ gerçeklemeyen bağlantıların erişimi engellenir.</p>
</section>
<?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:1379929 (outdated) -->
+<!-- English Revision: 1379929 -->
<!-- =====================================================
- Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
- Reviewed by: Orhan Berent <berent belgeler.org>
+ Translated by: Nilgün Belma Bugüner <nilgun belgeler.gen.tr>
+ Reviewed by: Orhan Berent <berent belgeler.gen.tr>
========================================================== -->
<!--
<code>.cgi</code> dosyalarına yapılan istekler hariç DNS sorguları
iptal edilmektedir:</p>
- <example>
- HostnameLookups off<br />
- <Files ~ "\.(html|cgi)$"><br />
- <indent>
- HostnameLookups on<br />
- </indent>
- </Files>
- </example>
+ <highlight language="config">
+HostnameLookups off
+<Files ~ "\.(html|cgi)$">
+ HostnameLookups on
+</Files>
+ </highlight>
<p>Yine de bazı CGI’lerin DNS isimlerine ihtiyacı olursa bu CGI’lerin
bu ihtiyaçlarına yönelik olarak <code>gethostbyname</code> çağrıları
bağın üzerinde bazı sınamalar yapmak için ek bir sistem çağrısından
başka istenen her dosya için de ayrı bir çağrı yapacaktır.</p>
- <example><title>Örnek:</title>
- DocumentRoot /siteler/htdocs<br />
- <Directory /><br />
- <indent>
- Options SymLinksIfOwnerMatch<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+DocumentRoot /siteler/htdocs
+<Directory />
+ Options SymLinksIfOwnerMatch
+</Directory>
+ </highlight>
<p>Bu durumda <code>/index.html</code> için bir istek yapıldığında
Apache, <code>/siteler</code>, <code>/siteler/htdocs</code> ve<br />
yinelenecektir. Amacınız gerçekten sembolik bağları güvenlik
açısından sınamaksa bunu şöyle yapabilirsiniz:</p>
- <example>
- DocumentRoot /siteler/htdocs<br />
- <Directory /><br />
- <indent>
- Options FollowSymLinks<br />
- </indent>
- </Directory><br />
- <br />
- <Directory /sitem/htdocs><br />
- <indent>
- Options -FollowSymLinks +SymLinksIfOwnerMatch<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+DocumentRoot /siteler/htdocs
+<Directory />
+ Options FollowSymLinks
+</Directory>
+
+<Directory /siteler/htdocs>
+ Options -FollowSymLinks +SymLinksIfOwnerMatch
+</Directory>
+ </highlight>
<p>Böylece <directive module="core">DocumentRoot</directive> altındaki
dosyalar için fazladan bir çağrı yapılmasını engellemiş olursunuz.
her dosya bileşeni için bu <code>.htaccess</code> dosyalarını açmaya
çalışacaktır.</p>
- <example><title>Örnek:</title>
- DocumentRoot /siteler/htdocs<br />
- <Directory /><br />
- <indent>
- AllowOverride all<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+DocumentRoot /siteler/htdocs
+<Directory />
+ AllowOverride all
+</Directory>
+ </highlight>
<p>Bu durumda <code>/index.html</code> sayfasına yapılan bir istek için
Apache, <code>/.htaccess</code>, <code>/siteler/.htaccess</code> ve
isterken büyük başarım kayıplarına uğrayabilirsiniz. Böyle bir
durumda sunucunun başarımını arttırmanın tek bir yolu vardır. </p>
- <example>
- DirectoryIndex index
- </example>
+ <highlight language="config">DirectoryIndex index</highlight>
<p>Yukarıdaki gibi bir dosya ismi kalıbı kullanmak yerine, aşağıdaki
gibi seçenekleri tam bir liste halinde belirtin:</p>
- <example>
- DirectoryIndex index.cgi index.pl index.shtml index.html
- </example>
+ <highlight language="config">
+DirectoryIndex index.cgi index.pl index.shtml index.html
+ </highlight>
<p>Buradaki sıralama öncelik sırasını belirler; yani,
öncelikli olmasını istediğiniz seçeneği listenin başına
vermesi nedeniyle yüksek trafiğe sahip sunucularda
<module>prefork</module> modülüne göre daha iyi bir seçimdir.</li>
+ <li><module>event</module> modülü <module>worker</module> modülü gibi
+ çok evreli bir modüldür, fakat aunı anda dahafazla isteğe yanıt
+ verecek şekilde tasarlanmıştır. Bunu, evreleri destekleyen bazı
+ işlemleri yapmamak suretiyle yeni isteklerle çalışacak ana evreleri
+ serbestleştirerek sağlar.</li>
+
<li><module>prefork</module> modülü her biri tek bir evreye sahip
çok sayıda çocuk süreç kullanımını destekler. Her süreç aynı anda
tek bir bağlantıya hizmet sunar. Çoğu sistemde daha hızlı olması
bağlantılar denenebilir. Gerçekte çalışan kod bu olmasa da meramımızı
anlatmak için kodun şöyle bir şey olduğunu varsayabiliriz:</p>
- <example>
- for (;;) {<br />
- <indent>
- for (;;) {<br />
- <indent>
- fd_set accept_fds;<br />
- <br />
- FD_ZERO (&accept_fds);<br />
- for (i = first_socket; i <= last_socket; ++i) {<br />
- <indent>
- FD_SET (i, &accept_fds);<br />
- </indent>
- }<br />
- rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);<br />
- if (rc < 1) continue;<br />
- new_connection = -1;<br />
- for (i = first_socket; i <= last_socket; ++i) {<br />
- <indent>
- if (FD_ISSET (i, &accept_fds)) {<br />
- <indent>
- new_connection = accept (i, NULL, NULL);<br />
- if (new_connection != -1) break;<br />
- </indent>
- }<br />
- </indent>
- }<br />
- if (new_connection != -1) break;<br />
- </indent>
- }<br />
- process the new_connection;<br />
- </indent>
+ <highlight language="c">
+ for (;;) {
+ for (;;) {
+ fd_set accept_fds;
+
+ FD_ZERO (&accept_fds);
+ for (i = first_socket; i <= last_socket; ++i) {
+ FD_SET (i, &accept_fds);
+ }
+ rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);
+ if (rc < 1) continue;
+ new_connection = -1;
+ for (i = first_socket; i <= last_socket; ++i) {
+ if (FD_ISSET (i, &accept_fds)) {
+ new_connection = accept (i, NULL, NULL);
+ if (new_connection != -1) break;
+ }
+ }
+ if (new_connection != -1) break;
+ }
+ process_the(new_connection);
}
- </example>
+ </highlight>
<p>Bu özet gerçeklenim bir takım açlık sorunlarına sebep olur. Bu
döngünün çalışması sırasında aynı anda çok sayıda çocuk süreç yeniden
bir iç döngüde sıraya sokmaktır. Döngü aşağıda örneklenmiştir (farklar
vurgulanmıştır):</p>
- <example>
- for (;;) {<br />
- <indent>
- <strong>accept_mutex_on ();</strong><br />
- for (;;) {<br />
- <indent>
- fd_set accept_fds;<br />
- <br />
- FD_ZERO (&accept_fds);<br />
- for (i = first_socket; i <= last_socket; ++i) {<br />
- <indent>
- FD_SET (i, &accept_fds);<br />
- </indent>
- }<br />
- rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);<br />
- if (rc < 1) continue;<br />
- new_connection = -1;<br />
- for (i = first_socket; i <= last_socket; ++i) {<br />
- <indent>
- if (FD_ISSET (i, &accept_fds)) {<br />
- <indent>
- new_connection = accept (i, NULL, NULL);<br />
- if (new_connection != -1) break;<br />
- </indent>
- }<br />
- </indent>
- }<br />
- if (new_connection != -1) break;<br />
- </indent>
- }<br />
- <strong>accept_mutex_off ();</strong><br />
- process the new_connection;<br />
- </indent>
+ <highlight language="c">
+ for (;;) {
+ <strong>accept_mutex_on ();</strong>
+ for (;;) {
+ fd_set accept_fds;
+
+ FD_ZERO (&accept_fds);
+ for (i = first_socket; i <= last_socket; ++i) {
+ FD_SET (i, &accept_fds);
+ }
+ rc = select (last_socket+1, &accept_fds, NULL, NULL, NULL);
+ if (rc < 1) continue;
+ new_connection = -1;
+ for (i = first_socket; i <= last_socket; ++i) {
+ if (FD_ISSET (i, &accept_fds)) {
+ new_connection = accept (i, NULL, NULL);
+ if (new_connection != -1) break;
+ }
+ }
+ if (new_connection != -1) break;
+ }
+ <strong>accept_mutex_off ();</strong>
+ process the new_connection;
}
- </example>
+ </highlight>
<p><code>accept_mutex_on</code> ve <code>accept_mutex_off</code> <a
id="serialize" name="serialize">işlevleri</a> bir karşılıklı red
<code>lingering_close</code> adında bir işlevle gerçekler. Bu işlev
kabaca şöyle görünür:</p>
- <example>
- void lingering_close (int s)<br />
- {<br />
- <indent>
- char junk_buffer[2048];<br />
- <br />
- /* gönderen tarafı kapat */<br />
- shutdown (s, 1);<br />
- <br />
- signal (SIGALRM, lingering_death);<br />
- alarm (30);<br />
- <br />
- for (;;) {<br />
- <indent>
- /* s'i okumak için, 2 saniyelik zaman aşımı ile seç */<br />
- select (s for reading, 2 second timeout);<br />
- /* Hata oluşmuşsa döngüden çık */<br />
- if (error) break;<br />
- /* s okumak için hazırsa */<br />
- if (s is ready for reading) {<br />
- <indent>
- if (read (s, junk_buffer, sizeof (junk_buffer)) <= 0) {<br />
- <indent>
- break;<br />
- </indent>
- }<br />
- /* geri kalan herşey burada */<br />
- </indent>
- }<br />
- </indent>
- }<br />
- <br />
- close (s);<br />
- </indent>
+ <highlight language="c">
+ void lingering_close (int s)
+ {
+ char junk_buffer[2048];
+
+ /* shutdown the sending side */
+ shutdown (s, 1);
+
+ signal (SIGALRM, lingering_death);
+ alarm (30);
+
+ for (;;) {
+ select (s for reading, 2 second timeout);
+ if (error) break;
+ if (s is ready for reading) {
+ if (read (s, junk_buffer, sizeof (junk_buffer)) <= 0) {
+ break;
+ }
+ /* just toss away whatever is here */
+ }
+ }
+
+ close (s);
}
- </example>
+ </highlight>
<p>Bağlantı sonunda bu doğal olarak biraz daha masrafa yol açar, fakat
güvenilir bir gerçeklenim için bu gereklidir. HTTP/1.1'in daha yaygın
<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
-<!-- English Revision: 1305164:1450091 (outdated) -->
+<!-- English Revision: 1450091 -->
<!-- =====================================================
- Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
- Reviewed by: Orhan Berent <berent belgeler.org>
+ Translated by: Nilgün Belma Bugüner <nilgun belgeler.gen.tr>
+ Reviewed by: Orhan Berent <berent belgeler.gen.tr>
========================================================== -->
<!--
httpd 2.1.5 ve sonrasında mevcuttur.</compatibility>
<usage>
- <p>Bu yönerge <directive>Protocol</directive> yönergesinde belirtilen
+ <p>Bu yönerge <directive module="core">Protocol</directive> yönergesinde belirtilen
protokol türüne göre bir dinleme soketinin işletim
sistemine özgü en iyilemelerini etkin kılar. İşletim sistemi çekirdeği
için temel önerme veri alınıncaya kadar veya HTTP isteğinin tamamı
gibi sunucunun baştan bir veri göndermesinin gerekli olduğu
protokoller için kullanışlıdır. Örnek:</p>
- <example>AcceptFilter nntp none</example>
+ <highlight language="config">
+ AcceptFilter nntp none
+ </highlight>
<p>Öntanımlı protokol isimleri port 443 için <code>https</code> ve tüm
diğer portlar için <code>http</code>'dir. Dinlenmesi için başka bir port
argümanını ekleyin.</p>
<p>FreeBSD için öntanımlı değerler:</p>
- <example>
- AcceptFilter http httpready <br/>
- AcceptFilter https dataready
- </example>
+ <highlight language="config">
+AcceptFilter http httpready
+AcceptFilter https dataready
+ </highlight>
<p><code>httpready</code> kabul süzgeci HTTP isteklerinin tamamını
işletim sistemi çekirdeği seviyesinde tamponlar. Çekirdek isteğin
>accf_data(9)</a> süzgeci kullanılır.</p>
<p>Linux’taki öntanımlı değerler:</p>
- <example>
- AcceptFilter http data <br/>
- AcceptFilter https data
- </example>
+ <highlight language="config">
+AcceptFilter http data
+AcceptFilter https data
+ </highlight>
<p>Linux’un <code>TCP_DEFER_ACCEPT</code> soket seçeneği HTTP isteklerinin
tamponlanmasını desteklemez. <code>none</code> dahil her değer
<p>Windows’taki öntanımlı değerler::</p>
- <example>
- AcceptFilter http data <br/>
- AcceptFilter https data
- </example>
+ <highlight language="config">
+AcceptFilter http data
+AcceptFilter https data
+ </highlight>
<p>Windows'un <code>mpm_winnt</code> modülü <code>AcceptEx()</code>
arayüzünü açıp kapamak için <code>AcceptFilter</code>'i yorumlar ve
vpn sürücüleri gibi bazı sanal ağ sağlayıcılar veya spam, virus veya
casus yazılım süzgeçleri için kullanışlıdır.</p>
</usage>
-<seealso><directive>Protocol</directive></seealso>
+<seealso><directive module="core">Protocol</directive></seealso>
</directivesynopsis>
<directivesynopsis>
<context>virtual host</context><context>directory</context>
<context>.htaccess</context></contextlist>
<override>FileInfo</override>
-<compatibility>Apache httpd 2.0.30 ve sonrasında mevcuttur.</compatibility>
<usage>
<p>Bu yönerge, istekte dosya isminden sonra (dizinde belirtilen dosya
normal olarak isteği reddederdi, böyle bir durumda bir betiği etkin
kılmak için aşağıdaki gibi bir yapılandırma kullanabilirsiniz:</p>
- <example>
- <Files "mypaths.shtml"><br />
- <indent>
- Options +Includes<br />
- SetOutputFilter INCLUDES<br />
- AcceptPathInfo On<br />
- </indent>
- </Files>
- </example>
+ <highlight language="config">
+<Files "mypaths.shtml">
+ Options +Includes
+ SetOutputFilter INCLUDES
+ AcceptPathInfo On
+</Files>
+ </highlight>
</usage>
</directivesynopsis>
işlerken önce bu dizinlerde bu yönergede belirtilmiş yapılandırma
dosyasını arar. Örnek:</p>
- <example>
- AccessFileName .acl
- </example>
+ <highlight language="config">AccessFileName .acl</highlight>
<p>Sunucu, <code>/usr/local/web/index.html</code> belgesini döndürmeden
önce,</p>
- <example>
- <Directory /><br />
- <indent>
- AllowOverride None<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory />
+ AllowOverride None
+</Directory>
+ </highlight>
<p>şeklinde bir yapılandırma ile iptal edilmiş olmadıkça yönergeler için
<code>/.acl</code>, <code>/usr/.acl</code>,
href="http://www.iana.org/assignments/character-sets">IANA’da kayıtlı
karakter kümesi değerleri</a>nden biri olmalıdır. Örnek:</p>
- <example>
- AddDefaultCharset utf-8
- </example>
+ <highlight language="config">AddDefaultCharset utf-8</highlight>
<p><directive>AddDefaultCharset</directive> yönergesi sadece, metin
kaynaklarının hepsinin aynı karakter kümesine sahip olduğu bilindiği
<default>AllowEncodedSlashes Off</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
-<compatibility>Apache httpd 2.0.46 ve sonrasında mevcuttur. NoDecode seçeneği
- Apache httpd 2.3.12 ve sonrasında mevcuttur.</compatibility>
+<compatibility>NoDecode seçeneği Apache httpd 2.3.12 ve sonrasında
+ mevcuttur.</compatibility>
<usage>
<p><directive>AllowEncodedSlashes</directive> yönergesi kodlanmış dosya
<directive module="mod_rewrite">RewriteBase</directive>,
<directive module="mod_rewrite">RewriteCond</directive>,
<directive module="mod_rewrite">RewriteRule</directive>
+ yönergelerinin, <module>mod_alias</module> modülündeki
+ <directive module="mod_alias">Redirect</directive>,
+ <directive module="mod_alias">RedirectTemp</directive>,
+ <directive module="mod_alias">RedirectPermanent</directive>,
+ <directive module="mod_alias">RedirectMatch</directive>)
yönergelerinin ve <module>mod_actions</module> modülündeki
<directive module="mod_actions">Action</directive>
yönergesinin kullanımına izin verilir.
mekanizma diğerlerinin değerlerini korumasına izin verirken belli bir
seçeneği değerini korumaya zorlayamaz.
</p></note>
+
+ <example>
+ AllowOverride Options=Indexes,MultiViews
+ </example>
</dd>
</dl>
<p>Örnek:</p>
- <example>
- AllowOverride AuthConfig Indexes
- </example>
+ <highlight language="config">AllowOverride AuthConfig Indexes</highlight>
<p>Bu örnekte <code>AuthConfig</code> ve <code>Indexes</code> grubundaki
yönergeler bir dahili sunucu hatasına yol açmayacaktır.</p>
<p>Örnek:</p>
- <example>
- AllowOverride None<br />
- AllowOverrideList Redirect RedirectMatch
- </example>
+ <highlight language="config">
+AllowOverride None
+AllowOverrideList Redirect RedirectMatch
+ </highlight>
<p>Yukarıdaki örnekte sadece <code>Redirect</code> ve
<code>RedirectMatch</code> yönergelerine izin verilmektedir. Tüm
<p>Örnek:</p>
- <example>
- AllowOverride AuthConfig<br />
- AllowOverrideList CookieTracking CookieName
- </example>
+ <highlight language="config">
+AllowOverride AuthConfig
+AllowOverrideList CookieTracking CookieName
+ </highlight>
<p>Yukarıdaki örnekte <directive module="core">AllowOverride
</directive> yönergesi <code>AuthConfig</code> yönerge grubuna izin
tam yol <directive>ServerRoot</directive> yönergesinde belirtilene
göreli olacaktır.</p>
- <example><title>Example</title>
- DefaultRuntimeDir scratch/
- </example>
+ <p><strong>Örnek</strong></p>
+ <highlight language="config">
+DefaultRuntimeDir scratch/
+ </highlight>
<p><directive>DefaultRuntimeDir</directive> için öntanımlı yer derleme
sırasında <code>DEFAULT_REL_RUNTIMEDIR</code> #define satırı ile
uyumluluğunu sağlamak için, öntanımlı bir ortam türünün olmadığını
belirten <code>none</code> değeriyle belirtilebilir. Örnek:</p>
- <example>
- DefaultType none
- </example>
+ <highlight language="config">DefaultType None</highlight>
<p><code>DefaultType None</code> sadece httpd-2.2.7 ve sonrasında
mevcuttur.</p>
ile kullanılabilir. Değişken daima küresel olarak tanımlı olup
yapılandırma bölümünü sarmalayan etki alanı ile sınırlanmaz.</p>
- <example>
- <IfDefine TEST><br/>
- Define servername test.example.com<br/>
- </IfDefine><br/>
- <IfDefine !TEST><br/>
- Define servername www.example.com<br/>
- Define SSL<br/>
- </IfDefine><br/>
- </example>
+ <highlight language="config">
+<IfDefine TEST>
+ Define servername test.example.com
+</IfDefine>
+<IfDefine !TEST>
+ Define servername www.example.com
+ Define SSL
+</IfDefine>
+DocumentRoot /var/www/${servername}/htdocs
+ </highlight>
<p><directive module="mod_rewrite">RewriteMap</directive> sözdizimi ile
karışmalardan kaçınmak için değişken isimleri ikinokta ":" karakterleri
değil, ama <code><Directory /home/*/public_html></code>
eşleşecektir. Örnek:</p>
- <example>
- <Directory /usr/local/httpd/htdocs><br />
- <indent>
- Options Indexes FollowSymLinks<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/usr/local/httpd/htdocs">
+ Options Indexes FollowSymLinks
+</Directory>
+ </highlight>
<note>
<p><var>dizin-yolu</var> argümanlarını belirtirken dikkatli
<p><code>~</code> karakterine ek olarak <glossary ref="regex">düzenli
ifadeler</glossary> de kullanılabilir. Örnek:</p>
- <example>
- <Directory ~ "^/www/.*/[0-9]{3}">
- </example>
+ <highlight language="config">
+<Directory ~ "^/www/[0-9]{3}">
+
+</Directory>
+</highlight>
<p>yönergesi <code>/www/</code> içindeki üç rakamdan oluşan dizinlerle
eşleşecektir.</p>
href="#accessfilename">.htaccess</a> dosyalarındaki yönergelere kadar
genişletilir. Örneğin,</p>
- <example>
- <Directory /><br />
- <indent>
- AllowOverride None<br />
- </indent>
- </Directory><br />
- <br />
- <Directory /home><br />
- <indent>
- AllowOverride FileInfo<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory />
+ AllowOverride None
+</Directory>
+
+<Directory "/home">
+ AllowOverride FileInfo
+</Directory>
+ </highlight>
<p>bölümleri ile <code>/home/web/dir/doc.html</code> belgesine erişirken
şu aşamalardan geçilir:</p>
değerlendirilmez. Düzenli ifadelerin tamamı yapılandırma dosyasında
görüldükleri sıraya göre sınanırlar. Örneğin,</p>
- <example>
- <Directory ~ abc$><br />
- <indent>
- # ... yönergeler burada ...<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory ~ "abc$">
+ # ... yönergeler burada ...
+</Directory>
+ </highlight>
<p>düzenli ifadeli bölümü, tüm normal <directive
type="section">Directory</directive> bölümleri ve
erişime izin vermek oluşuna dikkat ediniz. Bunu şöyle bir blokla
değiştirmeniz,</strong></p>
- <example>
- <Directory /><br />
- <indent>
- Order Deny,Allow<br />
- Deny from All<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory />
+ Require all denied
+</Directory>
+ </highlight>
<p><strong>ve erişilebilir olmasını istediğiniz dizinleri ayrıca
belirtmeniz önerilir. Daha ayrıntılı bilgi edinmek için <a
bir yönerge grubunu sarmalamakta kullanılır. Tek farkla argüman olarak
bir <glossary ref="regex">düzenli ifade</glossary> alır. Örnek:</p>
- <example>
- <DirectoryMatch "^/www/(.+/)?[0-9]{3}">
- </example>
+ <highlight language="config">
+<DirectoryMatch "^/www/(.+/)?[0-9]{3}">
+ # ...
+</DirectoryMatch>
+</highlight>
<p>yönergesi <code>/www/</code> içindeki üç rakamdan oluşan dizinlerle
eşleşecektir.</p>
benzeri bir yönerge ile eşleşmedikçe, sunucu istenen URL’deki yolu,
belge yolu haline getirmek için belge kök dizinine ekler. Örnek:</p>
- <example>
- DocumentRoot /usr/web
- </example>
+ <highlight language="config">DocumentRoot "/usr/web"</highlight>
<p>yapılandırması ile <code>http://my.example.com/index.html</code>
isteği <code>/usr/web/index.html</code> ile eşleştirilir.
<directive type="section">ElseIf</directive> bölümü uygulanmamışsa
kapsadığı yönergeleri uygular. Örneğin:</p>
- <example>
- <If "-z req('Host')"><br/>
- ...<br/>
- </If><br/>
- <Else><br/>
- ...<br/>
- </Else><br/>
- </example>
+ <highlight language="config">
+<If "-z req('Host')">
+ # ...
+</If>
+<Else>
+ # ...
+</Else>
+ </highlight>
<p>Burada, <directive type="section">If</directive> yönergesi
<var>Host:</var> başlıksız HTTP/1.0 istekleriyle eşleşirken <directive
<directive type="section">ElseIf</directive> yönergesinin uygulanmadığı
takdirde uygular. Örnek:</p>
- <example>
- <If "-R '10.1.0.0/16'"><br/>
- ...<br/>
- </If><br/>
- <ElseIf "-R '10.0.0.0/8'"><br/>
- ...<br/>
- </ElseIf><br/>
- <Else><br/>
- ...<br/>
- </Else><br/>
- </example>
+ <highlight language="config">
+<If "-R '10.1.0.0/16'">
+ #...
+</If>
+<ElseIf "-R '10.0.0.0/8'">
+ #...
+</ElseIf>
+<Else>
+ #...
+</Else>
+ </highlight>
<p><directive type="section">ElseIf</directive> bir isteğin uzak adresi
10.0.0.0/8 ağına aitse ama 10.1.0.0/16 ağına ait değilse içerdiği
yapılandırmalarında dosya teslimatında bellek eşlemlerinin kullanımını
şu şekilde iptal etmeniz gerekir:</p>
- <example>
- EnableMMAP Off
- </example>
+ <highlight language="config">EnableMMAP Off</highlight>
<p>Bu özellik, sadece NFS dosya sistemi üzerinde sunulan dosyaları
kapsamak üzere şu şekilde kolayca kapatılabilir:</p>
- <example>
- <Directory "/nfs-dosya-yolu">
- <indent>
- EnableMMAP Off
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/nfs-dosyaları-yolu">
+ EnableMMAP Off
+</Directory>
+ </highlight>
</usage>
</directivesynopsis>
<context>directory</context><context>.htaccess</context>
</contextlist>
<override>FileInfo</override>
-<compatibility>2.0.44 ve sonrasında mevcuttur. Öntanımlı değer 2.3.9 sürümünde Off olarak değişti.</compatibility>
+<compatibility>Öntanımlı değer 2.3.9 sürümünde Off olarak değişti.</compatibility>
<usage>
<p>Bu yönerge, dosya içeriğinin istemciye teslimi için
<p>Bu sorunlardan muzdarip sunucu yapılandırmaları için bu özelliği şöyle
etkin kılabilirsiniz:</p>
- <example>
- EnableSendfile On
- </example>
+ <highlight language="config">EnableSendfile On</highlight>
<p>Bu özellik, sadece bir ağ dosya sistemi üzerinde sunulan
dosyaları kapsamak üzere şu şekilde kolayca kapatılabilir:</p>
- <example>
- <Directory "/path-to-nfs-files">
- <indent>
- EnableSendfile Off
- </indent>
- </Directory>
- </example>
- <p><directive>EnableSendfile</directive> yönergesinin .htaccess ve
+ <highlight language="config">
+<Directory "/nfs-dosyaları-yolu">
+ EnableSendfile Off
+</Directory>
+ </highlight>
+
+<p><directive>EnableSendfile</directive> yönergesinin .htaccess ve
diziniçi yapılandırmalarının <module>mod_cache_disk</module> tarafından
desteklenmediğini lütfen aklınızdan çıkarmayın.
<directive>EnableSendfile</directive> yönergesinin sadece küresel
üretilmesi için kullanılabilir. Genelde kullanıldığı durum, gerekli
modüllerin yapılandırmada bulunmadığının raporlanmasıdır.</p>
- <example><title>Örnek</title>
- # mod_include yüklü değilse bilelim<br />
- <IfModule !include_module><br />
- Hata: mod_include mod_foo için gerekiyor. LoadModule ile yükleyin.<br />
- </IfModule><br />
- <br />
- # SSL veya NOSSL tanımlı mı bilelim<br />
- <IfDefine SSL><br />
- <IfDefine NOSSL><br />
- Hata: Ne SSL ne de NOSSL tanımlı. Sadece biri tanımlı olsa yeter.<br />
- </IfDefine><br />
- </IfDefine><br />
- <IfDefine !SSL><br />
- <IfDefine !NOSSL><br />
- Hata: Ya SSL ya da NOSSL tanımlı olmalı.<br />
- </IfDefine><br />
- </IfDefine><br />
- </example>
+ <highlight language="config">
+# Örnek
+# mod_include yüklü değilse bilelim
+<IfModule !include_module>
+ Error "Hata: mod_include mod_foo için gerekiyor. LoadModule ile yükleyin."
+</IfModule>
+
+# SSL veya NOSSL tanımlı mı bilelim
+<IfDefine SSL>
+<IfDefine NOSSL>
+ Error "Ne SSL ne de NOSSL tanımlı. Sadece biri tanımlı olsa yeter."
+</IfDefine>
+</IfDefine>
+<IfDefine !SSL>
+<IfDefine !NOSSL>
+ Error "Ya SSL ya da NOSSL tanımlı olmalı."
+</IfDefine>
+</IfDefine>
+ </highlight>
</usage>
</directivesynopsis>
<li>Özel bir ileti çıktılanır.</li>
- <li>Sorunu/hatayı işleyecek yerel bir <var>URL-yoluna</var> yönlendirme
- yapılır.</li>
+ <li>Sorunu/hatayı işleyecek yerel bir <var>URL-yoluna</var> dahili bir
+ yönlendirme yapılır.</li>
<li>Sorunu/hatayı işleyecek harici bir <var>URL-yoluna</var>
yönlendirme yapılır.</li>
şeklinde de belirtilebilir. Bunlar yerine, tarayıcıda gösterilmek üzere
bir ileti de belirtilebilir. Örnekler:</p>
- <example>
- ErrorDocument 500 http://hata.example.com/cgi-bin/dnmci<br />
- ErrorDocument 404 /cgi-bin/bad_urls.pl<br />
- ErrorDocument 401 /subscription_info.html<br />
- ErrorDocument 403 "Kusura bakmayın, bugün hizmet veremiyoruz."
- ErrorDocument 403 Yasak!
- </example>
+ <highlight language="config">
+ErrorDocument 500 http://foo.example.com/cgi-bin/tester
+ErrorDocument 404 /cgi-bin/bad_urls.pl
+ErrorDocument 401 /subscription_info.html
+ErrorDocument 403 "Kusura bakmayın, bugün hizmet veremiyoruz."
+ </highlight>
<p>Bunlardan başka, Apache httpd’nin kendi hata iletilerinin kullanılacağı
özel <code>default</code> değeri ile belirtilebilir. Normal şartlar
<code>default</code> değeri açıkça belirtilerek örnekteki gibi
zorlanabilir:</p>
- <example>
- ErrorDocument 404 /cgi-bin/bad_urls.pl<br /><br />
- <Directory /web/docs><br />
- <indent>
- ErrorDocument 404 default<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+ErrorDocument 404 /cgi-bin/bad_urls.pl
+
+<Directory /web/docs>
+ ErrorDocument 404 default
+</Directory>
+ </highlight>
<p><directive>ErrorDocument</directive> yönergesinde bir uzak URL (önünde
<code>http</code> bulunan bir yol) belirtildiğinde, belge aynı sunucuda
dizininin <directive module="core">ServerRoot</directive> ile
belirtilen sunucu kök dizinine göre belirtildiği varsayılır.</p>
- <example><title>Örnek</title>
- ErrorLog /var/log/httpd/error_log
- </example>
+ <highlight language="config">ErrorLog "/var/log/httpd/error_log"</highlight>
<p><var>dosya-yolu</var> bir boru imi "<code>|</code>" ile başlatıldığı
takdirde hata iletilerinin hata günlüğünü işleme sokacak komuta
borulanacağı varsayılır.</p>
- <example><title>Örnek</title>
- ErrorLog "|/usr/local/bin/httpd_errors"
- </example>
+ <highlight language="config">ErrorLog "|/usr/local/bin/httpd_errors"</highlight>
<p>Daha fazla bilgi için <a href="../logs.html#piped">borulu
günlüklere</a> bakınız.</p>
değiştirilmişse, belirtilen en son oluşum tüm sunucuyu
etkileyecektir.</p>
- <example><title>Örnek</title>
- ErrorLog syslog:user
- </example>
+ <highlight language="config">ErrorLog syslog:user</highlight>
<p>GÜVENLİK: Günlük dosyalarının saklandığı dizin, sunucuyu başlatan
kullanıcı dışındakiler tarafından yazılabilir olduğu takdirde
hata iletisine ek olarak günlüklenecek ek bilgiyi belirtmek için
kullanılabilir.</p>
- <example><title>Basit örnek</title>
- ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
- </example>
+ <highlight language="config">
+#Basit örnek
+ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M"
+ </highlight>
<p>İlk değiştirge olarak <code>connection</code> veya <code>request</code>
belirtilmesi ek biçemlerin belirtilebilmesini sağlar. Böylece, belli bir
durumunda günlük satırlarının ait olduğu bağlantı veya isteği
bağdaştırmak için kullanılabilir. <code>%L</code> biçem dizgesi ayrıca
<module>mod_log_config</module> modülünde erişim günlüğü iletilerini
- hata günlüğü iletileriyle ilşklendirmek için de kullanılabilmektedir.
+ hata günlüğü iletileriyle ilişklendirmek için de kullanılabilmektedir.
<module>mod_unique_id</module> modülü yüklüyse onun eşsiz kimliği
istekler için günlük kimliği olarak kullanılacaktır.</p>
- <example><title>Example (default format)</title>
- ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a]
- %M% ,\ referer\ %{Referer}i"
- </example>
+ <highlight language="config">
+#Örnek (Evreli MPM'ler için öntanımlı biçim)
+ErrorLogFormat "[%{u}t] [%-m:%l] [pid %P:tid %T] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
+ </highlight>
<p>Bunun hata iletilerindeki sonuçları şöyle olabilir:</p>
<p>Dikkat edin, yukarıda açıklandığı gibi, bazı alanlar
tanımlanmadıklarından tamamen yoksayılır.</p>
- <example><title>Örnek (2.2.x biçemine benzer)</title>
- ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a]
- %M% ,\ referer\ %{Referer}i"
- </example>
+ <highlight language="config">
+#Örnek (2.2.x biçimine benzer)
+ErrorLogFormat "[%t] [%l] %7F: %E: [client\ %a] %M% ,\ referer\ %{Referer}i"
+ </highlight>
- <example><title>İstek/bağlantı günlük kimlikli gelişkin bir örnek</title>
- ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"<br/>
- ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"<br/>
- ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"<br/>
- ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"<br/>
- ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"<br/>
- </example>
+ <highlight language="config">
+#İstek/bağlantı günlük kimlikli gelişkin bir örnek
+ErrorLogFormat "[%{uc}t] [%-m:%-l] [R:%L] [C:%{C}L] %7F: %E: %M"
+ErrorLogFormat request "[%{uc}t] [R:%L] Request %k on C:%{c}L pid:%P tid:%T"
+ErrorLogFormat request "[%{uc}t] [R:%L] UA:'%+{User-Agent}i'"
+ErrorLogFormat request "[%{uc}t] [R:%L] Referer:'%+{Referer}i'"
+ErrorLogFormat connection "[%{uc}t] [C:%{c}L] local\ %a remote\ %A"
+ </highlight>
</usage>
<seealso><directive module="core">ErrorLog</directive></seealso>
<dd>Dosyanın bayt cinsinden uzunluğu dahil edilir.</dd>
<dt><strong>All</strong></dt>
<dd>Olası tüm alanlar kullanılır. Bu şuna eşdeğerdir:
- <example>FileETag INode MTime Size</example></dd>
+ <highlight language="config">FileETag INode MTime Size</highlight></dd>
<dt><strong>None</strong></dt>
<dd>Bir belge dosyasıyla sunulsa bile yanıta hiçbir <code>ETag</code>
alanı dahil edilmez.</dd>
<p><var>dosya-adı</var> argümanının bir dosya ismi veya bir dosya ismi
kalıbı içermesi gerekir. Bir dosya ismi kalıbındaki her <code>?</code>
imi bir karakterle eşleştirilirken <code>*</code> imi karakter dizileri
- ile eşleştirilir. <code>~</code> imine ek olarak <glossary
+ ile eşleştirilir.</p>
+
+ <highlight language="config">
+<Files "zat.html">
+ # zat.html dosyasına uygulanacakları buraya koy
+</Files>
+
+<Files "?at.*">
+ # Buradakiler hat.html, kat.html, tat.html ve benzerlerine uygulanır.
+</Files>
+</highlight>
+
+ <p><code>~</code> imine ek olarak <glossary
ref="regex">düzenli ifadeler</glossary> de kullanılabilir. Örneğin</p>
- <example>
- <Files ~ "\.(gif|jpe?g|png)$">
- </example>
+ <highlight language="config">
+<Files ~ "\.(gif|jpe?g|png)$">
+ #...
+</Files>
+</highlight>
<p>satırı en bilinen resim dosyası biçimleriyle eşleşecektir. Bunun
yerine <directive module="core" type="section">FilesMatch</directive>
isimlerine göre sınırlandırır. Ancak, argüman olarak bir <glossary
ref="regex">düzenli ifade</glossary> kabul eder. Örneğin</p>
- <example>
- <FilesMatch "\.(gif|jpe?g|png)$">
- </example>
+<highlight language="config">
+<FilesMatch "\.(gif|jpe?g|png)$">
+ # ...
+</FilesMatch>
+</highlight>
<p>satırı en bilinen resim dosyası biçimleriyle eşleşecektir.</p>
</usage>
<code>.gif</code> uzantısı belirtmek istemiyorsanız şu yapılandırmayı
kullanabilirsiniz:</p>
- <example>
- ForceType image/gif
- </example>
+ <highlight language="config">ForceType image/gif</highlight>
<p>Bu yönerge, <directive module="mod_mime">AddType</directive> yönergesi
üzerinden ve <code>mime.types</code> dosyasında örtük olarak
<p>Ayrıca, daha genel <directive>ForceType</directive> ayarlarını da
<code>None</code> değeriyle geçersiz kılabilirsiniz:</p>
- <example>
- # tüm dosyaların image/gif olarak sunulması için:<br />
- <Location /images><br />
- <indent>
- ForceType image/gif<br />
- </indent>
- </Location><br />
- <br />
- # normal MIME-türüne geri dönmek için:<br />
- <Location /images/mixed><br />
- <indent>
- ForceType None<br />
- </indent>
- </Location>
- </example>
+ <highlight language="config">
+# tüm dosyaların image/gif olarak sunulması için:
+<Location /images>
+ ForceType image/gif
+</Location>
+
+# normal MIME-türüne geri dönmek için:
+<Location /images/mixed>
+ ForceType None
+</Location>
+ </highlight>
+
<p>Bu yönerge, öncelikle dosya sisteminden sunulan duruk dosyalar için
üretilen içerik türlerini geçersiz kılar. Duruk dosyaların haricindeki
özkaynaklar için yanıt üretecinin genelde bir <code>Content-Type</code>
anında değerlendirir ve ifadenin sonucu doğru olduğu takdirde içerdiği
yönergeleri uygular. Örnek:</p>
- <example>
- <If "-z req('Host')">
- </example>
+ <highlight language="config"><If "-z req('Host')"></highlight>
<p>Bir <var>Host:</var> başlığı içermeyen HTTP/1.0 istekleriyle
eşleşir. İfadeler, dizge karşılaştırması (<code>=</code>,
<code>-z</code>, <code>-f</code>, ...) için kabuktakilere benzer çeşitli
işleçler içerebilir. Ayrıca, düzenli ifadeleri,</p>
- <example>
- <If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/">
- </example>
+ <highlight language="config"><If "%{QUERY_STRING} =~ /(delete|commit)=.*?elem/"></highlight>
<p>kabuk tarzı kalıp eşleştirme ve birçok başka işlemi kullanmak da
mümkündür. Bu işlemler istek başlıklarında (<code>req</code>), ortam
olabilir, dolayısıyla çok parametreli basit sınamalar gerçeklenebilir.
Örnek:</p>
- <example>
- httpd -DReverseProxy -DUseCache -DMemCache ...<br />
- <br />
- # httpd.conf<br />
- <IfDefine ReverseProxy><br />
- <indent>
- LoadModule proxy_module modules/mod_proxy.so<br />
- LoadModule proxy_http_module modules/mod_proxy_http.so<br />
- <IfDefine UseCache><br />
- <indent>
- LoadModule cache_module modules/mod_cache.so<br />
- <IfDefine MemCache><br />
- <indent>
- LoadModule mem_cache_module modules/mod_mem_cache.so<br />
- </indent>
- </IfDefine><br />
- <IfDefine !MemCache><br />
- <indent>
- LoadModule cache_disk_module modules/mod_cache_disk.so<br />
- </indent>
- </IfDefine>
- </indent>
- </IfDefine>
- </indent>
- </IfDefine>
- </example>
+ <example>httpd -DReverseProxy -DUseCache -DMemCache ...</example>
+ <highlight language="config">
+<IfDefine ReverseProxy>
+ LoadModule proxy_module modules/mod_proxy.so
+ LoadModule proxy_http_module modules/mod_proxy_http.so
+ <IfDefine UseCache>
+ LoadModule cache_module modules/mod_cache.so
+ <IfDefine MemCache>
+ LoadModule mem_cache_module modules/mod_mem_cache.so
+ </IfDefine>
+ <IfDefine !MemCache>
+ LoadModule cache_disk_module modules/mod_cache_disk.so
+ </IfDefine>
+ </IfDefine>
+</IfDefine>
+ </highlight>
</usage>
</directivesynopsis>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context>
</contextlist>
-<compatibility>Dosya kalıbıyla eşleşme 2.0.41 ve sonrasında, dizin kalıbıyla
- eşleşme ise 2.3.6 ve sonrasında mevcuttur.</compatibility>
+<compatibility>Dizin kalıbıyla eşleşme ise 2.3.6 ve sonrasında mevcuttur.</compatibility>
<usage>
<p>Bu yönerge sunucu yapılandırma dosyalarının başka dosyaları içermesini
<p>Örnekler:</p>
- <example>
- Include /usr/local/apache2/conf/ssl.conf<br />
- Include /usr/local/apache2/conf/vhosts/*.conf
- </example>
+ <highlight language="config">
+Include /usr/local/apache2/conf/ssl.conf
+Include /usr/local/apache2/conf/vhosts/*.conf
+ </highlight>
<p>Veya dizinler <directive module="core">ServerRoot</directive> dizinine
göre belirtilebilir:</p>
- <example>
- Include conf/ssl.conf<br />
- Include conf/vhosts/*.conf
- </example>
+ <highlight language="config">
+Include conf/ssl.conf
+Include conf/vhosts/*.conf
+ </highlight>
<p>Dosya kalıbı karakterleri yolun dizin ve dosya parçalarına
yerleştirilebilir. <code>conf/vhosts</code> altında en azından bir
<code>*.conf</code> içeren hiçbir alt dizin yoksa bu örnek başarısız
olacaktır:</p>
- <example>
- Include conf/vhosts/*/*.conf
- </example>
+ <highlight language="config">Include conf/vhosts/*/*.conf</highlight>
<p>Bunun yerine, dizin ve dosyaların eksikliği durumunda aşağıdaki komut
sadece yoksayılır:</p>
- <example>
- IncludeOptional conf/vhosts/*/*.conf
- </example>
+ <highlight language="config">IncludeOptional conf/vhosts/*/*.conf</highlight>
</usage>
<seealso><directive module="core">IncludeOptional</directive></seealso>
<code>POST</code>, <code>PUT</code> ve <code>DELETE</code> yöntemleri
için uygulanmakta, diğer tüm yöntemler korumasız bırakılmaktadır:</p>
- <example>
- <Limit POST PUT DELETE><br />
- <indent>
- Require valid-user<br />
- </indent>
- </Limit>
- </example>
+ <highlight language="config">
+<Limit POST PUT DELETE>
+ Require valid-user
+</Limit>
+ </highlight>
<p>Birden fazla bölümde kullanılabilecek yöntem isimleri: <code>GET</code>,
<code>POST</code>, <code>PUT</code>, <code>DELETE</code>,
<code>POST</code> istekleri için yetkilendirilecek ve tüm durumlarda
<code>Require group editors</code> yönergesi yoksayılacaktır:</p>
- <example>
- <LimitExcept GET>
- <indent>
- Require valid-user
- </indent>
- </LimitExcept><br />
- <Limit POST>
- <indent>
- Require group editors
- </indent>
- </Limit>
- </example>
+ <highlight language="config">
+<LimitExcept GET>
+ Require valid-user
+</LimitExcept>
+<Limit POST>
+ Require group editors
+</Limit>
+ </highlight>
</usage>
</directivesynopsis>
<p>Örnek:</p>
- <example>
- <LimitExcept POST GET><br />
- <indent>
- Require valid-user<br />
- </indent>
- </LimitExcept>
- </example>
+ <highlight language="config">
+<LimitExcept POST GET>
+ Require valid-user
+</LimitExcept>
+ </highlight>
</usage>
</directivesynopsis>
<default>LimitInternalRecursion 10</default>
<contextlist><context>server config</context><context>virtual host</context>
</contextlist>
-<compatibility>Apache httpd 2.0.47 ve sonrasında mevcuttur.</compatibility>
<usage>
<p>Örneğin, özgün istekleri dahili olarak bir CGI betiğine yönlendiren
<var>sayı</var> belirtilirse iki sınırlama için de aynı değer
kullanılır.</p>
- <example><title>Örnek</title>
- LimitInternalRecursion 5
- </example>
+ <highlight language="config">LimitInternalRecursion 5</highlight>
</usage>
</directivesynopsis>
yüklenebilecek dosya boyutunu 100 kB ile sınırlamak isterseniz yönergeyi
şöyle kullanabilirsiniz:</p>
- <example>
- LimitRequestBody 102400
- </example>
+ <highlight language="config">LimitRequestBody 102400</highlight>
<note><p>Bu yönergenin vekil istekleri tarafından nasıl yorumlandığı
<module>mod_proxy</module> belgesinde ayrıntılı olarak
<p>Örnek:</p>
- <example>
- LimitRequestFields 50
- </example>
+ <highlight language="config">LimitRequestFields 50</highlight>
<note type="warning"><title>Uyarı</title>
<p>İsme dayalı sanal konaklar kullanıldığında, bu yönergenin değeri,
<p>Örnek:</p>
- <example>
- LimitRequestFieldSize 4094
- </example>
+ <highlight language="config">LimitRequestFieldSize 4094</highlight>
<note>Normal şartlar altında öntanımlı değer değiştirilmemelidir. Ayrıca,
kaynak kodu değiştirip yeniden derlemeden bu değeri 8190'dan büyük
<p>Örnek:</p>
- <example>
- LimitRequestLine 4094
- </example>
+ <highlight language="config">LimitRequestLine 4094</highlight>
<note>Normal şartlar altında öntanımlı değer değiştirilmemelidir. Ayrıca,
kaynak kodu değiştirip yeniden derlemeden bu değeri 8190'dan büyük
<p>Örnek:</p>
- <example>
- LimitXMLRequestBody 0
- </example>
+ <highlight language="config">LimitXMLRequestBody 0</highlight>
</usage>
</directivesynopsis>
<code>/private1/file.txt</code> istekleri için sarmalanan yönergeler
uygulanacaktır, fakat <code>/private1other</code> isteğine
uygulanmayacaktır.</p>
- <example>
- <Location /private1>
- ...
- </example>
+
+ <highlight language="config">
+<Location /private1>
+ # ...
+</Location>
+ </highlight>
+
<p>Aşağıdaki örnekte yer belirtimi bir bölü çizgisi ile bitirilmiştir.
<code>/private2/</code> ve <code>/private2/file.txt</code> istekleri
için sarmalanan yönergeler uygulanacaktır, fakat <code>/private2</code>
ve <code>/private2other</code> isteklerine uygulanmayacaktır.</p>
- <example>
- <Location /private2<em>/</em>>
- ...
- </example>
+
+ <highlight language="config">
+<Location /private2<em>/</em>>
+ # ...
+</Location>
+ </highlight>
<note><title><directive type="section">Location</directive> ne zaman
kullanılmalı</title>
<glossary ref="regex">düzenli ifadeler</glossary> de kullanılabilir.
Örneğin,</p>
- <example>
- <Location ~ "/(ek|hususi)/veri">
- </example>
+ <highlight language="config">
+<Location ~ "/(ek|hususi)/veri">
+ #...
+</Location>
+</highlight>
<p>yönergesi <code>/ek/veri</code> ve <code>/hususi/veri</code> alt
dizgeleriyle eşleşecektir. <directive type="section"
<code>example.com</code>’dan gelen isteklere izin vermek için şöyle bir
uygulama yapabilirsiniz:</p>
- <example>
- <Location /status><br />
- <indent>
- SetHandler server-status<br />
- Require host example.com<br />
- </indent>
- </Location>
- </example>
+ <highlight language="config">
+<Location /status>
+ SetHandler server-status
+ Require host example.com
+</Location>
+ </highlight>
<note><title>/ (bölü çizgisi) hakkında</title>
<p>Bölü çizgisinin URL içinde bulunduğu yere bağlı olarak özel anlamları
sınırlar. Ancak argüman olarak basit bir dizge değil bir <glossary
ref="regex">düzenli ifade</glossary> alır. Örneğin,</p>
- <example>
- <LocationMatch "/(ek|hususi)/veri">
- </example>
+ <highlight language="config">
+<LocationMatch "/(ek|hususi)/veri">
+ # ...
+</LocationMatch>
+</highlight>
<p>yönergesi <code>/ek/veri</code> ve <code>/hususi/veri</code> alt
dizgeleriyle eşleşecektir.</p>
<p>Örnek:</p>
- <example>
- LogLevel notice
- </example>
+ <highlight language="config">LogLevel notice</highlight>
+
<note><title>Ek Bilgi</title>
<p>Günlük iletileri normal bir dosyaya yazılırken <code>notice</code>
<code>_module</code> sonekli modül ismi belirtmek mümkündür.
Yani, aşağıdaki üç belirtim eşdeğerdedir:</p>
- <example>
- LogLevel info ssl:warn<br />
- LogLevel info mod_ssl.c:warn<br />
- LogLevel info ssl_module:warn<br />
- </example>
+ <highlight language="config">
+LogLevel info ssl:warn
+LogLevel info mod_ssl.c:warn
+LogLevel info ssl_module:warn
+ </highlight>
<p>Ayrıca seviyeyi dizin bağlamında değiştirmek de mümkündür:</p>
- <example>
- LogLevel info<br />
- <Directory /usr/local/apache/htdocs/app><br />
- LogLevel debug<br />
- </Files>
- </example>
+ <highlight language="config">
+LogLevel info
+<Directory "/usr/local/apache/htdocs/app">
+ LogLevel debug
+</Directory>
+ </highlight>
<note>Dizin bağlamında günük seviyesi yapılandırması sadece istek
çözümlendikten ve istek dizinle ilişkilendirildikten sonra günlüklenen
- iletileri etkiler. Bağlantı veya sunucu ile ilişklendirilmemiş günlük
+ iletileri etkiler. Bağlantı veya sunucu ile ilişkilendirilmemiş günlük
iletileri etkilenmez.</note>
</usage>
+<seealso><directive module="core">ErrorLog</directive></seealso>
+<seealso><directive module="core">ErrorLogFormat</directive></seealso>
+<seealso><a href="../logs.html">Apache HTTP Server Log Files</a></seealso>
</directivesynopsis>
<directivesynopsis>
<p>Örnek:</p>
- <example>
- MaxKeepAliveRequests 500
- </example>
+ <highlight language="config">MaxKeepAliveRequests 500</highlight>
</usage>
</directivesynopsis>
öntanımlı mekanizması ise <code>sysvsem</code> ile
değiştirilmektedir.</p>
- <example>
- Mutex sysvsem default<br />
- Mutex fcntl:/var/httpd/locks mpm-accept
- </example>
+ <highlight language="config">
+Mutex sysvsem default
+Mutex fcntl:/var/httpd/locks mpm-accept
+ </highlight>
</usage>
</directivesynopsis>
<p>Sembolik bağlar izlense bile <directive type="section"
module="core">Directory</directive> bölümleriyle eşleşen dosya yolları
değiştirilmez.</p>
- <p>Ayrıca, bu seçenek bir <directive type="section" module="core"
- >Location</directive> bölümü içinde belirtildiği takdirde <strong>yok
- sayılır</strong>.</p>
+ <p><code>FollowSymLinks</code> ve
+ <code>SymLinksIfOwnerMatch</code> <directive
+ module="core">Options</directive> sadece <directive
+ type="section" module="core">Directory</directive> bölümlerinde veya
+ <code>.htaccess</code> dosyaları içinde çalışır.</p>
<p>Sembolik bağ sınamaları, atlatılabilir yarış koşullarına konu
olduğundan bu seçeneğin yokluğu bir güvenlik sınırlaması olarak
değerlendirilmemelidir.</p>
<dd>Sunucu sembolik bağları sadece sembolik bağın hedefi ile bulunduğu
dizinin sahibinin aynı kullanıcı olması halinde izleyecektir.
- <note><title>Ek Bilgi</title> <p>Bu seçenek bir <directive module="core"
- type="section">Location</directive> bölümü içinde belirtildiğinde yok
- sayılır.</p>
+ <p><code>FollowSymLinks</code> ve
+ <code>SymLinksIfOwnerMatch</code> <directive
+ module="core">Options</directive> sadece <directive
+ type="section" module="core">Directory</directive> bölümlerinde veya
+ <code>.htaccess</code> dosyaları içinde çalışır.</p>
+
<p>Sembolik bağ sınamaları, atlatılabilir yarış koşullarına konu
olduğundan bu seçenek bir güvenlik sınırlaması olarak
- değerlendirilmemelidir.</p></note>
+ değerlendirilmemelidir.</p>
</dd>
</dl>
<p>Örneğin, <code>+</code> ve <code>-</code> imleri olmaksızın,</p>
- <example>
- <Directory /web/docs><br />
- <indent>
- Options Indexes FollowSymLinks<br />
- </indent>
- </Directory><br />
- <br />
- <Directory /web/docs/spec><br />
- <indent>
- Options Includes<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/web/docs">
+ Options Indexes FollowSymLinks
+</Directory>
+
+<Directory "/web/docs/spec">
+ Options Includes
+</Directory>
+ </highlight>
<p>yapılandırmasıyla <code>/web/docs/spec</code> dizininde sadece
<code>Includes</code> seçeneği etkin olacaktır. Bununla birlikte, ikinci
<directive>Options</directive> yönergesinde <code>+</code> ve
<code>-</code> imleri kullanılırsa,</p>
- <example>
- <Directory /web/docs><br />
- <indent>
- Options Indexes FollowSymLinks<br />
- </indent>
- </Directory><br />
- <br />
- <Directory /web/docs/spec><br />
- <indent>
- Options +Includes -Indexes<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/web/docs">
+ Options Indexes FollowSymLinks
+</Directory>
+
+<Directory "/web/docs/spec">
+ Options +Includes -Indexes
+</Directory>
+ </highlight>
<p>yapılandırmasıyla <code>/web/docs/spec</code> dizininde
<code>FollowSymLinks</code> ve <code>Includes</code> seçenekleri etkin
<p>Örneğin, <code>https</code>'i standartdışı bir portta çalıştırmak
isterseniz protokolü şöyle belirtebilirsiniz:</p>
- <example>
- Protocol https
- </example>
+ <highlight language="config">Protocol https</highlight>
<p>Protokolü <directive module="mpm_common">Listen</directive> yönergesini
kullanarak da belirtebilirsiniz.</p>
</usage>
<seealso><directive>AcceptFilter</directive></seealso>
+<seealso><directive module="core">AcceptFilter</directive></seealso>
<seealso><directive module="mpm_common">Listen</directive></seealso>
</directivesynopsis>
<contextlist><context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context></contextlist>
<override>FileInfo</override>
-<compatibility>Sadece Win32 için; <code>Registry-Strict</code> seçeneği Apache
-HTTP Sunucusunun 2.0 ve sonraki sürümleri için geçerlidir.</compatibility>
+<compatibility>Sadece Win32 için.</compatibility>
<usage>
<p>Bu yönerge Apache httpd’nin CGI betiklerini çalıştıracak yorumlayıcıyı
kullanacağını belirtir. Win32 sistemlerinde bu satır genellikle
şöyledir:</p>
- <example>
- #!C:/Perl/bin/perl.exe
- </example>
+ <highlight language="perl">#!C:/Perl/bin/perl.exe</highlight>
<p><code>perl</code> yorumlayıcının yeri <code>PATH</code> değişkeninde
kayıtlı ise şöyle de olabilir:</p>
- <example>
- #!perl
- </example>
+ <highlight language="perl">#!perl</highlight>
<p><code>ScriptInterpreterSource Registry</code> değeri ise betik dosyası
uzantısının (<code>.pl</code> gibi) Windows Sicili içindeki
burada belirtilecek adresin sırf bu işe adanmış bir adres olması daha
iyidir. Örnek:</p>
- <example>
- ServerAdmin www-admin@example.com
- </example>
+ <highlight language="config">ServerAdmin www-admin@foo.example.com</highlight>
</usage>
</directivesynopsis>
belirtebilmeyi sağlar. <directive>ServerAlias</directive> dosya adı kalıp
karakterleri içerebilir.</p>
- <example>
- <VirtualHost *:80><br />
- <indent>
- ServerName server.example.com<br />
- ServerAlias server server2.example.com server2<br />
- ServerAlias *.example.com<br />
- UseCanonicalName Off<br />
- # ...<br />
- </indent>
- </VirtualHost>
- </example>
+ <highlight language="config">
+<VirtualHost *:80>
+ ServerName server.example.com
+ ServerAlias server server2.example.com server2
+ ServerAlias *.example.com
+ UseCanonicalName Off
+ # ...
+</VirtualHost>
+ </highlight>
<p>İsme dayalı sanal konaklardan en iyi eşleşme kümesinde olanlar
yapılandırmada göründükleri sıraya göre işleme sokulur. Joker
>ServerAlias</directive> yönergesi eşleşen ilk sanal konak
kullanılır.</p>
+ <p><directive>VirtualHost</directive> bölümü içindeki isimlerin sırası
+ (jokersiz) <directive>ServerAlias</directive> yönergesindeki gibi ele
+ alınır.</p>
+
</usage>
<seealso><directive module="core">UseCanonicalName</directive></seealso>
<seealso><a href="../vhosts/">Apache HTTP Sunucusu Sanal Konak Belgeleri</a></seealso>
DNS rumuzu varsa ve HTTP sunucunuzun bu rumuzla kendini
özdeşleştirmesini isterseniz bunu şöyle belirtebilirsiniz:</p>
- <example>
- ServerName www.example.com
- </example>
+ <highlight language="config">ServerName www.example.com</highlight>
<p><directive>ServerName</directive> yönergesi sunucu tanımının içinde
herhangi bir yerde görünebilirse de her göründüğü yerde bir öncekini
module="mod_so">LoadModule</directive> gibi diğer yapılandırma
yönergelerindeki göreli yollar bu dizine göre ele alınır.</p>
- <example><title>Örnek</title>
- ServerRoot /home/httpd
- </example>
+ <highlight language="config">ServerRoot "/home/httpd"</highlight>
<p><directive>ServerRoot</directive> için öntanımlı yer <a
href="../programs/configure.html"><code>configure</code></a> betiğinin
<dl>
<dt><code>ServerTokens Full</code> (veya belirtilmezse)</dt>
- <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: Apache/2.4.1
+ <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: Apache/2.4.2
(Unix) PHP/4.2.2 MyMod/1.2</code></dd>
<dt><code>ServerTokens Prod[uctOnly]</code></dt>
<dt><code>ServerTokens Min[imal]</code></dt>
<dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server:
- Apache/2.4.1</code></dd>
+ Apache/2.4.2</code></dd>
<dt><code>ServerTokens OS</code></dt>
- <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: Apache/2.4.1
+ <dd>Sunucu şunu gönderir (<em>örnek</em>): <code>Server: Apache/2.4.2
(Unix)</code></dd>
</dl>
içindeki bir <code>.htaccess</code> dosyasına şöyle bir satır
koyabilirsiniz:</p>
- <example>
- SetHandler imap-file
- </example>
+ <highlight language="config">SetHandler imap-file</highlight>
<p>Başka bir örnek: <code>http://localhost/status</code> gibi bir istek
yapıldığında sunucunun bir durum bilgisi göstermesi için
<code>httpd.conf</code> dosyasına şöyle bir satır koyabilirsiniz:</p>
- <example>
- <Location /status><br />
- <indent>
- SetHandler server-status<br />
- </indent>
- </Location>
- </example>
+ <highlight language="config">
+<Location "/status">
+ SetHandler server-status
+</Location>
+ </highlight>
+
+ <p>Bu yönergeyi ayrıca, belli bir dosya uzantısına sahip dosyalara uygun
+ bir eylemci atamak için de kullanabilirsiniz. örnek:</p>
+
+ <highlight language="config">
+<FilesMatch \.php$>
+ SetHandler application/x-httpd-php
+</FilesMatch>
+ </highlight>
- <p>Evvelce tanımlanmış bir <directive>SetHandler</directive> yönergesini
+ <p>Evvelce tanımlanmış bir <directive>SetHandler</directive> yönergesini
<code>None</code> değeriyle geçersiz hale getirebilirsiniz.</p>
<note><title>Bilgi</title>
<p>Örneğin, aşağıdaki yapılandırma ile <code>/www/data/</code> dizinindeki
bütün dosyalar sunucu taraflı içerik kapsamında ele alınacaktır.</p>
- <example>
- <Directory /www/data/><br />
- <indent>
- SetOutputFilter INCLUDES<br />
- </indent>
- </Directory>
- </example>
+ <highlight language="config">
+<Directory "/www/data/">
+ SetOutputFilter INCLUDES
+</Directory>
+ </highlight>
<p>Birden fazla süzgeç belirtilmek istenirse birbirlerinden noktalı
virgüllerle ayrılmalı ve çıktıyı işleyecekleri sıraya uygun olarak
<default>TraceEnable on</default>
<contextlist><context>server config</context>
<context>virtual host</context></contextlist>
-<compatibility>Apache HTTP Sunucusunun 1.3.34, 2.0.55 ve sonraki sürümlerinde
- kuallanılabilir.</compatibility>
<usage>
<p>Bu yönerge çekirdek ve vekil (<module>mod_proxy</module>) sunucuların
<code>http://www.example.com/splat/</code> adresine yönlendirecektir.
Eğer kimlik doğrulama da etkinse bu kullanıcının iki defa kimlik
doğrulamasına sokulmasına sebep olacaktır (bir kere <code>www</code>
- için bir kere de <code>www.example.com</code> için; daha fazla bilgi için
- <a href="http://httpd.apache.org/docs/misc/FAQ.html#prompted-twice"
+ için bir kere de <code>www.example.com</code> için; daha fazla bilgi için <a
+ href="http://wiki.apache.org/httpd/FAQ#Why_does_Apache_ask_for_my_password_twice_before_serving_a_file.3F"
>SSS</a>’ye bakınız). Fakat <directive>UseCanonicalName Off</directive>
olsaydı Apache httpd isteği <code>http://www/splat/</code> adresine
yönlendirecekti.</p>
dizgesi.</li>
</ul>
- <example><title>Örnek</title>
- <VirtualHost 10.1.2.3:80><br />
- <indent>
- ServerAdmin webmaster@host.example.com<br />
- DocumentRoot /www/docs/host.example.com<br />
- ServerName host.example.com<br />
- ErrorLog logs/host.example.com-error_log<br />
- TransferLog logs/host.example.com-access_log<br />
- </indent>
- </VirtualHost>
- </example>
+ <highlight language="config">
+<VirtualHost 10.1.2.3:80>
+ ServerAdmin webmaster@host.example.com
+ DocumentRoot /www/docs/host.example.com
+ ServerName host.example.com
+ ErrorLog logs/host.example.com-error_log
+ TransferLog logs/host.example.com-access_log
+</VirtualHost>
+ </highlight>
<p>İsteğe bağlı port numarasını belirtmeyi mümkün kılmak için IPv6
adresleri köşeli ayraç içine alınır. IPv6 adresi kullanılan bir
örnek:</p>
- <example>
- <VirtualHost [2001:db8::a00:20ff:fea7:ccea]><br />
- <indent>
- ServerAdmin webmaster@host.example.com<br />
- DocumentRoot /www/docs/host.example.com<br />
- ServerName host.example.com<br />
- ErrorLog logs/host.example.com-error_log<br />
- TransferLog logs/host.example.com-access_log<br />
- </indent>
- </VirtualHost>
- </example>
+ <highlight language="config">
+<VirtualHost [2001:db8::a00:20ff:fea7:ccea]:80>
+ ServerAdmin webmaster@host.example.com
+ DocumentRoot /www/docs/host.example.com
+ ServerName host.example.com
+ ErrorLog logs/host.example.com-error_log
+ TransferLog logs/host.example.com-access_log
+</VirtualHost>
+ </highlight>
<p>Her sanal konağın ya farklı bir IP adresi ve port ile ya da farklı bir
konak ismiyle eşleşmesi gerekir. Birinci durumda sunucu makinesinin çok