TineL Studio učilnica


TineL Studio učilnica

dokument:
Apache in Windows
del:
Korak 7
posodobljen:
16. 12. 2003

Apache in Windows
Vodnik za namestitev spletnega strežnika Apache in dodatkov v okolje Windows

Korak 7 - Dodatne spletne aplikacije za spletni strežnik (SSI, CGI Perl, PHP, ASP)

Z SSI-jem lahko razširite osnovno zmožnost spletnih strani.

SSI

SSI (Server Side Includes) je dodatek, vgrajen v strežnik Apache, ki omogoča nekaj aktivnosti na spletni strani. "Nekaj" zato, ker pozna le nekaj ukazov, ki so dovolj zmogljivi, da se nam ni potrebno ozirati po večjih, veliko zmogljivejših in s tem počasnejših skriptnih jezikih, kot sta npr. Perl in PHP. SSI nam omogoča vstavljanje ene datoteke v drugo, prikaz velikosti datoteke in datum, ko je bila datoteka zadnjič spremenjena; prikaz časa in datuma in dodatno poljubno zaganjanje skriptnih datotek (prek CGI). Posledice vseh teh ukazov se pokažejo na spletni strani, ki je programirana z ukazi SSI.
Da bi takšna spletna stran delovala moramo le malo pošariti po nastavitveni datoteki Apache strežnika:
Start -> (All) Programs -> Apache HTTP Server -> Configure Apache Server -> Edit the Apache httpd.conf Configuration File

Datoteko httpd.conf lahko tudi najdete v mapi C:\Program Files\Apache Group\Apache\conf.
Najbolje, da jo odprete v Notepadu (Beležnici).


Če ste namestili strežnik različice 1.3.27 potem vam naslednje nastavitve ni potrebno nastavljati, ker je že. Vseeno, bodite prepričani, da je modul za SSI vklopljen. V sekciji 1, V vrstici 214:

AddModule mod_include.c

Sedaj se morate odločiti, kakšno končnico bodo imele vaše SSI datoteke s spletno vsebino. Priporočam vam, da imajo le-te končnico .shtml. Če bi se odločili za standardno končnico (.html), vedite, da bi strežnik za vsako spletno datoteko (s končnico .html) preverjal SSI ukaze, ki jih verjetno sploh ne bi imele. V našem primeru bo SSI ukaze strežnik iskal samo v datotekah s končnico .shtml. To nastavite enostavno tako, da v sekciji 2 nastavitvene datoteke (v mojem primeru v vrstici 832 in 833) izbrišete znak za komentar "#":

AddType text/html .shtml
AddHandler server-parsed .shtml

V naslednjem koraku, zadnjem, moramo nastaviti samo še dovoljenja - v kateri mapi dovolimo izvajati SSI ukaze. Imamo dva ukaza za to: Includes in IncludesNoExec. Pri zadnjem ni dovoljeno izvajati exec ukaza, ki kliče zunanje skripte (prek CGI).
Recimo, da želite imeti v mapi C:\web_server\www\cas spletno datoteko, ki bo prikazala v brskalniku trenutni čas in datum. Zanjo zapišete dovoljenje (najbolje, kar pri ukazih Alias - sekcija 2, vrstica 600):

<Directory "C:/web_server/www/cas">
     Options +IncludesNoExec
</Directory>

Priporočam, da ne uporabljate Includes ukaza, ki dovoljuje CGI skriptiranje, ker je potencialno zelo nevarno.

Shranite nastavitveno datoteko in ponovno zaženite spletni strežnik:
Start -> (All) Programs -> Apache HTTP Server -> Control Apache Server -> Restart

Sedaj naredite testno stran. Naredite novo mapo cas v mapi C:\web_server\www in v njej datoteko cas.shtml. V njo zapišite naslednje vrstice (najbolje kar v Notepadu):

<html>
<head>
<title>Trenutni cas</title>
</head>

<body>
<p>
<!--#echo var="DATE_LOCAL" -->		<!-- izpiše lokalni čas -->
</p>
</body>
</html>

Odprite brskalnik in pojdite na naslov: http://localhost/cas/cas.shtml. Prikazati se vam mora spletna stran z zapisanim današnjim datumom in trenutnim časom, seveda, če ste vse pravilno naredili.

