TurkProgrammers.NeT
Ana sayfa Ana Sayfa | Ana sayfanız yapın | Sık kullanılanlara ekle | Rss/Rdf Besleme| JavaScript
Bölümler
Arşiv
paz sa ça cu cum pa
12345
6789101112
13141516171819
20212223242526
2728293031

Mailinizi ekleyin
Haberlere abone olun:

anket: Web Programcılığının Geleceğini nasıl görüyorsunuz
Web Programcılığının Geleceğini nasıl görüyorsunuz?
Önü Fazlası ile açık
ilerde yapacak web sitesi kalmayacak
Hazır sistemler işleri iyice bitirecek
Bugünden daha kötü olamaz
Anket sonuçları | Eski Anketler


email Arkadaşınızın maili | print Yazıcı versionu | comment Yanıtlar (0 Gönder)

httpd.conf Apache HTTP sunucusu ayar dosyası

by Mr. CanaWar on Temmuz 29,2007

image

# httpd.conf -- Apache HTTP sunucusu ayar dosyası

# Bu dosyada Apache, httpd, ana sunucu birbirine eş anlamda kullanılmıştır.
# Kullanılan Türkçe terimlerin yanlarında, ilk sefere özel olarak İngilizce karşılıkları da verilmiştir.
# Ancak, symbolic link, PID, Unix sistem çağrıları gibi temel kavramlar olduğu gibi bırakılmıştır.


# Bu dosyada hata olup olmadığını /apache/dizini/bin/apachectl configtest'le kontrol edebilirsiniz.
# Büyük bir değişiklik yaptıktan sonra, Apache'yi tekrar çalıştırmadan önce (../bin/apachectl restart),
# dosyada hata olmadığından (configtest'le) emin olmalısınız.

#################### BAŞLA NOTLAR ####################
# Apache Web sunucusu http.conf dosyasından sonra
# eğer ResourceConfig ve/veya AccessConfig yönergeleriyle (directive) değiştirilmemişse
# sırasıyla srm.conf ve access.conf dosyalarını okur.
#
# Bu dosya üç ana alana ayrılmıştır:
# 1- Global Ortamı ayarları (Bu makinenin cevap verdiği, sanal sunucular dahil, bütün sunucuları
# etkiler)
# 2- Varsayılan sunucunun ayarları (Bu ayarlar, sanal sunucularda açık olarak 'override' edilebilir,
# edilmediği takdirde bu bölümdeki ayarlar kullanılır)
# 3- Sanal sunucu ayarları (Aynı IP adresinden farklı adreslere cevap vermek için kullanılıyor)

# Ayar ve kayıt dosyalarının adları:
# Dosya adı /'la başlıyorsa absolute path kullanılıyor (ör: /usr/local/apache/logs/dosya)
# Dosya adı 'la başlamıyorsa ServerRoot'un değeri bu path'in önüne ekleniyor
# (ör: logs/dosya --> /usr/local/apache/logs/dosya oluyor)
#################### BİTİR NOTLAR ####################


#################### BÖLÜM I ####################

########## BAŞLA Evrensel Ortam (Global Environment) ##########
# Bu bölümdeki ayarlar Apache'nin genel çalışmasını etkiler, örneğin aynı anda kaç isteği karşılayacağı,
# ayar dosyalarını nerede bulacağı vs.

# ServerType: Ya inetd ya da standalone olabilir. Inetd, sadece Unix platformunda desteklenir.
ServerType standalone

# ServerRoot: Sunucunun ayar, hata ve kayıt dosyalarının durduğu ana dizin ismi.
# UYARI: Dizin isminin sonunda / OLMAMALIDIR!

ServerRoot "/usr/local/apache"

# LockFile: Apache USE_FCNTL_SERIALIZED_ACCEPT ya da USE_FLOCK_SERIALIZED_ACCEPT parametreleri
# kullanılarak derlenmişse, kilit dosyasının yerini belirtir.
# Normal olarak bu dosyanın adını değiştirmenize gerek yoktur. Ancak, kilit dosyasını NFS üzerinden
# 'mount' edilen bir yerde tutmak isterseniz değiştirin.
# Kilit dosyası YEREL BİR DİSKTE TUTULMAK ZORUNDADIR!. Dosya isminin sonuna PID (Process ID) otomatik
# olarak eklenir.

#LockFile /usr/local/apache/logs/httpd.lock

# PidFile: Sunucunun çalıştırıldığı zaman işlem numarasını (hafızadaki referansı denilebilir) tuttuğu
# dosya. Sunucu durdurulurken bu numaraya sahip işlem öldürülür.

PidFile /usr/local/apache/logs/httpd.pid

# ScoreBoardFile: İçsel sunucu işlemleri bilgisinin tutulduğu dosya.
# Bu dosyaya birçok platformda ihtiyaç yoktur. İhtiyacınız olup olmadığını dosyanın yaratılıp
# yaratılmadığına bakarak anlayabilirsiniz.
# Eğer aynı makinede iki farklı Apache sunucusu çalıştırıyorsanız, bu dosyaya ikisinin aynı anda
# erişmediğinden emin olmalısınız.

ScoreBoardFile /usr/local/apache/logs/httpd.scoreboard

# Normalde, sunucu bu dosyadan sonra, sırasıyla srm.conf ve access.conf dosyalarını işler.
# Apache dağıtımında bu iki dosya boş olarak çıkar; kullanım kolaylığı için bütün yönergelerin tek bir
# dosyada tutulması tavsiye edilir.
# Sunucunun bu dosyaları yoksaymasını isterseniz:
# Unix için "/dev/null", Windows için "nul" girebilirsiniz.

#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf

