Konfigurace Apache

Zdeněk Měrka, xmerka@fi.muni.cz


Obsah


HTTP protokol

HyperText Transfer Protokol (HTTP) je protokol aplikační vrstvy a definuje pravidla komunikace mezi HTTP klientem a HTTP serverem. Dnes se používají verze HTTP 1.0 definovaná standartem RCF 1945 a novější HTTP 1.1 RCF 2068.

HTTP protokol pracuje tak, že klient pošle požadavek na server, server naslouchá na portu 80 (což je implicitni port pro protokol HTTP), převezme tento požadavek vyhodnotí a pošle klientovy požadovaný dokument.

Jeden z hlavních rozdílů mezi HTTP 1.0 a 1.1 spočívá v tom, že HTTP 1.1. zavádí možnost trvalého spojení mezi klientem a serverem a v rámci tohoto spojení jsou vyřizovány všechny požadavky. Tyto požadavky musí mit pevnou délku definovanou v hlavičce Message-length. Spojení je ukončeno zasláním Connection: close, kterou posíla server nebo klient.

Příklad požadavku metodou GET:

Příklad odpovědi serveru:

Tento dokument je předán klientovy a ten zpracuje podle MIME hlaviček jeho zobrazení. Další dostupné metody používané protokolem HTTP jsou POST, DELETE, CONNECT.

Jak pracuje Apache

Dnes (10/2000) je k dispozici verze Apache 1.3.14 a je uvolněna verze Apache 2.0a7 Alpha. V tomto článku se budeme věnovat verzi 1.3.

Stručně řečeno Apache pracuje tak, že z požadavku klienta získá URL adresu, tu převede na jméno souboru a ten pošle zpět.

Apache respektive jeho binární podoba httpd se spouští buď při startu systému nebo z terminálu. Spuštění při startu systému lze realizovat dvěma způsoby.
Buď při startu je spuštěn přímo httpd daemon, který naslouchá na jednom či více portech (implicitni pro službu HTTP je port 80) a obsluhuje příchozí požadavky.
Nebo je tento deamon spuštěn inetd deamonem, ktery rozpozná (dle /etc/inetd.conf), že požadavek, který přišel, má obsloužit httpd a spustí jej.


Konfigurace Apache

Nejprve si zvolime tzv. webovský prostor, ve kterém budou uloženy vlastní www stránky, soubory, obrázky atd. Implicitně je zvoleno /home/httpd/html. Z bezpečnostních důvodů nejsou v tomto adresáři umístěny spustitelné skripty, ty se implicitně umistují do /home/httpd/cgi-bin.


Práva adresářů a dokumentů

Jelikož podřízené kopie Apache přistupují k daným souborům a adresářům s oprávněním ostatní, je potřeba pro správnou funkci nastavit tato oprávnění.


Direktivy

Vlastní konfigurace se provádí v adresáři /etc/httpd/conf, v /etc/httpd/logs se zaznamenávají údaje o přístupech a o chybách, v /etc/httpd/modules jsou používané moduly.

Nejdůležitějším konfiguračním souborem je /etc/httpd/conf/httpd.conf. Tento soubor řídí vlastní chování httpd deamona. Jsou v něm uvedeny řídící direktivy.


Dvojité direktivy


Počeštění

Jestliže máme HTML stránky vytvořeny ve výce jazycích, tak každé takové stránce přiřadíme postfixovou příponu. Mezinárodně se používá pro češtinu .cz, pro angličtinu .en pro slovenštinu .sk atd. Direktivou AddLanguage cz .cz zadáme s jakym postfixem bude server vracet dokumenty. Toto však funguje jen podporuje-li tuto volbu klient, který požaduje dokument. Jetliže klientský prohlížeč toto nepodporuje, pak lze určit direktivou LanguagePriority cz en sk s jakoým postfixem má server vracet dokumenty.

O počeštění Apache se stará modul mod_czech.c tento modul se instaluje direktivou AddModule mod_czech.c v souboru /etc/httpd/conf/httpd.conf. Tento modul se pak stará o správný výběr kodování a překódování znakových sad dokumentů.

Řídící direktivy modulu mod_czech.c


Zdroje