Preizkus SSI-ja

Če boste imeli veliko spletnih strani z SSI ukazi, potem lahko nastavite tudi privzeto datoteko, recimo index.shtml. V vrstici 384 nastavitvene datoteke (httpd.conf) dopišite index.shtml. V našem primeru:

DirectoryIndex index.html index.shtml

Shranite nastavitveno datoteko in ponovno zaženite spletni strežnik:
Start -> (All) Programs -> Apache HTTP Server -> Control Apache Server -> Restart

Sedaj preimenujte datoteko cas.shtml v index.shtml in v brskalniku vpišite naslov http://localhost/cas/. Prikazati se vam mora ista spletna stran.

Standard za dinamične spletne vsebine.

CGI in Perl

Eden od programskih jezikov, ki so namenjeni za komunikacijo prek CGI-ja, je najbolj popularni Perl (Practical Extraction and Report Language). Perl je podoben jeziku C++, a ima nekaj svojih posebnosti. Komunikacija med uporabnikom, računalnikom in zaslonom je z njim izjemno lahka.

CGI (Common Gateway Interface) je standardni vmesnik za prehode, ustvarjen za enolično komuniciranje med različnimi sistemi.

Danes ima večina strežnikov nameščen prevajalnik in izvajalnik (tolmač) za Perl, saj je zelo koristen pri dinamični vsebini spletnih strani (pošiljanje sporočil, govorilnice, knjige gostov ...). Namestili ga bomo tudi mi.

Ker strežnik Apache ne vsebuje Perla, ga moramo najprej prenesti iz spletnih strani. Zastonjsko različico najdete na http://www.activestate.com spletni strani, paket pa se imenuje ActiveState ActivePerl, trenutna namestitvena datoteka je različice 5.8.0 in je velika 11,5 MB.

Namestitev Perl paketa (1) Prenesite namestitveno datoteko in jo zaženite. Pri prvem oknu kliknite "Next >".
Preberite, sprejmite licenco in ponovno kliknite "Next >".
Pri naslednjem okencu (Custom Setup) je najbolje, da pustite vse privzeto nastavljeno in kliknete "Next >".
Pri naslednjih dveh okencih je tudi najbolje, da kar kliknete "Next >".
Kliknite "Install", da se namestitev prične.
Po končani namestitvi še kliknite "Finish".


Namestitev Perl paketa (2)

Sledi nastavitev osnovnih nastavitev, da bo strežnik vedel, da gre za CGI skript.

Odprite nastavitveno datoteko strežnika:
Start -> (All) Programs -> Apache HTTP Server -> Configure Apache Server -> Edit the Apache httpd.conf Configuration File

Datoteko httpd.conf lahko tudi najdete v mapi C:\Program Files\Apache Group\Apache\conf.
Najbolje, da jo odprete v Notepadu (Beležnici).


Tukaj je nastavitev silno malo, je pa zato več dela s samimi skripti, saj moramo poznati Perl programski jezik.
Vse, kar je treba nastaviti, so samo dovoljenja nekaterim mapam. Pred prvimi nastavitvami strežnika, smo naredili v mapi C:\web_server mapo cgi-bin. Ker bomo imeli dobro organiziran strežnik, jo bomo uporabili za vse CGI skripte. S tem bomo naredili velik varnostni korak.

V sekciji 2 nastavitvene datoteke se sprehodite približno v vrstico 600, kjer smo že zapisali Alias ukaz(e). Važno je, da tukaj zapišete naslednje:

ScriptAlias /cgi-bin "C:/web_server/cgi-bin"

S tem smo uredili naslov za mapo za skripte. Sedaj moramo še nastaviti dodatno dovoljenje za to mapo, ki pove strežniku, da lahko v tej mapi zaganja Perl programe. To storimo že z znanimi ukazi, ki jih vpišemo kar pod ScriptAlias ukazom:

<Directory "C:/web_server/cgi-bin">
     Options +ExecCGI
</Directory>

Z argumentom ExecCGI smo v mapi C:\web_server\cgi-bin in v podmapah dovolili izvajanje CGI skriptov.

Nastavitveno datoteko shranite in ponovno zaženite strežnik:
Start -> (All) Programs -> Apache HTTP Server -> Control Apache Server -> Restart

