COMPUTERWORLD
 

profil kontakt CD-ROM CW100 p°edplatnΘ

archiv anketa CO VY NA TO? CW kariΘra serißly
 

IDG

IDG CZ homepage
COMPUTERWORLD
PC WORLD
INTERNET4U
MEGABYTE
TESTCENTRUM
ON-LINE






COMPUTERWORLD 09/98

ZaΦφnßme

Ji°φ Kosek ml.

Jak to tak vypadß, zaΦali jste prßv∞ Φφst nov² serißl Aplikace na Webu, kter² bude pravideln∞ vychßzet ka₧d²ch Φtrnßct dnφ. Celß sΘrie Φlßnk∙ vÜak nevznikla jen tak nßhodou a sama od sebe. Voln²m zp∙sobem navazuje na serißl Vytvß°φme si domovskou strßnku, ve kterΘm jste se mohli seznßmit s jazykem HTML.

V²voj vÜak na nikoho neΦekß a webovΘ strßnky se dnes ji₧ zdaleka nepou₧φvajφ pouze k prezentaci dokument∙ na Internetu. P∙vodn∞ byl World Wide Web vyvinut jako pom∙cka pro sdφlenφ v²sledk∙ v∞deckΘho v²zkumu po celΘm sv∞t∞. Dnes se vÜak prost°edφ prohlφ₧eΦ∙ stßvß spφÜe novou platformou, na kterΘ mohou b∞₧et nejr∙zn∞jÜφ aplikace. Intranet p°ece nenφ nic jinΘho ne₧ podnikov² informaΦnφ systΘm, kter² je p°φstupn² pomocφ webovΘho prohlφ₧eΦe. Zcela obdobn²m zp∙sobem fungujφ i vÜem p°φstupnΘ strßnky pro objednßnφ nejr∙zn∞jÜφho zbo₧φ, pizzu nevyjφmaje.

Prohlφ₧eΦ se tak stßvß nejen brßnou k hypertextov∞ provßzan²m dokument∙m, ale i brßnou ke spoust∞ informacφ ulo₧en²ch v r∙zn²ch databßzφch a zßrove≥ novou platformou pro aplikace, kterΘ nejsou zßvislΘ na konkrΘtnφm operaΦnφm systΘmu.

V²Üe zmφn∞nou funkΦnost vÜak ji₧ nelze dosßhnout prost²m zßpisem strßnky v HTML a jejφm umφst∞nφm na WWW server. Strßnky nynφ musφ pru₧n∞ reagovat na po₧adavky u₧ivatel∙ a zp°φstup≥ovat informace, kterΘ se v Φase m∞nφ. Strßnka tedy nem∙₧e b²t napevno ulo₧ena n∞kde na disku serveru, ale pro ka₧d² po₧adavek u₧ivatele se musφ znovu vytvo°it tak, aby reflektovala aktußlnφ stav v∞ci. T∞mto po₧adavk∙m lze vyhov∞t pouze tak, ₧e ka₧d² po₧adavek na strßnku vyvolß spuÜt∞nφ programu (tzv. skriptu), kter² si zjistφ vÜechny pot°ebnΘ aktußlnφ informace a slo₧φ z nich v²slednou podobu strßnky v HTML.

Obsahem naÜeho serißlu bude prßv∞ tvorba t∞chto skript∙. Ukß₧eme si, jakΘ druhy skript∙ existujφ a v jak²ch jazycφch je lze zapisovat. Podrobn∞ se zam∞°φme na ty nejpou₧φvan∞jÜφ systΘmy a zejmΘna pak na ty, kterΘ jsou k dispozici bezplatn∞. Pou₧itφ skript∙ budeme ilustrovat na mno₧stvφ praktick²ch ukßzek.

Zvφdav∞jÜφ jedince ji₧ nynφ uklidnφm tφm, ₧e krom∞ v²Üe zmφn∞nΘho se seznßmφme podrobn∞ji i s protokolem HTTP, kter² se pou₧φvß pro komunikaci prohlφ₧eΦ∙ s WWW servery. D∙kladn∞ probereme mo₧nosti spoluprßce skript∙ s databßzemi. Nevynechßme samoz°ejm∞ i otßzky bezpeΦnosti p°enosu dat apod.

