Si está ejecutando cualquier aplicación de código abierto basada en la web que esté escrita en perl, debería usar mod_perl con Apache en lugar de ejecutarlo como CGI. mod_perl es mucho más rápido que ejecutar una aplicación web usando CGI.
Este artículo explica cómo instalar mod_perl en Apache 2.
Primero, instale Apache 2, si aún no lo tiene.
1. Descargar mod_perl
Descargue mod_perl de perl.apache.org como se muestra a continuación.
# 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. Configurar mod_perl con Apache2
Especifique la ubicación de su instalación de Apache 2 en mod_perl como se muestra a continuación.
# 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:Si encuentra el mensaje “libgdbm.so no se encontró. Simplemente podría vincularlo al mensaje /usr/lib/libgdbm.so.2.0.0”, instalar el paquete gdbm-devel como se muestra a continuación.
# 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
En esta etapa, mod_perl aún no está instalado, lo cual puede verificar verificando el contenido del directorio de módulos de 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. Cree e instale el mod_perl
Primero, haz una prueba para asegurarte de que todo se vea bien.
# 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
Finalmente, haga una instalación para instalar mod_perl en 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. Modifique httpd.conf y reinicie Apache
Modifique httpd.conf para cargar mod_perl.so como se muestra a continuación
# grep perl /usr/local/apache2/conf/httpd.conf LoadModule perl_module modules/mod_perl.so
Reinicie Apache.
# /usr/local/apache2/bin/apachectl restart
5. Verifique que mod_perl esté instalado
Si todo va bien, verá mod_perl.so en el directorio de módulos de 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 también mostrará que mod_perl está instalado como se muestra a continuación.
# 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