Spouštění
Pro spuštění démona webserveru spustťte httpd
bez parametrů. Démon si najde konfigurační soubory. Implicitně je hledá v /usr/local/etc/httpd/conf/httpd.conf
. Pokud se nachází někde jinde, musíme zadat cestu k souboru pomocí argumentu –f:
#httpd –f /apache/conf/httpd.conf
Jestliže se server spustí úspěšně, budete vráceni zpět do příkazového řádku a démon poběží na pozadí. Tuto skutečnost si můžete ověřit ve výpisu spuštěných procesů:
#ps –A | grep httpd
Dojde-li ke chybě, najdete na obrazovce chybové hlášení s detailním popisem nastalé situace. Nyní se můžeme k serveru připojit prostřednictvím prohlížeče. Zadejte adresu http://localhost/
. Server používá výchozí port 80 – ten je výchozí i pro všechny prohlížeče. Při jakémkoli selhání je k dispozici soubor s chybovými hlášeními. Jedná se o error_log
v adresáři logs
. Jako provozovatel webserveru budete jistě chtít, aby se Apache spouštěl po automaticky po startu systému a vy jste se nemuseli denně obtěžovat psaním příkazu. Musíte proto přidat příslušný příkaz do spouštěcího skriptu vašeho systému.
Zastavení
Ukončení činnosti démona se provádí odesláním signálu TERM hlavnímu procesu. Potřebujete znát ID tohoto procesu a to získáte ze souboru httpd.pid
v adresáři logs
. Použijete unixovou fintu se zpětnými uvozovkami:
#kill –TERM `cat /apache/logs/httpd.pid`
Apache během svého „života“ spouští další (podřazené) procesy. Nikdy nepřerušujte tyto procesy, ale zastavujte jen proces hlavní, jehož PID je uloženo. Kořenový proces se postará o zastavení podřízených procesů sám. Může to trvat i několik sekund. Signál TERM vede k okamžitému ukončení všech zpracovávaných požadavků.
Restart
Naopak signál HUP povede k okamžitému restartování serveru. Zabijí se jen podřízené procesy a hlavní proces poběží dál. Potom se znovu načtou konfigurační soubory a otevřou se logy. Zpracovávání veškerých požadavků bude přerušeno. Chcete-li, aby tomu tak nebylo, tedy aby byly všechny požadavky vyřízeny před restartem, použijte signál USR1.
Autentizace
Autentizací se v tomto případě rozumí omezení přístupu do nějakého adresáře prostřednictvím přiděleného přístupového jména a hesla. V hlavičce každé odpovědi serveru je obsažen dotaz na tuto kombinaci a v hlavičce každého požadavku klienta musí být obsaženo uživatelské jméno a heslo, jinak bude přístup odmítnut. Prohlížeče zobrazují zpravidla podobný dialog:

Autentizace se týká vždy konkrétního adresáře, takže se v konfiguračním souboru uvádí mezi „značky“ <Directory>
a </Directory>
. Různé adresáře mohou požadovat jiné přihlašovací údaje. Úsek konfiguračního souboru by mohl vypadat následovně:
<Directory /duverne> AuthType Basic AuthName „Důvěrné“ AuthUserFile /hesla/duverne/hesla.txt Require user Franta Pepa Petr Pavel Frank </Directory /duverne>
Direktiva AuthType
udává typ autentizace. Apache totiž implementuje dva druhy autentizace – základní, neboli Basic
a pokročilou, Digest
. My začneme pro jednoduchost typem Basic
, i když to není to příliš bezpečný způsob ověřování. Heslo se před přenosem nešifruje a posílá se internetem jak plain text. Pro zkušenějšího hackera by neměl být problém takové heslo odhalit.
AuthName
nastavuje řetězec, kterým bude návštěvník dotázán na přihlašovací údaje – zobrazí se v dialogovém okně prohlížeče. AuthUserFile
udává umístění souboru se seznamem uživatelských jmen a jejich hesel v souborovém systému. Require
udává, kdo bude mít k adresáři přístup. Můžeme uvést výčet uživatelů jako v příkladu výše nebo klíčové slovo valid-users
zastupující všechny uživatele v daném souboru. Další možností je použití skupin. V takovém případě musíme ještě uvést, kde se nachází definice skupin, direktivou AuthGroupFile
.
Autentizační soubory
Obsah soubor s kombinacemi uživatelského jména a hesla se nevytváří ručně. Instalace Apache obsahuje spustitelný soubor htpasswd
, který spravuje obsah souboru. Nemusíme do něj vůbec nahlížet. Není-li soubor s kombinacemi uživatelského jména a hesla vytvořen, použijeme přepínač –c
, čímž ríkáme, že se má vytvořit (create). Syntaxe je následovná:
#htpasswd –c hesla.txt Franta
Vytvoří se nový soubor hesla.txt v aktuálním adresáři a jsme dotázáni na heslo pro uživatele Franta
. Máme-li soubor vytvořen a chceme pokračovat přidáním uživatele, pak používáme htpasswd
bez přepínače:
#htpasswd hesla.txt Pepa
Výše uvedený příkaz zapíše do souboru hesla.txt
záznam pro uživatele Pepa a dotáže se nás na jeho heslo.
Se skupinami je tomu jinak. Seznam skupin se uvádí v prostých textových souborech, které mohou vypadat následovně:
partaci: Franta Pepa Petr Pavel americani: Dave Frank spanele: Jose
V direktivě AuthGroupFile
uvedeme adresu tohoto souboru. Potom už můžeme některé nebo všechny tyto skupiny použít v require
:
<Directory /duverne> AuthType Basic AuthName „Důvěrné“ AuthUserFile /hesla/duverne/hesla.txt AuthGroupFile /hesla/duverne/skupiny.txt Require group partaci </Directory /duverne>
Nezapomeňte, že uvádíte-li v Require
skupinu, musíte použít AuthGroupFile
i AuthUserFile
, jinak by Apache
nevěděl, jak ověřit hesla jednotlivých uživatelů.
Co dál
Příště si řekneme něco o konfiguračních sekcích a konfiguračních souborech obecně.