VÜechny snad pot∞Üφm i slibem, ₧e serißl p°inese nßvod na za°azenφ oblφben²ch poΦφtadel p°φstup∙ k WWW strßnce.

Pokud vßm bude p°ipadat, ₧e n∞jakΘmu tΘmatu se v∞nujeme p°φliÜ mßlo nebo snad p°φliÜ moc, napiÜte na adresy xkosj06@vse.cz nebo pavel_houser@idg.cz. Pom∙₧ete tφm serißl dovΘst do podoby, kterß vßm bude nejvφce vyhovovat.

Te∩ se ji₧ pustφme do prßce. P°eji vßm p°φjemnΘ Φtenφ a nepropadejte panice. Tvorba dynamicky generovan²ch strßnek zam∞stnß vßÜ intelekt p°ece jen vφce ne₧ samotnΘ HTML.

Druhy skript∙

P°ed chvφlφ jsme naznaΦili, ₧e o tvorbu dynamicky generovan²ch strßnek se starajφ skripty. Dnes se pou₧φvajφ dva zßkladnφ druhy skript∙:

Serverem vklßdanΘ vsuvky

V tomto p°φpad∞ se p°φkazy skriptu kombinujφ p°φmo se zßpisem strßnky v HTML. P°edtφm, ne₧ je strßnka odeslßna u₧ivateli, jsou vÜechny p°φkazy skriptu vyhodnoceny a jejich v²sledek dopln∞n na odpovφdajφcφ mφsto strßnky. O vyhodnocenφ a zpracovßnφ p°φkaz∙ se starß sßm WWW server. Do prohlφ₧eΦe dorazφ ji₧ zcela b∞₧nß strßnka zapsanß v HTML.

NejstarÜφm zßstupcem vsuvek vklßdan²ch serverem jsou SSI (Server Side Includes). Mnohem v∞tÜφ mo₧nosti nabφzejφ komerΦnφ systΘmy LiveWire (Netscape) a ASP (Active Server Pages -- Microsoft). StejnΘ mo₧nosti nabφzφ i voln∞ Üi°iteln² systΘm PHP/FI.

CGI skripty

CGI skripty jsou programy zapsanΘ v libovolnΘm programovacφm jazyce a p°elo₧enΘ do spustitelnΘ podoby (nap°. exe soubor). Pokud server obdr₧φ jako po₧adavek URL, kterΘ ukazuje na spustiteln² program, program spustφ a v²sledek jeho b∞hu p°edß prohlφ₧eΦi jako odpov∞∩. CGI skript tedy musφ na sv∙j v²stup zapisovat ve formßtu HTML.

Pro psanφ CGI skript∙ se nejΦast∞ji pou₧φvajφ p°φkazovΘ shelly, co₧ je obdoba dßvkov²ch soubor∙ v Unixu, a jazyk Perl. Nic vÜak nebrßnφ tomu, abychom CGI skripty psali i v C/C++, Pascalu nebo t°eba v Jav∞. Na tomto mφst∞ m∙₧eme p°ipomenout, ₧e Java krom∞ mo₧nosti tvorby applet∙ nabφzφ i mo₧nost v²voje klasick²ch aplikacφ.

ProblΘmy zaΦφnajφ...

Zde ji₧ mo₧nß tuÜφte prvnφ zßdrhel. Je jasnΘ, ₧e jen mßlokter² server podporuje vÜechny systΘmy pro tvorbu serverov²ch skript∙. Zatφmco do tvorby HTML strßnek se m∙₧e pustit ka₧d², se skripty je to ji₧ slo₧it∞jÜφ.

