Se stai eseguendo un'applicazione open source basata sul Web scritta in perl, dovresti usare mod_perl con Apache invece di eseguirlo come CGI. mod_perl è molto più veloce dell'esecuzione di un'applicazione Web utilizzando CGI.
Questo articolo spiega come installare mod_perl su Apache 2.
Innanzitutto, installa Apache 2, se non lo hai già.
1. Scarica mod_perl
Scarica mod_perl da perl.apache.org come mostrato di seguito.
# cd ~ # wget http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz # tar xvfz mod_perl-2.0-current.tar.gz # cd mod_perl-2.0.4/
2. Configura mod_perl con Apache2
Specifica la posizione della tua installazione di Apache 2 su mod_perl come mostrato di seguito.
# perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs Reading Makefile.PL args from @ARGV MP_APXS = /usr/local/apache2/bin/apxs no conflicting prior mod_perl version found - good. Configuring Apache/2.2.15 mod_perl/2.0.4 Perl/v5.8.8 Checking if your kit is complete... Looks good Writing Makefile for ModPerl Writing Makefile for ModPerl::XS Writing Makefile for mod_perl2
Nota:se incontri il file “libgdbm.so non è stato trovato. Potresti semplicemente collegarlo in modo simbolico al messaggio /usr/lib/libgdbm.so.2.0.0", installare il pacchetto gdbm-devel come mostrato di seguito.
# rpm -ivh gdbm-devel-1.8.0-26.2.1.i386.rpm # rpm -qa | grep gdbm gdbm-devel-1.8.0-26.2.1 gdbm-1.8.0-26.2.1
In questa fase, mod_perl non è ancora installato, cosa che puoi verificare controllando il contenuto della directory dei moduli di Apache 2.
# /usr/local/apache2/bin/apxs -q LIBEXECDIR /usr/local/apache2/modules # ls -l /usr/local/apache2/modules/ total 16512 -rw-r--r-- 1 root root 9083 May 18 09:59 httpd.exp -rwxr-xr-x 1 root root 16871365 May 19 03:44 libphp5.so
3. Crea e installa mod_perl
Per prima cosa, fai un make test per assicurarti che sia tutto a posto.
# make test t/special_blocks.t ... ok All tests successful. Files=20, Tests=84, 14 wallclock secs ( 0.17 usr 0.06 sys + 9.10 cusr 1.46 csys = 10.79 CPU) Result: PASS
Infine, esegui un'installazione make per installare mod_perl su Apache2.
# make install Installing /usr/share/man/man3/Apache::TestReport.3pm Installing /usr/share/man/man3/ModPerl::Global.3pm Installing /usr/bin/mp2bug Appending installation info to /usr/lib/perl5/5.8.8/i386-linux-thread-multi/perllocal.pod +--------------------------------------------------------------+ | | | For details on getting started with mod_perl 2, see: | | | | http://perl.apache.org/docs/2.0/user/intro/start_fast.html | | | | | | Found a bug? File a bug report: | | | | http://perl.apache.org/bugs/ | | | +--------------------------------------------------------------+
4. Modifica httpd.conf e riavvia Apache
Modifica httpd.conf per caricare mod_perl.so come mostrato di seguito
# grep perl /usr/local/apache2/conf/httpd.conf LoadModule perl_module modules/mod_perl.so
Riavvia l'Apache.
# /usr/local/apache2/bin/apachectl restart
5. Verifica che mod_perl sia installato
Se tutto procede senza intoppi, vedrai mod_perl.so nella directory dei moduli di apache.
# ls -l /usr/local/apache2/modules/ total 17752 -rw-r--r-- 1 root root 9083 May 18 09:59 httpd.exp -rwxr-xr-x 1 root root 16871365 May 19 03:44 libphp5.so -rwxr-xr-x 1 root root 1264743 Jun 21 10:01 mod_perl.so
Apache error_log mostrerà anche che mod_perl è installato come mostrato di seguito.
# tail /usr/local/apache2/logs/error_log [notice] Apache/2.2.15 (Unix) PHP/5.3.2 mod_perl/2.0.4 Perl/v5.8.8 configured