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