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í. Seriál však nevznikl jen tak náhodou sám 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 webovské stránky se dnes již zdaleka nepoužívají pouze k prezentaci dokumentů na Internetu. Původně byl 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í webovské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árověň 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 tím, že seriál přinese návod na zařazení oblíbených počítadel přístupu ke 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 mi na adresu jirka@kosek.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řeci jen více než samotné HTML.
Nejstarším zástupcem serverem vkládaných vsuvek 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.
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 psát CGI-skripty i v C/C++, Pascalu nebo třeba v Javě. Na tomto místě můžeme připomenout, že Java kromě možnosti tvorby Java-apletů nabízí i možnost vývoje klasických aplikací.
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ý popodruje 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 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í. Apache je k dispozici zdarma. Apache 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.
Dnes si rovnou 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ějakou chybovou hlášku 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.namea upravíme ji do podoby:
ServerName jméno_našeho_počítačeKonfigurač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
. Instalace je naštěstí většinou
bezproblémová.
Funkčnost serveru vyzkoušíme nejlépe tak, že spustíme prohlížeč a
požádáme je o zobrazení dokumentu
http://jméno_našeho_počítače/
. Měla by se
objevit úvodní stránka serveru Apache (viz obr.).
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 .shtmlV konfiguračním souboru začínají komentáře znakem '#'; odkomentováním rozumí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 FollowSymLinksa přidáme na její konec slovo
Includes
:
Options Indexes FollowSymLinks IncludesKonfigurač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 automaticky spustí při každém startu systému.