Da bi vse skupaj preverili, bo potrebno narediti preprost CGI skript, napisan v Perlu. Najbolje da v Notepadu zapišete spodnje ukaze in jih shranite v datoteko pozdrav.pl (končnica .cgi je tudi veljavna) v mapo C:\web_server\cgi-bin.

#!C:\Perl\bin\perl.exe
# klic Perl tolmača

$beseda = "Pozdrav";            # spremenljivka z vrednostjo Pozdrav

# izpis
print "Content-type: text/html\n\n";
print "<html>";
print "<head>\n<title>Skriptni pozdrav</title>\n</head>\n";
print "<body>\n<p>$beseda!</p>\n";     # izpis vrednosti spremenljivke $beseda
print "</body>\n</html>";

exit;                           # izhod

Opomba: Prva vrstica vsakega Perl skripta mora vsebovati pot do tolmača Perla. Za znakoma "#!" je potrebno zapisati pot do njega. Nahaja se v mapi bin, kamor smo namestili ActivePerl paket.

Nasvet: Po prvem ponovnem zagonu bo računalnik samodejno prepoznal pot do perl.exe tolmača, zato lahko v prvi vrstici zapišemo samo #!perl, kar je veliko bolj smotrno.


Ko ste program zapisali in shranili v mapo C:\web_server\cgi-bin z imenom pozdrav.pl, lahko vso zadevo preizkusite. Odprite brskalnik in poiščite naslov http://localhost/cgi-bin/pozdrav.pl. V brskalniku se vam mora izpisati pozdrav.

Preizkus Perla

Dodatek:
Če želite za posamezne spletne strani, ki smo jih definirali z ukazom Alias narediti samostojen naslov za skripte, le dodajte ukaz:

ScriptAlias /izdelki-cgi "C:/web_server/cgi-bin/izdelki"

Sedaj bo vsak, ki bo zahteval naslov http://www.podjetje.si/izdelki-cgi/pozdrav.pl na strežniku zagnal skript pozdrav.pl v mapi C:\web_server\cgi-bin\izdelki.

Ni zastonjske rešitve.

E-pošta

Veliko strežnikov ima možnost pošiljanja in sprejemanja elektronskih sporočil. To nam omogoča, da pošljemo kakšno sporočilo obiskovalcu spletnih strani (ob prijavi, ob nakupu, ob stiku). S strežnikom Apache je to v Windows operacijskem sistemu malce oteženo. Če želimo imeti poštni strežnik, ga moramo obvezno kupiti ali dobiti preizkusno različico, ki bo delovala 30 dni, poleg tega nimamo veliko izbire. Takšen poštni strežnik je tudi SendMail, ki ga dobite na spletnih straneh http://www.indigostar.com. Namestitvena datoteka je velika 1 MB, deluje pa zelo podobno kot sendmail program v Linuxu.

Poštnega strežnika nisem preizkusil.

Najbolj priljubljen jezik za izdelavo dinamičnih spletnih vsebin.

PHP

Da bi uporabljali aktivno spletno vsebino, moramo uporabiti Perl ali PHP. PHP (Hypertext Preprocessor) je programski jezik, temelječ na C-ju, ki je za dinamične spletne vsebine izredno dobro pripravljen. Zasnovan je tako, da ko strežnik ugotovi, da gre za PHP skript, ga prepusti PHP programu, ki skript prevede in izvede ter pošlje brskalniku ustrezno vsebino.

Tudi tukaj je potrebna namestitev dodatnega programa in nastavitev. Najprej prenesimo PHP tolmač iz spletne strani http://www.php.net. Velikost namestitvene datoteke različice 4.3.0 je točno 1 MB.

Namestitev PHP tolmača (1) Ko ste uspešno prenesli namestitveno datoteko, jo zaženite.
Odpre se Welcome okno. Kliknite "Next >", nato "I Agree".
Pustite privzeto Standard namestitev in kliknite "Next >".


Namestitev PHP tolmača (2) Naslednje okno (Choose Destination Folder) tudi pustite nespremenjeno in kliknite "Next >".


Namestitev PHP tolmača (3) Naslednje okno (Mail Configuration) je bolj kočljivo. Če ste namestili poštni strežnik, le vpišite pravilne vrednosti. Če poštnega strežnika nimate nameščenega, pustite nedotaknjeno in kliknite "Next >".