Abychom mohli skripty pou₧φvat, musφme mφt k dispozici WWW server, kter² je podporuje. P°edtφm, ne₧ se do tvorby skript∙ pustφme, musφme si od poskytovatele p°ipojenφ zjistit, jakΘ druhy skript∙ lze na jeho serveru pou₧φvat. Spolu s tφm musφme zjistit, zda mßme v∙bec prßvo tyto skripty vytvß°et a spouÜt∞t. Smutnou pravdou je, ₧e v∞tÜina poskytovatel∙ v oprßvn∞nΘm strachu pou₧φvßnφ skript∙ nedovoluje. èpatn∞ napsanΘ skripty toti₧ mohou v n∞kter²ch operaΦnφch systΘmech snadno a v n∞kter²ch obtφ₧n∞ji naruÜit stabilitu a bezpeΦnost. V∞tÜinou vßm tedy nezbyde nic jinΘho, ne₧ poskytovatele p°ipojenφ p°esv∞dΦit, aby vßm skripty povolil a p°φpadn∞ nainstaloval podporu pro n∞kter² druh skript∙.

NaÜe prvnφ pokusy se skripty vÜak nemusφme provßd∞t na poΦφtaΦi, kter² je p°ipojen k Internetu. VystaΦφme si s poΦφtaΦem vlastnφm. Musφme na n∞m vÜak spustit WWW server, kter² podporuje CGI skripty a n∞kter² druh serverem vklßdan²ch vsuvek.

Optimßlnφm operaΦnφm systΘmem pro experimenty i vß₧nou prßci se skripty je Linux. Jednak v tomto p°φpad∞ po°φdφme vÜechen pot°ebn² software (operaΦnφ systΘm, WWW server, podpora skript∙) zdarma. Navφc je Linux velmi stabilnφ a v²konn². Pokud jej mßme k dispozici, je asi tou nejlepÜφ volbou.

Pokud pracujeme v prost°edφ Windows a nechceme jej ani na chvφli opustit, nemusφme proto jeÜt∞ zoufat. I pro Windows existuje n∞kolik voln∞ Üi°iteln²ch server∙. Nedßvno se mezi n∞ za°adil i server Apache.

Apache byl p∙vodn∞ WWW server urΦen² pouze pro platformu Unix. Nutno podotknout, ₧e zde si vydobyl v²sadnφ postavenφ. Apache je velice v²konn² a velmi stabilnφ server. Jeho dalÜφ a velkou v²hodou je cena -- tedy spφÜe nenφ, proto₧e Apache je k dispozici zdarma. Server podporuje mnoho modernφch technologiφ. Co je pro nßs vÜak d∙le₧it∞jÜφ, umo₧≥uje spouÜt∞t CGI skripty a mß v sob∞ p°φmo zabudovßnu podporu pro SSI. Lze jej takΘ snadno rozÜφ°it o podporu dalÜφch druh∙ serverem vklßdan²ch vsuvek.

Instalace serveru Apache v prost°edφ Windows

Dnes si p°ipravφme p∙du pro p°φÜtφ dφl serißlu a ukß₧eme si, jak si nainstalovat server Apache pro svΘ pot°eby v prost°edφ Windows 95 nebo Windows NT. Pokud pou₧φvßte Linux, mßte patrn∞ o starost mΘn∞, proto₧e v∞tÜina instalacφ ji₧ Apache obsahuje.

Apache si je mo₧no stßhnout ze serveru http://www.apache.org. P°ed vlastnφm sta₧enφm je dobrΘ vybrat si zrcadlo serveru, kterΘ je rychle p°φstupnΘ. Jedno z nich je dokonce v ╚echßch na serveru SunSite. Pro instalaci budeme pot°ebovat soubory apache_1_3b3_win32.exe a apache_1_3b3_win32_ext.exe.

