Wenn Sie eine webbasierte Open-Source-Anwendung ausführen, die in Perl geschrieben ist, sollten Sie mod_perl mit Apache verwenden, anstatt es als CGI auszuführen. mod_perl ist viel schneller als das Ausführen einer Webanwendung mit CGI.
Dieser Artikel erklärt, wie man mod_perl auf Apache 2 installiert.
Installieren Sie zuerst Apache 2, falls Sie es noch nicht haben.
1. Laden Sie mod_perl
herunterLaden Sie mod_perl von perl.apache.org wie unten gezeigt herunter.
# 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. Konfigurieren Sie mod_perl mit Apache2
Geben Sie den Speicherort Ihrer Apache 2-Installation für mod_perl an, wie unten gezeigt.
# 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
Hinweis:Wenn Sie auf „libgdbm.so was not found. Sie könnten es einfach mit der Nachricht /usr/lib/libgdbm.so.2.0.0 verlinken, installieren Sie das Paket gdbm-devel wie unten gezeigt.
# 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
Zu diesem Zeitpunkt ist mod_perl noch nicht installiert, was Sie überprüfen können, indem Sie den Inhalt des Apache 2-Modulverzeichnisses überprüfen.
# /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. Erstellen und installieren Sie mod_perl
Führen Sie zuerst einen Make-Test durch, um sicherzustellen, dass alles gut aussieht.
# 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
Führen Sie abschließend ein make install durch, um mod_perl auf Apache2 zu installieren.
# 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. Ändern Sie httpd.conf und starten Sie Apache neu
Modifizieren Sie die httpd.conf, um die mod_perl.so wie unten gezeigt zu laden
# grep perl /usr/local/apache2/conf/httpd.conf LoadModule perl_module modules/mod_perl.so
Starten Sie den Apache neu.
# /usr/local/apache2/bin/apachectl restart
5. Überprüfen Sie, ob mod_perl installiert ist
Wenn alles glatt läuft, sehen Sie mod_perl.so im Apache-Module-Verzeichnis.
# 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 zeigt auch, dass mod_perl installiert ist, wie unten gezeigt.
# 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