Pokud používáte jakoukoli webovou aplikaci s otevřeným zdrojovým kódem, která je napsána v perlu, měli byste používat mod_perl s Apache místo toho, abyste jej spouštěli jako CGI. mod_perl je mnohem rychlejší než spouštění webové aplikace pomocí CGI.
Tento článek vysvětluje, jak nainstalovat mod_perl na Apache 2.
Nejprve si nainstalujte Apache 2, pokud jej ještě nemáte.
1. Stáhněte si mod_perl
Stáhněte si mod_perl z perl.apache.org, jak je uvedeno níže.
# 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. Nakonfigurujte mod_perl pomocí Apache2
Zadejte umístění vaší instalace Apache 2 do mod_perl, jak je uvedeno níže.
# 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
Poznámka:Pokud narazíte na soubor „libgdbm.so nebyl nalezen. Můžete jej pouze symbolicky propojit se zprávou /usr/lib/libgdbm.so.2.0.0” a nainstalovat balíček gdbm-devel, jak je ukázáno níže.
# 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
V této fázi není mod_perl stále nainstalován, což můžete ověřit kontrolou obsahu adresáře modulů 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. Vytvořte a nainstalujte mod_perl
Nejprve proveďte zkušební test, abyste se ujistili, že vše vypadá dobře.
# 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
Nakonec proveďte make install pro instalaci mod_perl na 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. Upravte httpd.conf a restartujte Apache
Upravte soubor httpd.conf, aby se načetl mod_perl.so, jak je uvedeno níže
# grep perl /usr/local/apache2/conf/httpd.conf LoadModule perl_module modules/mod_perl.so
Restartujte Apache.
# /usr/local/apache2/bin/apachectl restart
5. Ověřte, zda je nainstalován mod_perl
Pokud vše půjde hladce, uvidíte mod_perl.so v adresáři modulů 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 také ukáže, že mod_perl je nainstalován, jak je uvedeno níže.
# 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