Traducido desde el projecto:
- mod_perl junta el poder completo del lenguaje de programación Perl y el Servidor HTTP Apache. Puede usar Perl para administrar Apache, responder a peticiones de las paginas webs y mucho más.
Instalación
Instale en paquete mod_perlAUR.
Configuración
Cargue el modulo a través del archivo de configuración de Apache httpd.conf:
LoadModule perl_module modules/mod_perl.so
Permita a Perl ejecutar scripts en ciertos directorios
Hay dos maneras posibles para habilitar el modulo mod_perl:
Utilizando hosts virtuales
Añada un host virtual con la siguiente configuración. Por ejemplo:
/etc/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost perlwebtest:80> Servername perlwebtest DocumentRoot /srv/http/perlwebtest ErrorLog /var/log/httpd/perlwebtest-error.log CustomLog /var/log/httpd/perlwebtest-access.log combined <Directory /srv/http/perlwebtest> AddHandler perl-script .pl PerlResponseHandler ModPerl::Registry Options +ExecCGI PerlOptions +ParseHeaders AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
Asegúrese que /etc/httpd/conf/httpd.conf incluya el host virtual creado:
Include conf/extra/httpd-vhosts.conf
Asegúrese que no tenga la opción Options Indexes FollowSymLinks.
Añada «perlwebtest» como host local en /etc/hosts, usando el hostname de la maquina en sunombredehost:
127.0.0.1 localhost sunombredehost perlwebtest
En un subdirectorio
Añada lo siguiente en su archivo de configuración principal:
/etc/httpd/conf/httpd.conf
Alias /perlwebtest/ /srv/http/perlwebtest/
<Location /perlwebtest/>
AddHandler perl-script .pl
AddHandler perl-script .cgi
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
Order allow,deny
Allow from all
</Location>
Habilite Perl en los listados de directorios
Cree /etc/httpd/conf/extra/perl_module.conf:
# Módulos requeridos: dir_module, perl_module
<IfModule dir_module>
<IfModule perl_module>
DirectoryIndex index.pl index.html
</IfModule>
</IfModule>
E incluyalo en /etc/httpd/conf/httpd.conf:
# Perl Include conf/extra/perl_module.conf
Pruebelo
Cree index.pl en /srv/http/perlwebtest:
#!/usr/bin/perl print "Content-type: text/plain\n\n"; print "mod_perl now works\n";
Reinicie el servicio httpd.service de Apache y haga que recargue su configuración.
Finalmente, dependiendo en la configuración alternativa elegida, visite: