Si vous exécutez une application Web open source écrite en perl, vous devez utiliser mod_perl avec Apache au lieu de l'exécuter en tant que CGI. mod_perl est bien plus rapide que d'exécuter une application Web en utilisant CGI.
Cet article explique comment installer mod_perl sur Apache 2.
Tout d'abord, installez Apache 2, si vous ne l'avez pas déjà.
1. Télécharger mod_perl
Téléchargez mod_perl depuis perl.apache.org comme indiqué ci-dessous.
# 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. Configurer mod_perl avec Apache2
Spécifiez l'emplacement de votre installation d'Apache 2 dans le mod_perl comme indiqué ci-dessous.
# 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
Remarque :Si vous rencontrez le message "libgdbm.so introuvable. Vous pouvez simplement le lier symboliquement au message /usr/lib/libgdbm.so.2.0.0", installer le paquet gdbm-devel comme indiqué ci-dessous.
# 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
A ce stade, le mod_perl n'est toujours pas installé, ce que vous pouvez vérifier en vérifiant le contenu du répertoire des modules d'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. Créer et installer le mod_perl
Tout d'abord, faites un test de fabrication pour vous assurer que tout semble bon.
# 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
Enfin, faites un make install pour installer le mod_perl sur 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. Modifiez httpd.conf et redémarrez Apache
Modifiez le httpd.conf pour charger le mod_perl.so comme indiqué ci-dessous
# grep perl /usr/local/apache2/conf/httpd.conf LoadModule perl_module modules/mod_perl.so
Redémarrez Apache.
# /usr/local/apache2/bin/apachectl restart
5. Vérifiez que mod_perl est installé
Si tout se passe bien, vous verrez mod_perl.so sous le répertoire des modules 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 montrera également que mod_perl est installé comme indiqué ci-dessous.
# 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