Namestitev PHP tolmača (3) Pri naslednjem oknu (Server Type) izberite "Apache" in kliknite "Next >".


Še enkrat kliknite "Next >".
Po končani namestitvi še dvakrat kliknite "OK".


Sedaj je čas, da nastavimo spletni strežnik, da bo prepoznal PHP skripte.

Odprite nastavitveno datoteko strežnika:
Start -> (All) Programs -> Apache HTTP Server -> Configure Apache Server -> Edit the Apache httpd.conf Configuration File

Datoteko httpd.conf lahko tudi najdete v mapi C:\Program Files\Apache Group\Apache\conf.
Najbolje, da jo odprete v Notepadu (Beležnici).


Vse, kar moramo nastaviti, je pot do PHP tolmača in vrsta končnice, ki jo uporabljajo PHP skripti. Datoteke s PHP skripti imajo po navadi končnice .php, .php3 ali .php4. Uporabili bomo univerzalno, .php.
V nastavitveni datoteki strežnika vpišite v sekciji 2 (v mojem primeru v vrstici 844):

ScriptAlias /php_program "C:/php/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php_program/php.exe"

Shranite nastavitveno datoteko in ponovno zaženite spletni strežnik:
Start -> (All) Programs -> Apache HTTP Server -> Control Apache Server -> Restart

Če želite preizkusiti PHP skriptiranje, naredite datoteko info.php in jo shranite v mapo C:\web_server\www\php. V datoteko info.php zapišite:

<?php              // začetek PHP kode
phpinfo();         // ukaz, ki izpiše informacije o PHP tolmaču
?>                 // konec PHP kode

Odprite brskalnik in poiščite naslov http://localhost/php/info.php. Odpreti se vam mora stran z vsemi podatki o PHP tolmaču.

Preizkus PHP-ja

Opomba: Podite pozorni, da ne boste uporabljali mape z imenom php_program, ker lahko pride do konflikta med PHP tolmačom in strežnikom.

Če boste imeli veliko spletnih strani s PHP skripti, lahko nastavite tudi privzeto datoteko, recimo index.php. V vrstici 384 nastavitvene datoteke (httpd.conf) dopišite index.php. V našem primeru:

DirectoryIndex index.html index.shtml index.php

Shranite nastavitveno datoteko in ponovno zaženite spletni strežnik:
Start -> (All) Programs -> Apache HTTP Server -> Control Apache Server -> Restart

Sedaj preimenujte datoteko info.php v index.php in v brskalniku vpišite naslov http://localhost/php/. Prikazati se vam mora ista spletna stran.

ASP lahko uporabljate samo na Microsoftovem IIS strežniku.

ASP

ASP (Active Server Pages) je prav tako programski jezik, namenjen dinamičnim spletnim stranem. Je striktno Microsoftova tehnologija, s katero je želel uveljaviti aktivne spletne strani tudi na Windows strežnikih, ko še tehnologiji PHP in Perl nista bili nared zanj. S tem pa si je Microsoft zagotovil, da ASP skripti tečejo le na Windows strežnikih s priloženim strežnikom IIS (Internet Information Services).
Ker strežnika IIS ne bomo postavljali, nam ne preostane nič drugega, kot da ne zagotovimo izvajanja ASP aktivnih spletnih strani.

Korak 6 Korak 8

Kazalo

Predgovor
Kazalo
Korak 1 - Izbira povezave in domene
Korak 2 - Izbira strojne opreme
Korak 3 - Namestitev operacijskega sistema
Korak 4 - Priprava omrežja
Korak 5 - Namestitev spletnega strežnika
Korak 6 - Nastavitev spletnega strežnika
Korak 7 - Dodatne spletne aplikacije za spletni strežnik (SSI, CGI Perl, PHP, ASP)
Korak 8 - Namestitev in nastavitev podatkovne baze MySQL
Preizkušanje
Predstavitev spletnih strani in dostop do njih
Analiza

dokument:
Apache in Windows
del:
Korak 7
posodobljen:
16. 12. 2003

Avtorska pravica © 2000-2014 TineL Studio. Vse pravice pridržane.
Copyright © 2000-2014 TineL Studio. All rights reserved.

[ kazalo ]