# Timeout: İsteklerin geliş ve gönderilişleri arasında geçebilecek maksimum süre, bu süre aşıldığında,
# sunucu gelen isteği düşürür (yoksayar).

Timeout 120

# KeepAlive: Israrlı bağlantılara (persistent connection - aynı istemciden birden fazla istek) izin
# verilip verilmeyeceği. Kaldırmak için "Off" yapınız.

KeepAlive On

# MaxKeepAliveRequests: Israrlı bir bağlantıda kaç isteğe izin verileceği.
# Sınırsız bağlantı için 0 yapabilirsiniz.
# En yüksek verim için bu sayıyı yüksek tutmanız tavsiye edilir.

MaxKeepAliveRequests 100

# KeepAliveTimeout: Aynı istemciden, bir sonraki isteğin kabul edilmesi için gereken minimum süre.
KeepAliveTimeout 15

# Boştaki sunucu-havuzu düzenlemesi. Boştaki çocuk-işlemler (child process) gelen yeni istekleri
# karşılamak üzere hazırda bekler. Apache, bu sayıları tahmin etmenizi zorlamak yerine, gerek gördükçe
# kendini yüke göre adapte eder, yani, o andaki yükü kaldırmak için, gerekli gördüğü kadar çocuk-sunucu
# çalıştırmaya, ve birkaç tane de boş sunucu bekletmeye çalışır.
# Eğer, belirli bir anda MinSpareServers değerinden az boş sunucu varsa, aradaki fark kadar yeni
# sunucuyu beklemek üzere açar. Eğer, MaxSpareServers değerinden fazla sayıda çocuk-sunucu boşta
# bekliyorsa, fazla olan kadarını öldürür.
# Diğer bir deyişle, bu değerlerin yüksek olması, ani yüklenmelere karşı daha iyi tepki verilmesini,
# düşük olması da, geçişlerin daha yumuşak olması ve daha az bellek kullanılması demektir.
# Varsayılan değerler 5 ve 10'dur.

MinSpareServers 8
MaxSpareServers 16

# Sunucu ilk çalıştırıldığında başlatılacak çocuk sunucu sayısı.
StartServers 8

# Aynı anda çalışacak çocuk-sunucuların Max değeri, diğer bir deyişle aynı anda bağlanabilecek toplam
# istemci sayısı. Eğer bu sayıya ulaşılırsa, istemciler KİLİTLENECEKTİR, dolayısıyla bu sayı düşük
# tutulmamalıdır. Bu ayarın varsayılan değeri 256'dır ve derlemeden önce apache source dizinindeki
# src/include/httpd.h dosyasındaki HARD_SERVER_LIMIT'le ayarlanması gerekir. Bu dosyayı değiştirip
# tekrar derlemeden, bu ayarı arttıramazsınız.
# Bu yönerge aynı zamanda, sunucunun kilitlenmesi ya da sızdırmaya başlaması durumunda, makineyi
# çökertmemesi için kullanılmaktadır.

MaxClients 1024

# MaxRequestsPerChild: Çocuk-sunucunun öldürülmeden önce toplam kaç isteğe cevap verebileceği.
# Bu ayar sunucunun (ya da kullandığı kütüphanelerin) sızdırma olasılığına karşı kullanılır.
# Birçok sistemde, bu ayara gereksinim duyulmaz, ancak bazılarında (ör. Solaris) sızdırma çok
# olabilmektedir. Bu platformlar için, bu sayıyı 10000 civarı bir sayı yapabilirsiniz. 0 sınırsız
# demektir.
# UYARI: Bu sayı, açık tutulan (keepalive) bağlantıları kapsamaz,
# yani, bir çocuk-sunucu aynı istemciden 10 isteğe cevap vermişse, bu 1 istek sayılır.

MaxRequestsPerChild 10000

# Listen: Normal 'port' ve IP adresinin dışında, Apache'nin belli IP adresi ve/veya 'port'u
# dinlemesini/cevap vermesinisağlar.
# Ayrıca <VirtualHost> yönergesine bakınız.

#Listen 3000
#Listen 12.34.56.78:80

# BindAddress: Bu ayarla sanal sunucuları destekleyebilirsiniz. Bu yönergeyle sunucunun hangi IP
# adresini dinleyeceğini verebilirsiniz.
# "*", bir IP adresi ya da tam açık bir Internet ismi (FQDN - Fully Qualified Domain Name,
# ör: www.ulakbim.gov.tr) kullanabilirsiniz.
# Ayrıca <VirtualHost> yönergesine bakınız.

#BindAddress *

# Dinamik Paylaşımlı Nesne (Dynamic Shared Object - DSO) Desteği
# DSO'lar sunucunun başladıktan sonra çalışma zamanında (runtime) nesne kullanılacağı zaman
# yüklenebilmesini sağlarlar. Sunucu ilk başlatılırken yüklenmezler.
# Bir modülü kullanabilmek için karşılık gelen bir 'LoadModule' satırını aşağıya eklemeniz gerekir.
# Ayrıntılı bilgi için Apache 1.3 dağıtımındaki README.DSO dosyasını okuyunuz.
# Statik olarak (sunucu başlatılırken yüklenen) bağlanan modüllerin listesini görmek için 'bin'
# dizininde 'httpd -l' komutunu çalıştırınız.
# UYARI: Modüllerin yüklenme sırası önemlidir. Ne yaptığınızdan emin değilseniz, aşağıdaki sırayı
# değiştirmeyiniz.
# Ör: LoadModule foo_module libexec/mod_foo.so

