Apache Web Server 3.časť - CGI na serveri Apache

V súvislosti s uvedením nášho nového seriálu o CGI som si uvedomil že by nebolo zlé vás poinformovať o možnosti rozbehania CCI scriptov na HTTPD servri Apache.


Tento web server je najpoužívanejší a myslím si že nezaškodí trochu osvety v tomto smere.

Aby bolo možné na web serveri Apache spúšťať CGI programy je potrebné upraviť niektoré parametre konfiguračných súboroch servera. Čo sa týka konfigurácie web servera Apache, my sme sa už jeho konfiguráciou čiastočne zaoberali, avšak konfiguráciu ktorá nám dovolí spúšťať CGI scripty si ukážeme až dnes. HTTPD server Apache vychádza pôvodne zo špecifikácie NCSA httpd serveru, preto táto konfigurácia sa v podstate vzťahuje aj na ostatné web serveri vychádzajúce z NCSA.

V tejto časti budeme editovať súbor httpd.conf, v útrobách ktorého leží celá konfigurácia servera. Tento sa nachádza na vašom disku v lokalite /Apache/conf alebo keď máte Windows: disk:\Apache\conf.

Najskôr je nutné nastaviť direktívu ServerRoot (zrušte

ServerRoot /usr/local/etc/httpd

alebo {Win}

ServerRoot "C:/Apache"

Väčšina serverov predpokladá, že CGI scripty budú umiestnené v špeciálnom adresári, ktorý sa najčastejšie volá cgi-bin a budú mať stanovenú príponu.

Špecifikácia adresára s CGI scriptami.

V konfigurácii servera sa mapuje adresár s CGI scriptami na virtuálnu cestu. Každé URL odkazujúce na súbor v tomto adresári je serverom interpretované ako požiadavok na spustenie CGI scriptu. Často sa používa virtuálny adresár cgi-bin pod koreňovým adresárom www servera. Môže to byť však aj iný adresár. Nastavenie sa robí pomocou direktívy ScriptAlias taktiež v súbore httpd.conf, alebo v starších verziách Apacha v súbore srm.conf.

ScriptAlias /cgi-bin/ /usr/local/etc/httpd/cgi-bin/

alebo {Win}

ScriptAlias /cgi-bin/ "c:/Dz2/cgi-bin/"

Čiže ak klient zadá požiadavok na URL:

http://www.domena.sk/cgi-bin/pokus.pl

server spustí lokálny program:

/usr/local/etc/httpd/cgi-bin/
rsp.
c:/Dz2/cgi-bin/

Bezpečnosť je najvážnejším dôvodom toho že CGI scripty musia byť umiestnené v jednoznačne odlišených adresároch. Má to svoj praktický dôvod pretože správca má všetky programy na jednom mieste a má lepší prehľad o aktivitách jednotlivých scriptov v systéme.

Špecifikácia prípon pre CGI scripty

Ďalšou možnosťou, avšak nebezpečnejšou alternatívou, je špecifikovať prípony CGI scriptov a uložiť ich spolu s HTML dokumentami do klasických adresárov. Pri tomto je každý súbor s danou príponou spustený ako CGI script. Okrem prípony môžeme do konfiguračného súboru httpd.conf doplniť aj prípony napríklad Perl súborov .pl, alebo napríklad aj .sh.

AddType aplication/x-httpd-cgi .cgi .pl .sh

Konfiguráciu súboru httpd.conf ukončíme pridaním nasledovného riadku a sprístupnením vykonávania CGI scriptov HTTPD serverom.

AddHandler cgi-script .cgi

To by bolo na dnes, čo sa týka konfigurácie web servera Apache na spúšťanie CGI scriptov, asi všetko. Už teraz sa však môžete tešiť na ďalšiu časť, v ktorej budeme pokračovať v konfigurovaní HTTPD servera Apache.

Developer,
Stiahnuté z Developer.sk