ot Slavei Karadjov(3-11-2005)
reiting (15)
[ dobre ]
[ zle ]
Variant za otpechatvane Edin ot nachinite da generirate dinamichni
stranitsite na vashiia sait e CGI skriptove napisani
na Perl. No chesto problema koito vuznikva e kak da
gi nakarame da se izpulniavat po-burzo.
CGI (Common Gateway Interface) se e nalozhilo kato standart
sred survurite. Predimstvoto na CGI e che vseki ueb
survur go poddurzha i programite za nego mogat da
se napishat na razlichni programni ezitsi i goliamo
kolichestvo platformi.
Nedostatuka na CGI e negovata neefektivnost.
Vsiako izvikvane na CGI programi suzdava nov protses
na survura. Ako napishete CGI na Perl to togava vseki
put pri izvikvane na programata se zarezhda i
startira i novo kopie na Perl interpretatora. Tova
vodi do izpolzvane na oshte pamet i protsesorno
vreme. Estestveno e da si zadadem vuprosa dali
niama po-efektiven nachin da se izpulniavat
programite na Perl bez da preturpiat golemi
korektsii.
Otgovorut na tozi vupros e mod_perl modul za
izvestniia Apache Web Server. Tozi modul zarezhda samo
vednuzh kopie na Perl interpretatora v Apache, kato po
tozi nachin ne samo uskoriava izpulnenieto na perl
skriptovete no i dobavia novi vuzmozhnosti kum
survura.
Mozhe bi nai-trudniia moment pri izpolzvaneto na
mod_perl e negovoto instalirane i konfigurirane. Za
tselta purvo triabva da si svalite ot internet
poslednite versii na Apache i mod_perl. Mozhete da gi
otkriete na slednite adresi:
http://www.perl.com/CPAN/modules/by-module/Apache/ - mod_perl
http://perl.apache.org - mod_perl
http://www.apache.org - apache
http://apache.nat.bg - apache
Sled kato ste gi svalili gi kopiraite v edna
direktoriia naprimer /usr/local/download/ i napishete:
cd /usr/local/downloads
tar -zxvf apache_1.3.11.tar.gz
tar -zxvf mod_perl-1.2.tar.gz
Tezi komandi shte razarhivirat failovete i shte
suzdadat dve direktorii sus sors kodovete na Apache
i mod_perl.
Sega e vreme da konfigurira Apache za purvi put.
Ako ne ste pravili tova predi napishete slednite
redove:
cd apache-1.3.11/
./configure --prefix=/www
Kudeto /www mozhe da zamenite s direktoriiata
kudeto iskate da instalirate vashiia web survur.
Sledvashtite komandi koito triabva da napishe sa
slednite:
cd ../mod_perl-1.2/
Ako iskate da razberete koi nastroiki na mod_perl
da izpolzvate prochetete README i INSTALL faila predi da
napishete tazi komanda.
perl Makefile.PL
Ako iskate da se aktivirat vsichki direktivi na
mod_perl napishete:
perl Makefile.PL EVERYTHING=1
Pri izpulnenie na tazi komanda instalatsionnata
programa shte vi zadade dva vuprosa.
Configure mod_perl with ../apache-l.3.11/src ? [y]
Shall I build httpd in . ./apache_l .3.11/src for you? [y]
Otgovorete i na dvata s "y" ili prosto
natisnete klavisha ENTER.
Komandite koito ostava da napishete sa
make
make install
Predi da napishete obache make install sprete vsichki
raboteshti survuri s komandata
killall httpd
Ako do tuk ste izpulniavali pravilno komandite
triabva da ste gotovi da pusnete vashiiat nov
survur. Za tselta pishete:
/www/bin/apachectrl start
Ako iskate da se uverite, che raboti vashiia nov
survur napishete slednite komandi:
telnet localhost 80
i sled tova
HEAD / HTTP/1.0
Rezultata ot tazi komanda triabva da sudurzha i
sledniia red
Server: Apache/1.3.11 mod_perl/l.20
Koeto shte reche che veche imate rabotesht survur na
port 80 s mod_perl modul.
Za da izpolzvate vuzmozhnostite na mod_perl shte
triabva da dobavite slednite redove v httpd.conf faila(
toi se namira v pod direktoriia conf na glavnata
direktoriiata na survura):
SetHandler perl-script
PerlHandler Apache::Registry
Options ExecCGI
CHrez i tagove pokazvame, che
iskame tezi nastroiki da vazhat samo za /perl-bin
direktoriiata otkolkoto za tseliia survur. Tova shte
reche che samo failovete v direktoriiata /perl-bin shte se
tretirat edinstveno kato perl skriptove i shte se
izpulniavat ot zaredeniia veche v Apache Perl
interpretator.
Dobavete sushto taka i slednite direktivi v httpd.conf
PerlSendHeader On
PerlWarn On
(ako iskate preduprezhdeniiata pri izpulnenie na
programata da se pokazvat, otkolkoto da se
zapisvat v error.log faila)
PerlTaintCheck On
(ako iskate da dobavite dopulnitelna sigurnost
kum skriptovete si).
Sled koeto zapishete faila i proverete novata
konfiguratsiia sus slednata komanda:
/www/bin/apachectrl configtest
Krai na chast purva
Tazi statiia i drugi polezni mozhe da prochetete vuv sledvashtiia broi na vestnik "PC Revyu"
<< Apache + mod_perl (chast 2) | Kak da startirame Linux pri startirane na Win >>
|