LoadModule define_module libexec/mod_define.so
LoadModule includes_module libexec/mod_include.so
LoadModule speling_module libexec/mod_speling.so
LoadModule anon_auth_module libexec/mod_auth_anon.so
LoadModule digest_module libexec/mod_digest.so
LoadModule expires_module libexec/mod_expires.so
LoadModule headers_module libexec/mod_headers.so
<IfDefine SSL>
  LoadModule ssl_module libexec/libssl.so
</IfDefine>
LoadModule cookie_auth_module libexec/mod_auth_cookie.so
LoadModule inst_auth_module libexec/mod_auth_inst.so
LoadModule layout_module libexec/mod_layout.so
LoadModule put_module libexec/mod_put.so
LoadModule macro_module libexec/mod_macro.so
LoadModule roaming_module libexec/mod_roaming.so
LoadModule php4_module libexec/libphp4.so

# Doğru modül işletim sırasının belirlenmesi için, eldeki modüllerden tüm modül
# (statik ya da dinamik yüklenen) listesinin tekrar oluşturulması.
# UYARI: Ne zaman, yukarıdaki LoadModule bölümünü değiştirirseniz, bu bölümü de değiştiriniz.

ClearModuleList
AddModule mod_env.c
AddModule mod_define.c
AddModule mod_log_config.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_speling.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_auth_anon.c
AddModule mod_digest.c
AddModule mod_expires.c
AddModule mod_headers.c
AddModule mod_so.c
AddModule mod_setenvif.c
<IfDefine SSL>
  AddModule mod_ssl.c
</IfDefine>
AddModule mod_auth_cookie.c
AddModule mod_auth_inst.c
AddModule mod_bandwidth.c
AddModule mod_disallow_id.c
AddModule mod_layout.c
AddModule mod_put.c
AddModule mod_session.c
AddModule mod_macro.c
AddModule mod_roaming.c
AddModule mod_php4.c

# ExtendedStatus: /server-status işlemcisi (handler) çağırıldığı zaman, detaylı bilgi üretilip
# üretilmeyeceği. Varsayılanı 'Off'dur.

ExtendedStatus On

########## BİTİR Evrensel Ortam (Global Environment) ##########

#################### BÖLÜM II ####################

########## BAŞLA 'Varsayılan' Sunucu Ayarları ##########
# Bu bölümdeki ayarlar, hiçbir sanal sunucu tarafından ele alınmayan istekleri karşılayan
# 'Varsayılan' sunucu ayarlarını içerir.
# Ayrıca, <VirtualHost>'larda tanımlanmayan her değer bu bölümden alınır.

# Buradaki bütün yönergeler <VirtualHost>'larda yeralabilir, ki o zaman, bu bölümdeki yönergeler
# 'override' edilmiş olur, ve <VirtualHost>'daki değer kullanılır.
# Eğer yukarıda Evrensel Ortam bölümünde, ServerType inetd olarak ayarlanmışsa, aşağıdaki
# 'port', 'user' ve 'group' ayarlarının bir etkisi olmayacaktır.
# Bu durumda, ServerAdmin kısmına atlayınız.

# Port: Tekbaşına (standalone) sunucunun dinlediği 'port'. 1023'den küçük 'port'lar için httpd'nin
# çalıştırılma sırasında root haklarına sahip olması gerekir.

Port 80


# Eğer, httpd'yi (Ana sunucu) farklı bir kullanıcı ya da grupta çalıştırmak isterseniz,
# başlangıçta root olarak çalıştırın, httpd kendisini o kullanıcıyla/grupla yerdeğiştirecektir.

# Kullanıcı/Grup: httpd'nin çalışacağı kullanıcı ve/veya grup ismi (ya da #numarası)
# . SCO Unix (ODT 3) için "nouser" ve "nogroup" kullanınız.
# . HPUX'da paylaşımlı belleği "nobody" kullanıcısıyla kullanamazsınız, bunun yerine www gibi bir
# kullanıcı yaratıp onu kullanın.
# UYARI: Bazı işletim sistemlerinin çekirdekleri, grup numarası 60000'in üzerinde olduğu zaman
# setgid(Grup) ya da semctl(IPC_SET) Unix fonksiyonlarını çağırmayı reddeder.
# Bu sistemlerde webgroup grubunu kullanmayın.

User webuser
Group webgroup

# ServerAdmin: Sunucuda problem çıktığında, e-posta gönderilebilecek adres. Bu adres, hata mesajları
# gibi, sunucu tarafından üretilen sayfalarda "görünebilir".
# Ayrıca ServerSignature yönergesine bakınız.

ServerAdmin webmaster@kurum.edu.tr

# ServerName: Eğer makinenizin ismi www'den farklıysa, istemciye geri gönderilecek sunucu ismini
# değiştirebilmenizi sağlar. Yani, makinenin gerçek ismi, ör. sunucu.kurum.edu.tr, yerine
# www.kurum.edu.tr kullanmak isterseniz, bu ayarı değiştirin.
# UYARI: Kendi başınıza makine ismi yaratıp, bunların çalışmasını bekleyemezsiniz. Burada verdiğiniz
# ismin DNS'de tanımlı olması gerekir. Daha detaylı bilgi için sistem yöneticinize başvurunuz.
# Eğer sunucunuzun kayıtlı bir DNS ismi yoksa, IP numarasını giriniz. Ancak bu durumda, sunucuya sadece
# IP adresiyle erişebilirsiniz (ör. http://123.45.67.89/).

ServerName www.kurum.edu.tr

