Hlavní navigace

Malý průvodce konfigurací Apache (4)

Tomáš Lopašovský

Minule som nenápadne načrtol tému použitia externých konfigurácií oblastí v oddelených súboroch obvykle nazvaných .htaccess. Dnes si o tejto alternatívnej možnosti nastavovania povieme viac.

AccessFileName

Touto direktívou definujeme meno súboru, v ktorom bude Apache hľadať externé nastavenia. Obvykle sa používa názov .htaccess, čo je v linuxe vlastne skrytý súbor (pretože mená súborov začínajúce bodkou sa defaultne nezobrazujú). Od verzie 1.3 serveru Apache je možné zadať za AccessFileName viac mien. Napríklad:

AccessFileName .htaccess

alebo

AccessFileName .htaccess .httpd_config .ext_konfig

AllowOverride
Možné parametre tejto direktívy, udávajúce čo vlastne môžeme v externej konfigurácii konkrétnej oblasti použiť, vidíme nižšie v tabuľke. Pokiaľ je ako paramete za AllowOverride uvedená iná diretíva než None, postupne sú serverom načítavané súbory .htaccess (respektíve tie, ktoré sme definovali direktívou AccessFileName) od koreňového (root) adresára až po žiadaný objekt (súbor). Príklad:

<Directory „/home/httpd/htd­ocs“>
   AllowOverride Limit Options AuthConfig
</Directory>


Ak je požadovaný súbor napríklad /home/httpd/htd­ocs/fajl.htm, potom server vyhľadá a načíta všetky súbory .htaccess : /.htaccess, /home/.htaccess, /home/httpd/.htac­cess, /home/httpd/htd­ocs/.htaccess.
Poznámka: defaultné nastavenie direktívy AllowOverride je All


Tabuľka parametrov direktívy AllowOverride

Tabulka č. 116
Direktíva Parameter Direktívy, ktoré parameter povoľuje použivať v .htaccess
AllowOverride AuthConfig AuthDBMGroupFile, AuthDBMUserFile, AuthGroupFile, AuthName, AuthType, AuthUserFile, Require,… – autorizačné direktívy
FileInfo AddEncoding, AddLanguage, AddType, DefaultType, ErrorDocument, LanguagePriori­ty,… – direktívy definujúce typy súborov
Indexes AddDescription, AddIcon, AddIconByEnco­ding, AddIconByType, DefaultIcon, DirectoryIndex, FancyIndexing, HeaderName, IndexIgnore, IndexOptions, ReadmeName,… – direktívy nastavujúce napríklad ikony rôznych typov súborov
Limit Order, Allow, Deny
Options Options, XBitHack
All Nahradzuje všetky direktívy (AuthConfig, FileInfo, Indexes,… atd)
None Nepovolí sa vôbec použitie súborov .htaccess



A ako to funguje v praxi ? Malý príklad na pochopenie:

Najskôr si v súbore httpd.conf (okrem iného) zadefinujeme aj nejaké tie oblasti:

AccessFileName .htaccess

DocumentRoot „/home/httpd“

<Directory „/htdocs“>
   AllowOverride All
   Order Allow, Deny
   Allow from All
</Directory>


<Directory „/extdocs“>
   AllowOverride Limit Options
   Order Allow, Deny
   Allow from All
</Directory>


Ďalej vytvoríme potrebné súbory /home/httpd/htd­ocs/.htaccess a /home/httpd/ex­tdocs/.htacces­s, ktoré budú mať napríklad takúto jednoduchú štruktúru:

#súbor /home/httpd/htd­ocs/.htaccess
Options FollowSymLinks Indexes Includes ExecCGI
ErrorDocument 401 /error401.html
ErrorDocument 403 /error403.html
Order Deny, Allow
Allow from All


#súbor /home/httpd/ex­tdocs/.htaccess
Options Includes Indexes
Order Deny, Allow
Deny from All
Allow apache.org


A sme hotoví! Pri požiadavke napríklad na súbor /home/httpd/ex­tdocs/index.html Apache načíta všetky nájdené subory .htaccess zo všetkých adresárov, do ktorých žiadaný dokument patrí (/.htaccess, /home/.htaccess, /home/httpd/.htac­cess, /home/httpd/ex­tdocs/.htacces­s) a spracuje ich rovnakým spôsobom, ako keby direktívy v nich uvedené boli zapísané priamo v súbore httpd.conf medzi tagmi <Directory> a </Directory> (v tomto prípade budú uplatnené direktívy Includes a Indexes a, samozrejme, prístup k dokumentom v tomto adresári bude umožnený iba z domény apache.org).

ErrorDocument
V príklade vyššie som použil novú direktívu ErrorDocument, o ktorej som zatiaľ nič nepovedal. ErrorDocument definuje, čo sa zobrazí užívateľovi v browseri v prípade, že daný súbor, o ktorý žiadal, neexistuje, nemá naň práva a pod., čiže vtedy, keď je generovaná chyba (napr.: 403 Forbiden – zákaz prístupu). Syntax tejto direktívy je :

ErrorDocument kód_chyby súbor

kde súbor je meno súboru, ktorý sa má zobraziť, alebo text uvedený na začiatku úvodzovkami, napr.:

ErrorDocument /zle_url.htm

alebo

ErrorDocument "Ľutujem, ale zadali ste zlé URL!


Toľko pre dnes. Z obsahu budúcej časti: pozrieme sa na pár ďaľších, potrebných direktív rôzneho zamerania a naučíme sa niečo o moduloch, ktoré sú v Apache v mnohých pípadoch nesmierne potrebné.

Našli jste v článku chybu?
120na80.cz: 5 nejčastějších mýtů o kondomech

5 nejčastějších mýtů o kondomech

Měšec.cz: Komu musí od ledna zvýšit mzdu?

Komu musí od ledna zvýšit mzdu?

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

DigiZone.cz: ČRo rozšiřuje DAB do Berouna

ČRo rozšiřuje DAB do Berouna

Vitalia.cz: Vychytané vály a válečky na vánoční cukroví

Vychytané vály a válečky na vánoční cukroví

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Vitalia.cz: Potvrzeno: Pobyt v lese je skvělý na imunitu

Potvrzeno: Pobyt v lese je skvělý na imunitu

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Vitalia.cz: Když přijdete o oko, přijdete na rok o řidičák

Když přijdete o oko, přijdete na rok o řidičák

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

120na80.cz: Horní cesty dýchací. Zkuste fytofarmaka

Horní cesty dýchací. Zkuste fytofarmaka

Vitalia.cz: Pamlsková vyhláška bude platit jen na základkách

Pamlsková vyhláška bude platit jen na základkách

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

DigiZone.cz: Flix TV: dva set-top boxy za korunu

Flix TV: dva set-top boxy za korunu

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru