Monday, June 13, 2016

Asas Apache (Part 4) - Configuration Sections

Configuration Sections


Ok kali ni aku nak citer pasal configuration sections. Dalam fail konfigurasi tu sebenarnya ada section, ataupun dipanggil container. Section ni gunanya kalau korang nak set Directive tertentu tu terpakai benda2 tertentu macam direktori, fail, host atau URL. Kalau korang rasa Directive tu terpakai untuk semua, maksudnya global, tak payah lah letak dalam section nanti kena taip banyak2 leceh. Kat bawah ni aku senaraikan container dalam apache

  1. <Directory>
  2. <DirectoryMatch>
  3. <Files>
  4. <FilesMatch>
  5. <If>
  6. <IfDefine>
  7. <IfModule>
  8. <IfVersion>
  9. <Location>
  10. <LocationMatch>
  11. <Proxy>
  12. <ProxyMatch>
  13. <VirtualHost>

Types of Configuration Section Containers


Section atau container ada 2 jenis, kalau setiap request yang datang, setiap container tu akan dinilai atau diperiksa oleh server, matching atau tak dengan request yang dibuat client tu. Kalau matching baru Directive dalam container tu akan terpakai. Ada satu lagi jenis container yang hanya diperiksa bila server start atau restart, macam <IfDefine>, <IfModule>, atau <IfVersion>.


<IfDefine> container ni gunanya bila korang set parameter kat command line httpd. Contoh httpd -DWebsiteTutup. Nampak tak, -D tu argumen untuk letak parameter, so kiranya nilai parameternya adalah WebsiteTutup. Katakanlah korang nak buat maintenance website kan, so korang kena define parameter WebsiteTutup, pastu kena bagitau apache apa nak buat bila ada parameter tu. So kenalah create container.

<IfDefine WebsiteTutup>  
         Redirect "/" "http://server2.example.com/"  
</IfDefine>
Bila korang restart httpd, semua request ke website korang tu akan redirect pergi ke server lain.


<IfModule> pulak gunanya bila Module tu dah available dalam server sama ada module tu static atau dinamic. Kalau dinamik, korang kena import dulu kat baris atas guna directive LoadModule. Contoh korang nak guna directive MimeMagicFile dekat module mod_mime_magic. Cara nak create container macam kat bawah

<IfModule mod_mime_magic.c>  
            MimeMagicFile "conf/magic" 
 </IfModule>









No comments:

Post a Comment