Untitled - Vitajte na stránkach www.einsty.hostujem.sk
Untitled - Vitajte na stránkach www.einsty.hostujem.sk
Untitled - Vitajte na stránkach www.einsty.hostujem.sk
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
S O F T W A R E<br />
DAV – jednoduchšia správa webu pod Apache<br />
Ak jedno WWW sídlo spravuje viac ¾udí, <strong>na</strong>vyše z rôznych miest <strong>na</strong> internete,<br />
zákonite vznikajú problémy. Najmä administrátori škol<strong>sk</strong>ých sietí to iste poz<strong>na</strong>jú:<br />
pokým je webmaster v škole, môže s WWW stránkami pracova <strong>na</strong>príklad cez<br />
Sambu ve¾mi elegantne. Ako ho však vpusti k stránkam, ak ich chce editova z<br />
domu? Ak mu urobíme obyèajné prístupové konto, potom bude musie by v nejakej<br />
osobitnej <strong>sk</strong>upine, ktorá môže editova WWW stránky. Navyše po každom<br />
uploade nových stránok im bude musie zrejme zmeni prístupové práva, pritom<br />
bude stále vlastníkom všetkých dokumentov, ktoré zmenil (je lepšie, keï tieto<br />
dokumenty patria tomu UID, pod ktorým beží webový server). Z takéhoto postupu<br />
bude otrávený èo<strong>sk</strong>oro aj webmaster, aj správca servera.<br />
Ove¾a krajšie riešenie nám ponúka protokol DAV – Distributed Authoring<br />
and Versioning. DAV je rozšírením klasického protokolu HTTP o metódy,<br />
vïaka ktorým je možné editova , vytvára èi odstraòova dokumenty z<br />
WWW sídla priamo cez webový server. V zásade je DAV dodefinovanie<br />
operácií typu „vytvor súbor, zmaž súbor, vytvor adresár, zmaž adresár atï.“<br />
<strong>na</strong>d protokolom HTTP. Nám vïaka tomu odpadajú starosti s vlastníkom èi<br />
právami súborov, to si ustráži webový server sám. V súèasnosti podporuje<br />
DAV viacero webových serverov, my sa v tomto èlánku pozrieme <strong>na</strong> podporu<br />
DAV pod Apache.<br />
INŠTALÁCIA, KOMPILÁCIA, KONFIGURÁCIA. Apache 1.3.x samostatne<br />
nepodporuje protokol DAV. Na jeho podporu potrebujeme modul mod_dav,<br />
ktorý je možné nájs <strong>na</strong> http://<strong>www</strong>.webdav.org/mod_dav. V èase písania tohto<br />
èlánku bola k dispozícii verzia modulu 1.0.3, ktorá vyžadovala Apache 1.3.6<br />
alebo novší.<br />
Inštalácia je v<strong>sk</strong>utku jednoduchá: po rozbalení archívu so zdrojovými textami<br />
staèilo zada príkaz ./configure —with-apxs=, potom<br />
make a <strong>na</strong> konci make install.<br />
Pred použitím DAV je potrebné upravi dvoma direktívami konfiguráciu<br />
Apache v súbore httpd.conf. Predovšetkým do všeobecnej èasti httpd.conf je<br />
potrebné prida direktívu DAVLockDB. Touto direktívou sa <strong>na</strong>stavuje meno<br />
súboru, kde si bude mod_dav uklada informácie o uzamknutých súboroch<br />
(aby nemohlo viac ¾udí <strong>na</strong>raz editova jeden súbor; uzamykanie však musí podporova<br />
aj editor). Odporúèa sa vytvori adresár var niekde pod adresárom<br />
ServerRoot a uzamykacie súbory uklada doò. Napríklad:<br />
ServerRoot /usr/local/apache<br />
...<br />
DAVLockDB /usr/local/apache/var/davlock<br />
Meno súboru pri direktíve DAVLockDB nemá obsahova príponu. Adresár,<br />
do ktorého sa budú uklada uzamykacie súbory, musí ma <strong>na</strong>stavené prístupové<br />
práva tak, aby v òom mohol Apache vytvára a prepisova súbory.<br />
Ïalšia direktíva sa volá jednoducho DAV. Môže by <strong>na</strong>stavená <strong>na</strong> On alebo<br />
Off a pomocou nej sa zapí<strong>na</strong> alebo vypí<strong>na</strong> možnos prístupu cez DAV. Direktíva<br />
DAV môže by uvedená buï vo všeobecnej èasti súboru httpd.conf (potom sa<br />
prístup cez DAV umožní k celému WWW sídlu), alebo vnútri ktoréhoko¾vek<br />
bloku , alebo , potom je jej pôsobnos<br />
obmedzená len <strong>na</strong> tento blok.<br />
Pozornému èitate¾ovi by teraz mohla zís <strong>na</strong> um námietka: „Keï povolím prístup<br />
k môjmu webu cez DAV, potom tam predsa bude môc hocikto èoko¾vek<br />
zmeni !“ Ve¾mi správne – ak necháme konfiguráciu v tomto stave, potom sme<br />
svoj web otvorili celému svetu.<br />
Protokol DAV nemá vo svojej špecifikácii stanovené, akým spôsobom sa majú<br />
používatelia autorizova . Autorizácia je ponechaná <strong>na</strong> réžii webového servera.<br />
Inými slovami, prístup cez DAV môžeme v Apache obmedzova rov<strong>na</strong>kým spôsobom,<br />
akým sa obmedzuje prístup používate¾ov k vybraným stránkam.<br />
Najlepšie bude uvies príklad:<br />
Alias „/ma<strong>na</strong>ge“ „/var/<strong>www</strong>“<br />
<br />
DAV On<br />
AddType text/plain .php .php3<br />
AuthType Basic<br />
AuthName „Web Ma<strong>na</strong>gement Area“<br />
AuthUserFile /usr/local/apache/private/htpass<br />
require user webmaster<br />
<br />
Predpokladajme, že náš web je uložený pod adresárom /var/<strong>www</strong>. Vytvorili<br />
sme si pre tento adresár ešte jeden alias s menom /ma<strong>na</strong>ge. Vnútri tohto aliasu<br />
sme povolili prístup cez DAV, ale zároveò sme povedali, že k tomuto aliasu,<br />
a teda aj k rozhraniu DAV má prístup iba používate¾ webmaster. Používate¾ovi<br />
webmasterovi musíme teraz vytvori prístupové meno a heslo. Predpokladám,<br />
že už existuje súbor /usr/local/apache/private/htpass, kam sa ukladajú prístupové<br />
mená a heslá pre Apache. Potom príkazom<br />
htpasswd /usr/local/apache/private/htpass webmaster<br />
používate¾ovi webmasterovi vytvoríme „konto“, ktoré musí pri ma<strong>na</strong>žovaní webu<br />
použi .<br />
Dôvod použitia direktívy AddType objasním ne<strong>sk</strong>ôr.<br />
MÁME DAV... A ÈO S NÍM? Závisí to od toho, pod akým operaèným<br />
systémom chceme <strong>na</strong>še stránky spravova . Otvorene sa priznávam, že som<br />
ne<strong>na</strong>šiel ve¾a aplikácií pod Linuxom, ktoré by <strong>na</strong>tívne DAV podporovali.<br />
Existuje však priamo driver do kernelu, ktorý umožòuje primontova dokumenty<br />
spravovate¾né cez DAV z webu rov<strong>na</strong>ko, ako si primontujem CD alebo<br />
di<strong>sk</strong>etu, keï s òou plánujem pod Linuxom pracova . Potom môžem spravova<br />
dokumenty <strong>na</strong> DAV serveri z hocijakej aplikácie.<br />
Tento driver – davfs – sa dá zí<strong>sk</strong>a <strong>na</strong> http://dav.sf.net. Po rozbalení archívu<br />
zdrojových textov a <strong>sk</strong>onfigurovaní príkazom ./configure —with-kernel= a <strong>na</strong>inštalovaní príkazom make install sa vytvorí<br />
nový modul jadra, automaticky sa pridá k ostatným modulom, zároveò zí<strong>sk</strong>ame<br />
nový príkaz mount.davfs. Týmto príkazom je možné pripoji si dokumenty<br />
z DAV spravovate¾ného webového servera. Vrátim sa k predošlému príkladu s<br />
lokalitou /ma<strong>na</strong>ge: mount.davfs http://<strong>na</strong>s.server.<strong>sk</strong>/ma<strong>na</strong>ge/ /mnt.<br />
Je dôležité písa úplné URL a <strong>na</strong> konci URL musí by lomka. Po tomto príkaze<br />
sa môže (pod¾a toho, èi server požaduje autorizáciu) objavi prihlasovací dialóg, a<br />
ak zadané meno a heslo vyhovujú, máme zrazu cez adresár /mnt prístup k dokumentom<br />
<strong>na</strong> <strong>na</strong>šom serveri. Môžeme ich editova , upravova , prepisova , maza èi<br />
vytvára úplne bez problémov. V <strong>sk</strong>utoènosti komunikácia medzi <strong>na</strong>mi a Apache<br />
beží pomocou protokolu HTTP, rozšíreného o metódy DAV.<br />
Teraz treba vysvetli , preèo som v predošlom príklade lokality /ma<strong>na</strong>ge<br />
použil direktívu AddType. Vysvetlím to však z opaèného konca: keby sme ju<br />
nepoužili, nemohli by sme editova zdrojové texty PHP <strong>sk</strong>riptov. Namiesto<br />
zdrojového textu by sme vždy dostali len jeho výstup. To preto, lebo <strong>na</strong><br />
operáciu èítania sa používa obyèajné HTTP volanie „GET“, <strong>na</strong> ktoré Apache<br />
zareaguje tak, ako sa vlastne aj patrí – spustí PHP <strong>sk</strong>ript a pošle nám jeho<br />
výstup. Keïže sme však direktívou AddType Apache povedali, že súbory s príponou<br />
.php sú obyèajné textové súbory, nebude ich spúš a , ale dá nám<br />
rovno ich obsah – a to je to, èo práve chceme. Zdôrazòujem, že podobné<br />
opatrenie je potrebné spravi pre všetky dy<strong>na</strong>mické dokumenty <strong>na</strong> serveri,<br />
ktorých zdrojové texty chceme editova , a to nezávisle od toho, èi ich budeme<br />
editova pod Linuxom alebo pod iným OS.<br />
Svet Microsoftu je <strong>na</strong> tom o nieèo lepšie. Internet Explorer od verzie 5.0 podporuje<br />
tzv. Web Folders, èo nie je niè iné ako DAV spravovate¾né stránky. Ak<br />
máte <strong>na</strong>inštalovaný MSIE 5.0 a vyššie, otvorte okno Tento poèítaè a h¾adajte<br />
Prieèinky siete WWW. Po poklikaní <strong>na</strong> túto ikonu sa otvorí nové okno. V òom<br />
kliknite <strong>na</strong> Add New Folder, vyplòte potrebné okienka, a ak je všetko v poriadku,<br />
mali by ste ma možnos k vašim dokumentom pristupova cez Prie<strong>sk</strong>umníka<br />
ako k lokálnym súborom.<br />
Naschvál som <strong>na</strong>písal, „ak je všetko v poriadku“. Hoci totiž dokumentácia<br />
MS hovorí nieèo iné, ja som sa cez MSIE 5.5 nemohol <strong>na</strong> svoje zložky DAV<br />
dosta . Pod¾a informácií, ktoré som <strong>na</strong>šiel <strong>na</strong> internete, by mala MSIE 5.0 fungova<br />
, rov<strong>na</strong>ko aj Office 2000 a Office XP.<br />
ZÁVER. Verím, že mnohí z vás si spomí<strong>na</strong>jú <strong>na</strong> proprietárne riešenie Frontpage<br />
Server Extensions, ktoré dovo¾ovalo z prostredia Windows ma<strong>na</strong>žova<br />
webové sídla. DAV je a<strong>na</strong>logické, no otvorené riešenie. Ak bude podpora DAV<br />
zo strany MS lepšia (a pod¾a všetkého sa lepší), potom DAV podpora v Apache<br />
urèite ušetrí mnoho problémov a starostí tak webmasterom, ako aj správcom<br />
serverov.<br />
Peter Palúch<br />
112 PC REVUE 12/2001