Prvnφ z nich slou₧φ k samotnΘ instalaci serveru. Jednß se o prvnφ verzi pro Windows, kterß jeÜt∞ nemß vychytßny vÜechny mouchy. P°i instalaci nßm instalaΦnφ program nabφzφ instalaci do adresß°e x:\Program Files\Apache. Spoustu problΘm∙ si vÜak uÜet°φme, kdy₧ nechßme Apache instalovat p°φmo do adresß°e x:\Apache. VÜechny ostatnφ dotazy m∙₧eme bezstarostn∞ odklikat. V²sledkem bude instalace serveru a p°idßnφ odpovφdajφcφ polo₧ky do menu Start.

Po instalaci serveru je vhodbΘ nainstalovat i dokumentaci. Spustφme soubor apache_1_3b3_win32_ext.exe. Po spuÜt∞nφ zadßme cestu k serveru x:\Apache a stiskneme tlaΦφtko UnZip.

Nynφ m∙₧eme zkusit server spustit. V menu Start vybereme Programy/Apache/Apache WebServer. Pokud je server sprßvn∞ nainstalovßn, v okn∞ se po spuÜt∞nφ objevφ text Apache/1.3b3.

Pokud program vydß n∞jakΘ z chybov²ch hlßÜenφ a skonΦφ, je problΘm patrn∞ n∞kde v podpo°e protokolu TCP/IP na naÜem poΦφtaΦi. Pokud protokol TCP/IP nemßme instalovßn, musφme jej doinstalovat. Pokud i pak p°etrvßvajφ problΘmy, m∙₧e pomoci ruΦnφ zadßnφ jmΘna poΦφtaΦe v konfiguraΦnφm souboru x:\Apache\conf\httpd.conf. V souboru nalezneme °ßdku:

#ServerName new.host.name

a upravφme ji do podoby:

ServerName jmΘno_naÜeho_poΦφtaΦe

KonfiguraΦnφ soubor ulo₧φme. A pokusφme se znovu spustit server. Pokud nßm ani te∩ nßÜ pokus nevyÜel, nezbyde nic jinΘho, ne₧ podφvat se do dokumentace, kterß je ulo₧ena ve formßtu HTML v adresß°i x:\Apache\htdocs\manual. NaÜt∞stφ je vÜak instalace v∞tÜinou bezproblΘmovß.

FunkΦnost serveru vyzkouÜφme nejlΘpe tak, ₧e spustφme prohlφ₧eΦ a po₧ßdßme jej o zobrazenφ dokumentu http://jmΘno_naÜeho_poΦφtaΦe/. M∞la by se objevit ·vodnφ strßnka serveru Apache (viz obr. 1).

Nynφ jeÜt∞ ud∞lßme nezbytnΘ zßsahy do konfiguraΦnφch soubor∙ -- tak, aby Apache podporoval serverem vklßdanΘ vsuvky SSI. Otev°eme konfiguraΦnφ soubor srm.conf a odkomentujeme nßsledujφcφ dv∞ °ßdky:

AddType text/html .shtml

AddHandler server-parsed .shtml

V konfiguraΦnφm souboru zaΦφnajφ komentß°e znakem "#"; odkomentovßnφm myslφm smazßnφ tohoto znaku p°ed n∞jak²m konfiguraΦnφm p°φkazem. Soubor ulo₧φme a otev°eme si soubor access.conf. Nalezneme °ßdku

Options Indexes FollowSymLinks

a p°idßme na jejφ konec slovo Includes:

Options Indexes FollowSymLinks Includes

KonfiguraΦnφ soubor ulo₧φme a restartujeme server. Nejprve tedy server ukonΦφme tφm, ₧e se p°epneme do jeho okna a stiskneme klßvesovou kombinaci Ctrl+C. Server se ukonΦφ a my jej ji₧ spustφme b∞₧n²m zp∙sobem.

Pokud si budeme se serverem hrßt Φast∞ji, vyplatφ se umφstit pro n∞j zßstupce do skupiny Spustit p°i startu a u zßstupce nastavit, ₧e se mß program spouÜt∞t minimalizovan². Apache se tak automaticky spustφ p°i ka₧dΘm startu systΘmu.

 

 

© IDG Czechoslovakia, a.s., VÜechna prßva vyhrazena
info@idg.cz, webmaster@idg.cz