Hlavní navigace

Malý průvodce konfigurací Apache

Tomáš Lopašovský

Webový server Apache si čoraz rýchlejšie získava nových užívateľov a tým aj veľkú popularitu. Niet divu, veď je stabilný, spoľahlivý, flexibilný... no proste taký ideál medzi webovými servermi :). Skúsme sa na neho teraz pozrieť zblízka, teda konkrétne na jeho konfiguráciu.

Najdôležitejšou časťou konfigurácie tohoto serveru je nastavenie správnych hodnôt direktív v konfiguračnom súbore. Aby sme tieto hodnoty vedeli nastaviť, musíme najprv poznať, čo ktorá direktíva znamená. No a práve to je účelom tohoto článku. Konfiguračný súbor, o ktorom som sa vyššie zmienil, sa volá httpd.conf a býva umiestnený napríklad v adresáry /etc/httpd/conf/ alebo /usr/local/Apache/con­f, ale závisí to od distribúcie. httpd.conf je hlavným konfiguračným súborom, ale iné distribúcie môžu používať súbory tri: httpd.conf, access.conf a srm.conf. Potom srm.conf obsahuje nastavenia súvisiace s dokumentami poskytovanými serverom, access.conf zase s prístupom k týmto dokumentom. V novších verziách Apache sú ale všetky potrebné nastavenia zapísané práve v súbore httpd.conf. Jeho veľkosť sa môže pohybovať v rozmedzí 10 – 40kB. z toho je asi 80% komentárov k jednotlivým direktívam. Keď sme už pri tých komentároch – každý riadok začínajúci znakom # je serverom ignorovaný a slúži iba ako poznámka / okomentovanie (teda napríklad direktívy). Celý httpd.conf je rozdelený na 3 časti: 1. časť obsahuje viac-menej všeobecné direktívy, napríklad nastavenie portov, rôznych pomocných súborov a pod. 2. časť je hlavná konfigurácia – zabezpečenie najdôležitejších adresárov, logovacích súborov… No a nakoniec tretia časť sa zaoberá virtuálnymi servermi. Tak sa do toho teda pustime:)

ServerType
Sú dva spôsoby spúšťania serveru Apache. Buď z inetd (vtedy zvolíme parameter direktívy inetd), alebo ako samostatného démona (standalone). Odporúčam nastaviť na standalone.
ServerType standalone

ServerRoot
Hlavný adresár, v ktorom bude Apache hladať konfiguračné súbory (adresár conf/) a logy (adresár logs/). Zadáva sa bez lomítka na konci cesty!
ServerRoot /etc/inetd

PidFile
Súbor definovaný v tejto direktíve slúži serveru na ukladanie id procesov. Cesta k súboru sa zadáva buď relatívna (vzhľadom na ServerRoot):
PidFile logs/httpd.pid
alebo úplná:
PidFile /etc/inetd/log­s/httpd.pid
V tejto a nasledujúcich direktívach odporúčam používať relatívne cesty. Sú výhodnejšie v tom prípade, keby sme v budúcnosti zmenili hlavný adresár Apache (ServerRoot) – nemusíme direktívy s cestami prepisovať, ale server si ich naapenduje (prilepí) práve k ceste zadanej v ServerRoot.

ScoreBoardFile
Ďaľší súbor súvisiaci s procesmi – tentokrát konkrétne na komunikáciu medzi procesmi. Pri tejto direktíve dávame pozor, aby dva Apache nemali ten istý score board súbor!
ScoreBoardFile logs/Apache_sco­re_board

AccessConfig a ResourceConfig
Tieto dve direktívy potrebujeme v tom prípade, keď chceme/potrebujeme používať systém troch konfiguračných súborov (httpd.conf, access.conf a srm.conf). Vtedy ResourceConfig definuje miesto, kde sa nachádza srm.conf, a AccessConfig, ako už názov napovedá, miesto kde server nájde súbor access.conf. Aj tu platí odporúčané používanie relatívnych ciest.
AccessConfig conf/access.conf
ResourceConfig conf/srm.conf

Timeout
Definuje ako dlho bude server čakať na prijatie určitej požiadavky od klienta. Čas udávaný touto direktívou je v sekundách a obvykle býva nastavený na 300, čo je optimálna hodnota.
Timeout 300

KeepAlive
Funkcia Keep Alive umožňuje vybaviť viac požiadaviek počas jedného spojenia: otvorí sa spojenie na určitú požiadavku, načo sa táto požiadavka vybaví. Pokiaľ je nastavený KeepAlive On server počká čas definovaný direktívou KeepAliveTimeout a v prípade, že nepríde od klienta za tento čas daľšia požiadavka, spojenie sa uzatvorí. Možné hodnoty tejto direktívy sú On alebo Off :
KeepAlive On

