|
# 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.
#NameVirtualHost 12.34.56.78:80
#NameVirtualHost 12.34.56.78
# Hemen tüm Apache yönergeleri bir sanal sunucu tanımında kullanılabilir.
# Ayrıca, varsayılan sanal sunucu da aşağıdaki gibi tanımlanabilir.
Ancak, birçok durumda yukarıdaki
# 'Varsayılan' sunucu ayarları yetecektir.
#<VirtualHost _default_:*>
#</VirtualHost>
########## BAŞLA WWW - Ana Sunucu ##########
NameVirtualHost 193.140.83.36
<VirtualHost 193.140.83.36>
ServerName www.kurum.edu.tr
ServerAdmin webmaster@kurum.edu.tr
DocumentRoot "/web/www/docs"
ErrorLog logs/www.error.log
CustomLog logs/www.access.log combined
DirectoryIndex index.ozeluzanti index.php
index.php3 index.html index.htm
HostnameLookups Off
<Directory "/web/www/docs">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ScriptAlias /cgi-bin/ "/web/www/cgi-bin/"
<Directory "/web/www/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
#Özelleştirilmiş hata mesajları için
# /hata/index.php (dosyaların kök dizini altında) gelen hata koduna
göre özel davranabilir,
# bu bilgi Apache tarafından programın erişebileceği ortam değişkenlerine
atanmaktadır.
ErrorDocument 401 /hata/index.php
ErrorDocument 403 /hata/index.php
ErrorDocument 404 /hata/index.php
ErrorDocument 500 /hata/index.php
#Dosya açıklamaları
AddDescription "GZIP'ped archive"
.gz
AddDescription "tar archive" .tar
AddDescription "GZIP'ped tar archive" .tgz
AddDescription "ZIP'ped archive" .zip .ZIP
AddDescription "DOS/Windows executable" .exe .EXE .com
.COM
AddDescription "Portable Document Format" .pdf .PDF
AddDescription "Microsoft movie file" .avi .AVI
AddDescription "Quicktime movie file" .mov .MOV .qt .QT
AddDescription "Mpeg Movie File" .mpg .MPG .mpe .MPE .mpeg
.MPEG .mpa .MPA
AddDescription "Plain text file" .txt .TXT
AddDescription "HyperText File" .html .HTML .htm .HTM
</VirtualHost>
########## BİTİR WWW - Ana Sunucu ##########
########## BAŞLA WoS ##########
<VirtualHost 193.140.83.36>
ServerName wos.ulakbim.gov.tr
ServerAdmin wos@ulakbim.gov.tr
# gelen istekleri başka bir sunucuya yönlendiriyoruz
Redirect / http://atlas.ulakbim.gov.tr/cgi-isi/CIW.cgi
</VirtualHost>
########## BİTİR WoS ##########
########## BAŞLA Ozel ##########
<VirtualHost 193.140.83.36>
ServerName ozel.ulakbim.gov.tr
DocumentRoot "/web/ozel/docs"
DirectoryIndex index.html
CustomLog logs/ozel.erisim.log common
ErrorLog logs/ozel.hata.log
<Directory "/web/ozel/docs">
Options Indexes SymLinksIfOwnerMatch
AllowOverride None
# Sadece kendi IP bloğumuzdan gelenlere
izin ver, dışarıya kapat...
Order deny,allow
Deny from all
Allow from 193.140.83.
</Directory>
</VirtualHost>
########## BİTİR Wyg ##########
########## BİTİR Sanal Sunucular Bölümü ##########
# Bu dosya hakkında, daha detaylı (İngilizce) bilgiyi http://www.apache.org/docs/
# adresinde bulabilirsiniz. Ayrıca Apache ayarlarının (bastırılabilir elkitapçığı
halinde) küçük bir
# referansını da http://www.refcards.com/
adresinden indirebilirsiniz.
|