5.1 Instalace interpretů skriptovacích jazyků a jejich konfigurace

Dynamika stránek může být zajištěna různými způsoby. V zásadě, se obvykle spouští externí programový kód, který zajiš»uje dynamickou odpověď klientovi. Daný programový kód může existovat ve dvou podobách a v různých vztazích k WWW serveru. Podoby jsou: zdrojový kód (nebo binární mezikód) a binární kód (strojový kód). první varianta vyžaduje ke spuštění interpret. Interpret nebo binární kód může vůči WWW serveru vystupovat obvykle ve třech úrovních, které jsou ve vztahu s formou komunikace mezi WWW serverem a kódem:

  • Součást kódu WWW serveru - pokud je to možné a WWW server nabízí zdrojový kód, můžeme jej rozšířit o náš kód
  • Komunikace přes API WWW serveru - pokud WWW server nějaké API nabízí, je možné vytvořit kód, který toto API volá (v případě Apache takový ko označujeme jako modul Apache)
  • Komunikace přes jiné rozhraní - pokud WWW server podporuje jiné rozhraní, je možné vytvořit kód, který toto rozhraní využívá. Obvyklými rozhraními jsou CGI a servlet (Apache podporuje CGI a v případě projektu Apache-Tomcat i servlet)

Variantě "Součást kódu WWW serveru" se věnovat nebudeme, protože se obvykle nevyužívá. Variantě "Komunikace přes API WWW serveru" se věnují specializované publikace dostupné ze stránek projektu Apache. Varianta "Komunikace přes jiné rozhraní" je velmi obvyklá a proto jí bude věnována pozornost.

Úvod

V případě samospustitelných aplikací, kdy nepotřebujeme Interpret stačí aplikaci umístit do adresáře, kde je povoleno spouštět CGI aplikace (viz kap. 4).

V případě interpretů se obvykle setkáme s tím, že některé jsou již součástí OS (např. na OS Linux: BASH, SH, Perl) a rovněž že není nutné WWW server pro jejich spouštění konfigurovat. U jiných je nutná instalace a někdy také konfigurace (pokud není již součástí instalace) (např. PHP).

 

SAMOSTATNÝ ÚKOL 17

 

Vyzkoušejte si vytvoření CGI skriptu, který využívá interpret SH. Skript pojmenujte s příponou .cgi a umístěte jej do spustitelného adresáře.

#!/bin/sh
echo "Content-type:text/plain";
echo ""
echo "Ahoj lidi!"
echo $1;

Vyzkoušejte si vytvoření CGI skriptu, který využívá interpret Perl. Skript pojmenujte s příponou .pl a umístěte jej do spustitelnhé adresáře.

#!/usr/bin/perl
print "Content-type:text/plain\n";
print "\n"
print "Ahoj lidi!\n"

CGI skripty SH, Perl

 

V případě, že instalujete některý z interpretů skriptů, je nutné postupovat dle návodu, protože, žádný univerzální postup neexistuje. Pokud je interpret instalován jako modul WWW serveru, obvykle s sebou nese i informaci o typu (MIME) souboru, který interpretuje a často daké doplní do konfigurace WWW serveru informaci o příponách souboru (seznam přípon), které jsou daného MIME typu. Tak jako např. instalace PHP ve standardní distribuci FedoraCore 2. Instalátor PHP nainstaluje modul a do adresáře (obvykle /etc/httpd/conf.d/) přidá konfigurační soubor php.conf s následujícím obsahem:

#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#

LoadModule php4_module modules/libphp4.so

#
# Cause the PHP interpreter to handle files with a .php extension.
#
AddType application/x-httpd-php .php

#
# Add index.php to the list of files that will be served as directory
# indexes.
#
DirectoryIndex index.php

Řádek LoadModule php4_module modules/libphp4.so udává, že má být načten modul Apache. Řádek AddType application/x-httpd-php .php udává, že soubory s příponou .php mají být MIME typu application/x-httpd-php, který výše uvedený modul zpracovává (to je explicitně uvedeno přímo v kódu modulu).

Interpret jako modul WWW serveru

V případě, že instalujete interpret, který bude s WWW serverem komunikovat přes CGI, obvykle musíte konfiguraci WWW serveru doplnit o následující kód.

ScriptAlias /php-bin/ /usr/local/bin/
AddType application/x-httpd-php .php
Action application/x-httpd-php /php-bin/php

Řádek ScriptAlias /php-bin/ /usr/local/bin/ deklaruje virtuální adresář, který ukazuje na adresář, ve kterém se nachází CGI interpret (spustitelná aplikace) pro PHP kód. Řádek Action application/x-httpd-php /php-bin/php říká, že MIME typ application/x-httpd-php má být interpretován aplikací php ve virtuálním adresáři /php-bin/

Interpret jako CGI aplikace

Konfigurace chování samotného interpretu skriptů závisí na daném interpretu. Zase neexistuje jednoduchý návod jak interpret konfigurovat. Vzhledem, k tomu, že máte zkušenosti s interpretem PHP skriptů, procvičíte si konfiguraci na tomto interpretu.

Konfigurace chování interpretu

 

KORESPONDENČNÍ ÚKOL 8

 

Nainstalujte interpret pro PHP. Konfiguraci v souboru php.ini změňte tak, aby:

  • Zobrazoval pouze chybová hlášení
  • Soubory zaslané uživatelem ukládal do adresáře /home/tmp (Linux) nebo C:/home/temp (Windows)
  • Podporoval přístup k SŘBD Oracle

Soubor php.ini zašlete k posouzení tutorovi.

Konfigurace PHP

SHRNUTÍ KAPITOLY CGI, INTERPRETI

 

Víte, že interpret můžete nainstalovat ve třech různých úrovních ve vztahu k WWW serveru

Umíte nainstalovat intrepret pro jazyk PHP

Víte jak konfigurovat chování intrepretu pro jazyk PHP

Shrnutí

PRŮVODCE STUDIEM 5

 

Následující kapitola se zabývá otázkou optimalizace výkonu WWW serveru.

Průchod modulem