MaxKeepAliveRe­quests
Maximálny počet požiadaviek, ktoré môže Apache vybaviť v rámci jedného Keep Alive spojenia. Optimálna hodnota je 100 požiadavok.
MaxKeepAliveRe­quests 100

KeepAliveTimeout
Udáva čas, ktorý bude Apache čakať na prijatie ďaľšej požiadavky v rámci jedného (Keep Alive) spojenia. Po uplynutí tejto doby sa spojenie medzi serverom a klientom uzavrie. Tak ako v direktíve Timeout, aj táto hodnota sa udáva v sekundách.
KeepAliveTime­out 15

StartServers
Táto direktíva určuje, koľko voľných démonov Apache sa má spustiť ihneď pri štarte serveru. Pri určovaní hodnoty zároveň myslíme na hodnotu udanú direktívou MaxSpareServers (pozri nižšie).
StartServers 10

MinSpareServers a MaxSpareServers
Tu zabezpečujeme minimálny a maximálny počet voľných, neobsadených démonov. Neobsadené kópie Apache sú potrebné napríklad pre náhly vzrast požiadaviek na server. V „kľudovom stave“ udržuje Apache počet svojich kópií medzi hodnotami MinSpareServers a MaxSpareServers. Pokiaľ sa dostane množstvo týchto kópii pod hranicu udanú MinSpareServers, Apache spustí nové, voľné kópie. A naopak, ak počet voľných kópií stúpne nad MaxSpareServers, Apache prebytočné kópie zruší.
MinSpareServers 8
MaxSpareServer­s 20

MaxClients
Maximálny počet démonov Apache, ktorý možu naraz bežat.
MaxClients 150

MaxRequestPerChild
Povolený počet požiadaviek na jedného bežiaceho démona Apache. Ak sa prekročí počet týchto požiadaviek, kópia démona Apache sa zruší. Obvykle sa hodnota tejto direktívy nastavuje na nulu, čo je vlaste vypnutie kontroly počtu požiadaviek, pretože nie je potrebná – používa sa zriedkavo, pri niektorých typoch operačných systémov, ako je napríklad Solaris.
MaxRequestPer­Child 0

Listen
Definuje, na akom porte a/alebo na akej ip adrese bude Apache čakať na požiadavky od klientov. napr.:
Listen 12.34.56.78:80
Listen 8080
znamená, že server bude „počúvať“ na porte 8080 na všetkých adresách a zvlášť ešte na adrese 12.34.56.78 na porte 80

BindAddress
Určuje iba ip adresu (nie konkrétny port) na ktorej bude očakávať Apache požiadavky od klienta. Adresa zadaná touto direktívou bude jedinou adresou, z ktorej budú akceptované požiadavky na server. Zadanie znaku * spôsobí to isté, ako úplné vynechanie tejto direktívy – Apache bude reagovať na požiadavky na všetkých svojich ip adresách. Táto direktíva sa v konfiguračnom súbore smie použiť iba jediný raz!
BindAddress *

Nabudúce sa pozrieme na nastavenia vlastností a prístupových práv rôznych adresárov. Taktiež si povieme niečo o moduloch.

Našli jste v článku chybu?

15. 3. 2001 11:14

Jokem (neregistrovaný)

Vzhledem k tomu ze s Linuxem/Apache zacinam urcite budu tenhle serial sledovat.
Je mi jasne ze se najde spousta znalych, kterym pripada zbytecne cist o tom ze se neco nachazi v adresary X nebo Y, event. ze tenhle radek nic nedela, protoze....
Ale ja si zrovna tohle nekde precist chci protoze me presne tohle zajima.
Tak at Rootu podobne *odborne* :o) clanky ziskavaji nove navstevniky a Linuxu nove uzivatele.
Jok





14. 3. 2001 17:28

J.Kastl (neregistrovaný)

Virtuální server v doméně, kde jsou připuštěna zkrácená doménová jména:
Je nějaký jiný jednoduchý způsob, jak umožnit správný přístup na virtuální server zadaný v oné doméně svým zkráceným jménem (bez použití proxy-serveru), než že byly založeny dva stejné virtuální servery (první s normálním, druhý se zkráceným jménem) ?
Na druhou stranu lze takto v krajním případě pro orignální server definovat (jiný) virtuální server, ale pro jeho zkrácené jméno. Vně vaší organizace lidé začínají úvodními b…

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í

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

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

Komu musí od ledna zvýšit mzdu?

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

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

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

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: mBank cenzuruje, zrušila mFórum

mBank cenzuruje, zrušila mFórum

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

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

Horní cesty dýchací. Zkuste fytofarmaka

Podnikatel.cz: Udávání kvůli EET začalo

Udávání kvůli EET začalo

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: Chtějte údaje k dani z nemovitostí do mailu

Chtějte údaje k dani z nemovitostí do mailu

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

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

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

Vitalia.cz: Taky věříte na pravidlo 5 sekund?

Taky věříte na pravidlo 5 sekund?