# DocumentRoot: Belgelerinizi sunacağınız dizin. Varsayılanı, bütün isteklerin bu dizinden
# karşılanmasıdır. Ancak, sembolik bağ (symbolic link) ya da alias (lakap) kullanarak farklı dizinlere
# erişim de sağlayabilirsiniz.
# Kişisel tecrübelere dayanarak Web sayfalarının Apache programlarının durduğu dizinden farklı bir
# dizinde durması yararlı olacaktır. Bu hem yedeklemede, hem de dosyaların yönetiminde avantaj sağlar.
# Bu yolu seçtiğiniz takdirde, ör. /web dizini altında her sanal sunucu için ayrı bir kök dizin,
# bu dizinlerin altında da HTML sayfaları ve CGI programları için ayrı dizinler açmak
# işinizi rahatlatacaktır.

DocumentRoot "/web/www/docs"

# Apache'nin erişiminin olduğu her dizin ve altdizinleri için, hangi servis, özelliklerin vb izin
# verildiği ve/veya verilmediği belirtilebilir.
# İlk olarak "varsayılan" dizinin haklarını epey kısacağız.
# Güvenliği maksimuma getirmek isterseniz FollowSymLinks'i de kaldırıp Options None yapın.
# FollowSymLinks'le kullanıcılarınızdan biri /etc gibi kritik bir dizine bir symbolik verebilir ve bu
# dizin dış dünya tarafından okunabilir hale gelir. Bir diğer alternatif olarak görülen
# SymLinksIfOwnerMatch daha güvenlidir ancak istenen dizinin birkaç seviye içerde olması durumunda
# tepki süresini epey yavaşlatır. Örneğin "Option SymLinksIfOwnerMatch" verilmişse, sunucu
# /usr/local/apache/htdocs/dosyalar/ dizini istendiği zaman /, /usr, /usr/local, /usr/local/apache,
# /usr/local/apache/htdocs ve /usr/local/apache/htdocs/dosyalar dizinlerinin *hepsinin* bir symbolik
# link olup olmadığını ve sahiplerinin kim olduğunu kontrol eder.

<Directory />
  Options FollowSymLinks
  AllowOverride None
</Directory>

# Bu noktadan itibaren, ayrıntılıca hangi özelliklerin kullanılabileceği belirtilebilir.
# Dolayısıyla, birşeyler istediğiniz gibi çalışmıyorsa, aşağıda açık olarak izin verildiğine emin olun.


# Bu dizin DocumentRoot yönergesinde verdiğiniz dizin olmalıdır.
<Directory "/web/www/docs">

# Bu ayar aşağıdakilerin yanısıra "None", "All", veya "Indexes", "Includes", "FollowSymLinks",
# "ExecCGI", "MultiViews"'in bir kombinasyonu olabilir.
# UYARI: "MultiViews" açık olarak(explicitly) vermek zorundasınız --- "Options All" bu işi görmez.
#
# Daha fazla güvenlik istiyorsanız, hızdan bir miktar taviz vererek buradaki FollowSymLinks'i
# SymLinksIfOwnerMatch yapabilirsiniz. Bu şekilde, sembolik bağın sahibiyle, bağ verilen yolun sahibi
# aynı olmadıkça o yol açılmayacaktır. Ör. webuser kullanıcısı /etc'ye sembolik bağ verse bile,
# /etc'nin sahibi root olduğu için /etc'nin içeriği Web sitesinden erişilemez olur.

  Options Indexes FollowSymLinks MultiViews

# Belli dizinlere .htaccess dosyası koyarak, o dizine şifreli erişim, belli adreslerden erişim gibi
# kısıtlamalar getirebilirsiniz. Bu ayar .htaccess dosyalarında nelerin 'override' edilebileceğini
# söyler. Aşağıdakinin yanısıra "All", ya da "Options", "FileInfo", "AuthConfig",
"Limit"'in bir
# kombinasyonu olabilir.
  AllowOverride None

# Bu sunucudan kimlerin dosya okumasına izin verildiği ayarı.

#Bütün adreslerden erişime izin ver...
  Order allow,deny
  Allow from all

# Sadece aşağıdaki IP bloğundan okumaya izin ver...
  #Order deny,allow
  #Allow from 193.140.83.
  #Deny from all
</Directory>

# UserDir: Sistemdeki kullanıcıların kendi sayfalarına http://www.kurum.edu.tr/~kullanıcı_adı/ şeklinde
# ulaşabilmeleri için ev dizinlerinde oluşturmaları gereken dizinin adı.

<IfModule mod_userdir.c>
  UserDir public_html
</IfModule>

# Aşağıdaki satırla, Apache'nin çalışma esnasında, LD_LIBRARY_PATH ortam değişkeninini verilen şekliyle
# kullanmasını belirtiyoruz.
# Bu satır, kurulan bazı modüllerin kütüphanelerinin varsayılan olarak /usr/local/lib'e kurulması
# ve Apache'nin varsayılanında /usr/local/lib'i yeralmaması nedeniyle gereklidir.

<IfModule mod_env.c>
  SetEnv LD_LIBRARY_PATH /usr/local/lib:/lib:/usr/ucblib:/usr/openwin/lib
</IfModule>

# Kullanıcı dizinlerine erişim hakları. Aşağıdaki ayarlar, bu dizinlere sadece-okuma (read-only) izni
# verildiği bir örnektir.

