KAYIT ALMA 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
Kayıtalma Bölümü end
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
ALİAS 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>
Alias Bölümü end
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.marun.edu.tr/)
Redirect /ftp ftp://ftp.marun.edu.tr/
INDEXLEME
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>
Indexleme end
BELGE TİPLERİ 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>
Belge Tipleri Bölümü end
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. Bumeta 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üzmetin
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.htmlURL'ineyö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>
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 .marun.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.marun.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 .marun.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.marun.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>
Status/Info Bölümü end
'Varsayılan' Sunucu Ayarları end
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.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>
WWW - Ana Sunucu
NameVirtualHost 193.140.83.36
<VirtualHost 193.140.83.36>
ServerName www.marun.edu.tr
ServerAdmin webmaster@marun.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>
WWW - Ana Sunucu end
WoS
<VirtualHost 193.140.83.36>
ServerName wos.marun.edu.tr
ServerAdmin wos@marun.edu.tr
gelen istekleri başka bir sunucuya yönlendiriyoruz
Redirect / http://atlas.marun.edu.tr/cgi-isi/CIW.cgi
</VirtualHost>
WoS end
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>
Sanal Sunucular Bölümü end