něco o mně | fotogalerie | guestbook | download |

Apache - konfigurace httpd.conf

Sekce globálního nastavení (Global Environment) ovlivňuje základní vlastnosti serveru, jako jsou režim běhu, umístění konfiguračních souborů či počet souběžných dotazů, kterým server zároveň vyhoví. Při zápisu cest se i ve Windows používají klasická lomítka.

ServerType standalone - typ serveru rozlišuje režim standalone (samostatný) nebo inetd (dostupné jen na Unix platformách).

ServerRoot "c:/Apache" - adresář, ve kterém je Apache nainstalován. Od tohoto adresáře se odvozují všechny další relativní cesty. Uvědomte si, že nejde o místo, kde je nainstalován spustitelný soubor Apache, ale o adresář obsahující nastavení, byť v případě Win platformy lze s úspěchem obojí držet v jednom (na Unix platformách obvykle /etc/httpd).

PidFile "logs/httpd.pid" - soubor, do kterého si při startu server ukládá identifikační číslo svého procesu. Praktické využití je asi pouze na Unix systémech, kde se díky tomuto souboru zjišťuje číslo procesu pro restart, zaslání signálu k ukončení běhu serveru apod.

ScoreBoardFile "logs/apache_status" - soubor, do kterého si Apache ukládá interní informace. Není to vždy zapotřebí, ale pokud se vám tento soubor vytvoří při běhu, musíte zajistit, aby se v případě vícenásobného spuštění serveru nesdílel stejný soubor. Stručně řečeno, každá instance serveru potřebuje svůj vlastní ScoreBoardFile, na což si musíte dát pozor při psaní jednotlivých konfiguračních souborů.

Timeout 300 - počet vteřin, po jejichž uplynutí se předpokládá přerušení spojení.

KeepAlive On - aktivuje tzv. persistentní spojení, kdy může prohlížeč při jednom spojení žádat více dotazů. Velmi to urychlí přenos, neboť klient nemusí zbytečně otevírat spojení a v jednom sledu může stáhnout jak stránku, tak i např. obrázky do stránky vložené.

MaxKeepAliveRequests 100 - maximální počet dotazů povolených během jednoho persistentního spojení. Čím více, tím větší výkon serveru. Pokud zadáte nulu, povolíte neomezený počet dotazů na jedno spojení, ovšem otevíráte cestu k zahlcení serveru, pokud by více klientů tahalo "nekonečné" množství dotazů.

KeepAliveTimeout 15 - jak dlouho se udržuje otevřené persistentní spojení, než dojde další dotaz. V praxi je to doba, do které musí dojít od stejného klienta na jednom spojení další dotaz, aby se vyřídil v rámci jednoho persistentního spojení.

MinSpareServers 8 a MaxSpareServers 32 - nastavení týkající se většinou pouze Unix platformy, které určuje, kolik instancí serverů bude vyčkávat v době nečinnosti. Výsledkem je zrychlení odezvy, než kdyby se proces vytvářel teprve až na základě dotazu. Drobnou nevýhodou je zvýšení zatížení systému a odčerpání části systémových zdrojů.

StartServers 16 - počet serverů, které se vytvoří ihned po spuštění. Důvody a vlastnosti jsou stejné, jako u předchozích direktiv MinSpareServers a MaxSpareServers.

MaxClients 150 - maximální počet současně běžících procesů serveru, čímž se vlastně limituje i maximální počet současných spojení. Není vhodné nastavovat příliš nízké číslo, jinak při zatížení mnoho klientů buď nepříjemně "zatuhne" při čekání na spojení a nebo rovnou nahlásí chybu připojení. Na druhou stranu tato direktiva nastavuje omezení počtu procesů, po jehož překročení by se server začal přespříliš zpomalovat, takže by nakonec nedokázal např. v limitu (viz timeout) vyřizovat přicházející dotazy. Konkrétní nastavení tedy záleží na výkonu počítače, na kterém server běží.

MaxRequestsPerChild 0 - maximum dotazů vyřízených potomkem Apache serveru. Obvykle nastaveno na nulu, což znamená bez omezení, ale u platforem, kde dochází k únikům paměti, je to cesta, jak po určité době proces zrušit, uvolnit jím okupovanou paměť a založit nový proces.

ThreadsPerChild 50 - omezení maximálního počtu programových "vláken", která vyřizují dotazy. Čím více povolíte, tím více současných požadavků se vyřizuje. O to více se ale zatíží systémové zdroje a vlastní zpracování se vzhledem k multitaskingu odpovídajícím způsobem zpomalí.

Listen 300 nebo Listen 127.0.0.1:8080 - pro začátek ne moc důležitá direktiva, která určuje, na kterých adresách či portech bude server naslouchat přicházejícím dotazům, navíc k základnímu nastavení. První varianta určuje pouze port, druhá přímo IP adresu včetně portu. Využití najde spíše na systémech s více síťovými kartami či adresami. Názorným příkladem může být aktivace podpory SSL, Na okraj - tohle je direktiva, kterou se aktivuje v případě podpory SSL, aby server naslouchal i na portu pro https://, což dosáhnete přidáním direktiv:

<IfDefine SSL> Listen 443 </IfDefine> - tuto část je nutné zadat až za sekci nahrávající rozšiřující moduly (DSO). Navíc je zde vidět i jedna z direktiv "podmíněných", která umožňuje zpracování konfiguračního souboru, podle zjištěného prostředí. Další podobnou direktivou je například <IfModule>.

ExtendedStatus Off - definuje, zda má server generovat úplný přehled svého stavu, pokud se použije "handler" server-status nebo server-info.

BindAddress * nebo BindAddress 192.168.0.1 nebo BindAddress apache.server.net - určuje, na kterých adresách Apache server naslouchá. Tato direktiva je důležitá, pokud chcete provozovat více virtuálních serverů na jednom počítači. Uvedením hvězdičky určujete, že se přijímají požadavky ze všech dostupných IP, které jsou na příslušném počítači nakonfigurovány. Jinak lze specifikovat vybranou IP adresu a nebo plnohodnotné jméno serveru (přeložitelné přes DNS server na IP adresu).

Dynamic Shared Objects (DSO) - prostor, ve kterém lze k vlastnímu serveru nahrát přídavné moduly, které zajišťují rozšíření funkcí.