<Directory /home/*/public_html>
  AllowOverride FileInfo AuthConfig Limit
  Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
  <Limit GET POST OPTIONS PROPFIND>
    Order allow,deny
    Allow from all
  </Limit>
  <LimitExcept GET POST OPTIONS PROPFIND>
    Order deny,allow
    Deny from all
  </LimitExcept>
</Directory>

# DirectoryIndex: Dizin endeksleri (diğer bir deyişle varsayılan sayfa) için kullanılan dosya ya da
# dosyaların adları. Birden fazla girdi arasında boşluk kullanınız.
# Apache, istenen dizinde bu dosyalara verilen sırada bakar, ve bulduğu *ilkini* gönderir,
# yani sıralama önemlidir.

<IfModule mod_dir.c>
  DirectoryIndex index.ozeluzanti index.php index.php3 index.html index.htm
</IfModule>

# AccessFileName: Dizinlerin altında erişim kontrol bilgilerinin tutulduğu dosya.
# Ayrıca AllowOverride yönergesine bakınız.

AccessFileName .htaccess

# Aşağıdaki satırlar, istemcilerin .htaccess dosyalarına doğrudan erişimini kısıtlar. Bu dosyaların
# doğrulama bilgisi (şifre vb) gibi kritik bilgiler tutması nedeniyle, doğrudan erişimin kısıtlanması
# gerekir. Bu dosyalara ancak Apache programının kendisi erişebilir. Bu davranışı istemiyorsanız,
# aşağıdaki satırların başına # koyunuz.
# Ayrıca, eğer yukarıda AccessFileName yönergesinde bu dosyalara farklı bir isim verdiyseniz, bu ayarı
# da değiştiriniz.
# Aşağıdaki ayar .ht'yle başlayan tüm dosyaları filtreler, yani, .htaccess'den başka (bazı sitelerin
# kullandığı) .htpasswd, .htfiles gibi dosyaları da korur.

<Files ~ "^\.ht">
  Order allow,deny
  Deny from all
</Files>

# ozel.dosya ismindeki dosyaların sunucunun kendisi haricinde kimse tarafından okunmaması için.
# Örneğin bir PHP programı sunucu tarafında çalıştığı için bu dosyaları okuyabilirken, istemciler
# doğrudan bu dosyalara erişemezler.

<Files ~ "^ozel\.dosya$">
  Order allow,deny
  Deny from all
</Files>

# CacheNegotiatedDocs: Varsayılanı, Apache'nin her sayfayla birlikte "Pragma: no-cache" göndermesidir.
# Böylece 'Cache/Proxy' (Önbellek/Vekil) sunucuları (ör. http://wwwcache.ulak.net.tr/) bu dosyaları
# önbelleklemezler. Eğer bu davranışı istemiyorsanız, aşağıdaki satırın başındaki #'i kaldırınız.

#CacheNegotiatedDocs

# UseCanonicalName: (Apache 1.3 ve yukarısı) Bu ayar açıldığı zaman, ne zaman Apache geri-referans
# (self-referencing - cevabın geldiği sunucuyu gösteren) URL oluştursa, ServerName ve Port
# yönergelerinden oluşturulan bir 'Canonical' (yaklaşık olarak çözülmüş/gerçek denilebilir) isim
# kullanır.
# Bu ayar kapatıldığı zaman, Apache, istemcinin gönderdiği sunucuismi:port ikilisini kullanır.
# Ayrıca bu ayar, CGI programlarındaki SERVER_NAME ve SERVER_PORT değişkenlerini de etkiler.

UseCanonicalName On

# TypesConfig: MIME tiplerinin verildiği dosyanın nerede tutulduğunun ayarı.
<IfModule mod_mime.c>
  TypesConfig /usr/local/apache/conf/mime.types
</IfModule>

# DefaultType: Sunucu, dosya uzantısında MIME tipini bulamadığı zaman kullanacağı
# varsayılan MIME tipidir.
# Eğer sunucunuzda çoğunlukla metin ya da HTML dosyaları varsa, "text/plain" iyi bir değerdir.
# Eğer çoğunlukla ikili (binary), ör. program ya da resim, dosyanız varsa, tarayıcıların istediği
# dosyayı metin gibi göstermeye çalışmaması için, "application/octet-stream" kullanmak isteyebilirsiniz.
DefaultType text/plain

# mod_mime_magic modülü, sunucunun dosyanın içeriğine bakarak dosya tipini bulabilmesini sağlar
# (ör. UNIX'de resim dosyalarının uzantısının .gif, .jpg olması zorunlu değildir).
# MIMEMagicFile yönergesi, mime_magic modülü için ipuçları dosyasının nerede tutulduğunu ayarlar.
# Eğer yukarıdaki "Evrensel Ortam: DSO" bölümünde bu modülün LoadModule yönergesiyle yüklenmiş olması
# gerekmektedir.
# <IfModule> bu modülün gerektiği şekilde yüklenip yüklenmediğini kontrol eder, aksi takdirde
# sunucu hata verir.

<IfModule mod_mime_magic.c>
  MIMEMagicFile /usr/local/apache/conf/magic
</IfModule>

# HostnameLookups: Sunucu kayıtlarında (logfiles) İstemcilerin (varsa) açık isimlerinin
# (ör. descent.ulakbim.gov.tr) mi, yoksa sadece IP numaralarının (ör. 193.140.83.12) mı tutulacağı.
# Varsayılanı "Off"dur çünkü tersi durumda her istek için DNS sunucusundan istemcinin varsa ismi
# bulunmaya çalışılır.
# Diğer bir deyişle, "Off" durumunda sunucunun tepki süresi iyileşir.
# Ancak kayıtlarınızda istemcilerin tam adreslerini (FQDN) görmek isterseniz açın (On durumuna getirin),
# güvenliğe destek olan cinsten bir yönergedir.
HostnameLookups Off

########## BAŞLA Kayıtalma Bölümü ##########

# ErrorLog: Hata kayıtlarının tutulduğu dosya
# Eğer sanal sunucularda, aşağıdaki dışında bir hata mesajı dosyası vermezseniz, o sanal sunucu için de
# yine aşağıdaki dosya kullanılır.
# Her sanal sunucu için ayrı bir hata kayıt dosyası açılmasını istiyorsanız, <VirtualHost> bölümlerinde
# dosya isimlerini ayrıca vermeniz gerekir.

ErrorLog /usr/local/apache/logs/error_log

# LogLevel: Hata kayıtlarında tutulan mesajların seviyesi.
# Şu değerlerden birini alabilir: debug, info, notice, warn, error, crit, alert, emerg.

LogLevel warn

# Aşağıdaki yönergeler, bazı takma adlar (nickname) tanımlar.
# Ayrıca aşağıdaki CustomLog yönergesine bakınız.

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

# Erişim kayıt dosyasının yeri ve biçimi. Aynı hata kayıt dosyalarında olduğu gibi, sanal sunucular için
# ayrıca belirtilmezse, erişim kayıtları aşağıda belirtilen dosyada tutulur.

CustomLog /usr/local/apache/logs/access_log common

# Eğer kullanıcı ajanını (agent - kullanıcının programı; tarayıcı, robot, yansılama programı vb) ve
# havale eden sayfayı (referer page) kayıtlarını da almak isterseniz,
# aşağıdaki satırların başındaki #'leri kaldırınız.

#CustomLog /usr/local/apache/logs/referer_log referer
#CustomLog /usr/local/apache/logs/agent_log agent

# Bütün erişim, ajan ve havale eden sayfa kayıtlarını tek bir dosyada tutmak isterseniz, aşağıdaki
# yönergeyi kullanabilirsiniz. Bu yolu seçtiğiniz takdirde, yukarıdaki kayıtları iptal etmeniz tavsiye
# edilir, aksi takdirde kayıtlar çifter çifter tutulmuş olacaktır.

#CustomLog /usr/local/apache/logs/access_log combined

########## BİTİR Kayıtalma Bölümü ##########

# Seçimlik olarak, sunucunun ürettiği sayfalarda (hata sayfaları, FTP dizin listeleri, mod_status ve
# mod_info modüllerinin çıktıları vb, ama CGI çıktıları değil) sunucunun imzasının (Sunucu ismi, sürüm
# numarası, sunucu 'port'u vb bilgilerinin eklenip eklenmeyeceği.
# Email'i seçmeniz durumunda, (birden çok sanal sunucu varsa) o sunucunun yöneticisinin e-posta adresi
# de eklenir.
# Olası değerler: On | Off | EMail

ServerSignature On

########## BAŞLA Alias Bölümü ##########
# Aliases: Bu kısma istediğiniz kadar (sınırı yoktur) lakaplar (alias) ekleyebilirsiniz.
# Kullanımı: Alias sahte-isim gerçek-isim

<IfModule mod_alias.c>
# UYARI: Eğer sahte-ismin sonuna bir / eklerseniz, sunucu bu /'ın adreste de olmasını şart koşar.
# Yani, aşağıdaki örnekte, "/icons"a değil, sadece "/icons/"a lakap takılmış olur.

  Alias /icons/ "/usr/local/apache/icons/"
  <Directory "/usr/local/apache/icons">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
  </Directory>

# ScriptAlias: Bu ayar, hangi dizinlerin sunucu programcıkları (script) içerebileceğini belirtir.
# ScriptAlias'lar aslında Alias'lar aynı şekilde kullanılır, tek farkı bu dizinlerdeki dosyalar, belge
# olarak değil, programcık olarak olarak işleme sokulurlar.
# Alias'lardaki / kuralı burada de geçerlidir.

  ScriptAlias /cgi-bin/ "/web/www/cgi-bin/"

# Aşağıdaki "/usr/local/apache/cgi-bin" dizinini, yukarıda ScriptAlias yönergesinde verdiğiniz dizin
# yapınız.

  <Directory "/usr/local/apache/cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
  </Directory>
</IfModule>

########## BİTİR Alias Bölümü ##########

# Redirect yönergesi istemcilerin, artık sunucunuzda olmayan adresler için başka bir adrese
# yönlendirilebilmesini sağlar.
# Kullanımı: Redirect eski-URI yeni-URL (ör. Redirect /fakulte/giris.htm http://fakulte.kurum.edu.tr/)

Redirect /ftp ftp://ftp.kurum.edu.tr/

########## BAŞLA Indexing Bölümü ##########
# Sunucunun ürettiği sayfaların görünümünü düzenleyen yönergeler.

<IfModule mod_autoindex.c>
# FancyIndexing'le dizin listelerinde sade görünüm yerine, simgelerin, tarihlerin vb bilgilerin de
# görüntülenmesini sağlar

IndexOptions FancyIndexing

# AddIcon* yönergeleri sunucunun farklı dosya tip veya uzantıları için hangi simgeleri kullanacağını
# belirlerler. Sadece FancyIndexing kullanılan dizinlerde geçerlidirler.

AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

# MIME tiplerine bakarak simge atama
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*

# Dosya uzantısına bakarak simge atama
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core

AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^

# DefaultIcon herhangi bir simge atanmamış dosyalar için kullanılan simgedir.
DefaultIcon /icons/unknown.gif

# AddDescription yönergesi, dosyaların sonuna küçük açıklamalar koyabilmenizi sağlar.
# Bu açıklamalar her dosya için ayrı değil, aynı dosya tipine sahip tüm dosyaları toptan etkiler.
# Sadece FancyIndexing'le tanımlı dizinlerde geçerlidir.
# Kullanımı: AddDescription "açıklama" .dosya_uzantısı

AddDescription "GZIP'le sıkıştırılmış dosya" .gz
AddDescription "tar arşivi" .tar
AddDescription "GZIP'lenmiş tar arşivi" .tgz

# ReadmeName: sunucunun dizin listelerinin sonuna eklemek için baktığı dosyanın ismi.
# HeaderName: sunucunun dizin listelerinin başına eklemek için baktığı dosyanın ismi.

# Bu dosyaları kullanabilmek için bir <Directory> yönergesinin içinde "Options MultiViews
# (ve varsa diğerleri)" olmalıdır.
# Bu durumda sunucu önce dosya_ismi.html'i, yoksa dosya_ismi.txt dosyasını açmaya çalışır.
# html uzantılı dosya MIME tipi text/html olarak, txt uzantılı dosya da MIME tipi text/plain olarak
# gönderilir.

ReadmeName README
HeaderName HEADER

# IndexIgnore: Dizin listelerinde saklanacak dosyaların isimleri. Kabuk (shell) stili jokerlere
# (wildcard) izin vardır.

IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

</IfModule>
########## BİTİR Indexing Bölümü ##########

########## BAŞLA Belge Tipleri Bölümü ##########
<IfModule mod_mime.c>

# AddEncoding: Farklı tarayıcılar için (ör. Mosaic/X 2.1+) sıkıştırılmış bilginin havada (on the fly)
# açılabilmesini sağlar, ancak bütün tarayıcılar bunu desteklememektedir.
# İsim benzerliğine rağmen, aşağıdaki Add*** yönergelerinin, FancyIndexing parametreleriyle
# ilgisi yoktur.

AddEncoding x-compress Z
AddEncoding x-gzip gz tgz

# AddLanguage: Bir dosyanın dilini belirtmenize izin verir. Daha sonra, tarayıcının anlayabileceği bir
# dil seçimi için içerik pazarlığı (content negotiation) yapılır.
# UYARI 1: uzantıyla dil belirtecinin aynı olması gerekmez, ör. dil belirteci pl olan Polonyaca için
# Perl programcıklarıyla karışmaması için "AddLanguage pl .po" kullanılabilir.
# UYARI 2: aşağıdaki örneklerde birçok durum için iki harflik ülke kısaltmasıyla, dil belirtecinin aynı
# olmadığı da vurgulanmıştır, ör. 'Danmark/dk' versus 'Danish/da'.
# UYARI 3: 'ltz' durumu RFC1766'yı üç harf kullanması nedeniyle ihlal etmektedir, ancak bunu düzeltmek
# için çalışmalar sürmektedir.
# Danish (da) - Dutch (nl) - English (en) - Estonian (ee) - French (fr) - German (de)
# Greek-Modern (el) - Italian (it) - Portugese (pt) - Luxembourgeois* (ltz) - Spanish (es)
# Swedish (sv) - Catalan (ca) - Czech(cz) - Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)

AddLanguage tr .tr
AddLanguage en .en

# AddLanguage da .dk
# AddLanguage ja .ja
# AddCharset ISO-2022-JP .jis
# AddLanguage pl .po
# AddCharset ISO-8859-2 .iso-pl

# LanguagePriority: içerik pazarlığı sırasında bazı dillere öncelik vermenizi sağlar. Aşağıdaki durumda,
# hem tr hem de en tanıyan bir tarayıcıya tr gönderilecektir.
# Dolayısıyla, istediğiniz sırada dilleri listeleyiniz.

<IfModule mod_negotiation.c>
  LanguagePriority tr en
</IfModule>

# AddType: mime.types dosyasını gerçekte açmadan üzerinde değişiklikler yapabilmenizi sağlar.
# PHP 4.x'in çalışması için, aşağıdaki satırlar gereklidir:

AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3
AddType application/x-httpd-php-source .phps

AddType application/x-tar .tgz

# AddHandler: belli dosya uzantılarını belli programlara/hareketlere atamanıza izin verir.
# Bu hareketler sunucunun içine gömülmüş de olabilir, Action yönergesiyle (aşağı bakınız) eklenmiş de
# olabilir.
# SSI (Server Side Include) ya ScriptAlias dizinleri dışında CGI kullanmak isterseniz, aşağıdaki
# satırların başlarındaki #'leri kaldırınız.

# CGI programcıkları için:
# UYARI: Bu ayarı açmak, güvenliği ciddi derecede düşürür.

#AddHandler cgi-script .cgi

# SSI kullanmak için:
#AddType text/html .shtml
#AddHandler server-parsed .shtml

# Apache'nin desteklediği bir özellik de dosyaları "olduğu gibi" gönderebilme özelliğidir.
# asis dosyaları gönderilirken, Apache ayrıca başlık bilgileri eklemeyecektir, ancak bu durumda asis
# dosyasında bu bilgilerin verilmesi gerekmektedir.
# Bu özelliği kullanmak için, satırın başındaki #'i kaldırınız.

#AddHandler send-as-is asis

# Sunucu tarafı işlenen imagemap dosyalarını kullanmak için:
#AddHandler imap-file map

# Özel dosya uzantılarını bir PHP programına yönlendirmek için aşağıdakine benzer bir ayar kullanın.
# NOT: İstemciler, çağırılan programın ismini görmeyeceklerdir.

AddType text/html .ozelhtml
AddHandler ozelisleme .ozelhtml
Action ozelisleme /progs/onisleme.php


</IfModule>
########## BİTİR Belge Tipleri Bölümü ##########

# Action: aşağıdaki kurala eşlenen dosya tipleri için, bir programcığın çağırılabilmesine sağlar.
# Bu şekilde, sıkça çağırılan CGI dosya işleyicilerini URL'lerden atabilirsiniz.
# Kullanımı: Action mime/tipi /cgi-programcığının/yeri
# Kullanımı: Action handler-ismi /cgi-programcığının/yeri

# MetaFiles: Meta bilgilerinin kullanılıp kullanılmayacağı
# Meta bilgileri, aynı asis dosyalarına benzer, ancak sadece HTTP başlık (HTTP header) bilgilerini
# içerirler. Bu meta bilgilerini kullanarak, dosyalarınıza varsayılanlar dışında da başlık bilgisi
# ekleyebilirsiniz.
# MetaFiles, MetaDir ve MetaSuffix yönergelerini kullanabilmeniz için, mod_cern_meta modülünü derleme
# sırasında eklemiş olmanız gerekir.
# Kullanımı: MetaFiles on|off
# Aşağıdaki gibi kullanmanız tavsiye edilir:

#<IfModule mod_cern_meta.c>
#  MetaFiles on
#</IfModule>

# MetaDir: Apache'nin meta bilgilerini bulabileceği dizinin ismi.
#MetaDir .web

# MetaSuffix: meta bilgisini tutan dosyaların uzantısı
#MetaSuffix .meta

# Özelleştirilebilir hata mesajları bölümü
# Üç tipte gelmektedir:

# 1- Düz metin
#ErrorDocument 500 "Sunucu kötü birşey yaptı.
# UYARI: Tırnak (") düz metni belirtir, çıktıya gönderilmez.

# 2- Yerel yönlendirmeler
#ErrorDocument 404 /olmayan_dosya.html
# Yerel /olmayan_dosya.html URL'ine yönlendirmek için
#ErrorDocument 404 /cgi-bin/olmayan_islemcisi.pl
# Bu şekilde olmayan dosyaları, bir program ya da SSI kullanan bir dosyaya yönlendirebilirsiniz.

# 3- Harici yönlendirmeler
#ErrorDocument 402 http://baska.bir.sunucu.edu.tr/kayit_formu.html
# UYARI: Bu durumda, orjinal isteğe ait birçok ortam değişkeni böyle bir programcığa havale
# edilmeyecektir.

# Davranışın tarayıcı tipine göre özelleştirilmesi
<IfModule mod_setenvif.c>

# Aşağıdaki yönergeler, normal HTTP cevap davranışını değiştirirler.
# İlk yönerge, Netscape 2.x ve onu taklit eden tarayıcılar için 'keepalive'ı kapatırlar.
# İkinci yönerge, HTTP/1.1 desteğinde hatalar olan Internet Explorer 4.0b2 içindir.

  BrowserMatch "Mozilla/2" nokeepalive
  BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0

# Aşağıdaki yönerge, HTTP/1.1'e tam anlamıyla uyumlu olmayan ajanlar için HTTP/1.0 protokolüne geçmek
# içindir.

  BrowserMatch "RealPlayer 4\.0" force-response-1.0
  BrowserMatch "Java/1\.0" force-response-1.0
  BrowserMatch "JDK/1\.0" force-response-1.0
</IfModule>

########## BAŞLA Status/Info Bölümü ##########
# Sunucu durum raporlarını, (güvenlik nedenleriyle) sadece kendi IP'lerinizden erişebilir kılmak için,
# aşağıdaki bloğu kendi IP bloğunuzla değiştiriniz.
# Bu özelliğin kullanılabilmesi için mod_status.c modülünün yüklenmiş olması gerekir.
# İsterseniz "Allow from .kurum.edu.tr" tipinde bir yönerge de kullanabilirsiniz, ancak bu durumda
# HostnameLookups On yönergesini yukarıda belirtmiş olmalısınız.
# Bu özelliği kullanmak için, http://www.kurum.edu.tr/server-status yazmalısınız
.
<Location /server-status>
  SetHandler server-status
  Order deny,allow
  Deny from all
  Allow from 193.140.83.
</Location>

# Sunucunun ayarlarını, (güvenlik nedenleriyle) sadece kendi IP'lerinizden erişilebilir kılmak için,
# aşağıdaki bloğu kendi IP bloğunuzla değiştiriniz.
# Bu özelliğin kullanılabilmesi için mod_info.c modülünün yüklenmiş olması gerekir.
# İsterseniz "Allow from .kurum.edu.tr" tipinde bir yönerge de kullanabilirsiniz, ancak bu durumda
# HostnameLookups On yönergesini yukarıda belirtmiş olmalısınız.
# Bu özelliği kullanmak için, http://www.kurum.edu.tr/server-info yazmalısınız
.
<Location /server-info>
  SetHandler server-info
  Order deny,allow
  Deny from all
  Allow from 193.140.83.
</Location>

########## BİTİR Status/Info Bölümü ##########

########## BİTİR 'Varsayılan' Sunucu Ayarları ##########

########## BAŞLA Sanal Sunucular Bölümü ##########
# VirtualHost: Eğer aynı makineden farklı adres/IP'lere cevap vermek istiyorsanız, herbiri için
# VirtualHost'lar tanımlamanız gerekir. Daha fazla bilgi için
http://www.apache.org/docs/vhosts/
# adresine bakınız. Sanal sunucu ayarlarınızın doğru olup olmadığını '/apache/dizini/bin/httpd -S'
# komutuyla kontrol edebilirsiniz.

# Eğer isim-tabanlı sanal sunucular kullanmak isterseniz, en az bir tane IP adresi (ve port numarası)
# tanımlamanız da gerekir.


330 Kere okundu

Bu makaleyi beyendinizmi ?

1 2 3 4 5 Rating: 5.00Rating: 5.00Rating: 5.00Rating: 5.00Rating: 5.00 (Toplam 2 Oylar)
comment Yanıtlar (0 Gönder)
Çok okunanlar
En Çok Yorumlananlar
Yazarlar